> ## Documentation Index
> Fetch the complete documentation index at: https://docs.routemcp.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Zoho Books

> Sync invoices, bills, contacts, accounts, payments, journal entries, items, projects, sales orders, and bank feed accounts with Zoho Books via OAuth 2.0 across all regional datacenters.

<img src="https://icon.horse/icon/books.zoho.com" alt="Zoho Books" style={{ width: "48px", height: "48px", marginBottom: "16px" }} />

## Overview

| Property    | Value                                                          |
| ----------- | -------------------------------------------------------------- |
| Slug        | `zoho-books`                                                   |
| Auth        | OAuth 2.0                                                      |
| API version | v3                                                             |
| Sandbox     | No dedicated sandbox — use a free Zoho Books test organization |
| Rate limit  | 100 req/min per org + 1k–10k req/day per plan                  |
| Regions     | `.com` (US) · `.eu` · `.in` · `.com.au` · `.ca` · `.jp`        |

## Supported resources

| Resource                   | List                                      | Get                                       | Create                                    | Update                                    | Delete                                    |
| -------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
| Invoice                    | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Contact                    | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Account                    | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Payment                    | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Tax Rate                   | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |
| Journal Entry              | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Expense                    | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Purchase Order             | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Sales Order                | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Credit Note                | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Vendor Credit              | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Item                       | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Tracking Category          | —                                         | —                                         | —                                         | —                                         | —                                         |
| Company Info               | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | —                                         | <span style={{color: "#16a34a"}}>✓</span> | —                                         |
| Employee                   | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |
| Transaction                | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |
| Bank Feed Account          | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Bank Feed Transaction      | —                                         | —                                         | —                                         | —                                         | —                                         |
| Balance Sheet              | —                                         | —                                         | —                                         | —                                         | —                                         |
| Income Statement           | —                                         | —                                         | —                                         | —                                         | —                                         |
| Attachment                 | —                                         | —                                         | —                                         | —                                         | —                                         |
| Address                    | —                                         | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |
| Phone Number               | —                                         | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |
| Accounting Period          | —                                         | —                                         | —                                         | —                                         | —                                         |
| Payment Method             | —                                         | —                                         | —                                         | —                                         | —                                         |
| Payment Term               | —                                         | —                                         | —                                         | —                                         | —                                         |
| Cash Flow Statement        | —                                         | —                                         | —                                         | —                                         | —                                         |
| General Ledger Transaction | —                                         | —                                         | —                                         | —                                         | —                                         |
| Expense Report             | —                                         | —                                         | —                                         | —                                         | —                                         |
| Item Fulfillment           | —                                         | —                                         | —                                         | —                                         | —                                         |
| Project                    | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |

## Connect setup

Zoho Books uses OAuth 2.0. You need an app registered in the **Zoho API Console** for the region your end users live in — Zoho serves each datacenter from a distinct OAuth host.

<Steps>
  <Step title="Pick the right region">
    Zoho operates independent datacenters per region (`.com`, `.eu`, `.in`, `.com.au`, `.ca`, `.jp`). The end user's organization lives in exactly one — register your app in that region's [Zoho API Console](https://api-console.zoho.com/) and they will all log in there.
  </Step>

  <Step title="Create a Zoho server-based application">
    In the API Console choose **Server-based Applications**. Copy the **Client ID** and **Client Secret**.
  </Step>

  <Step title="Add the redirect URL">
    Add the following Authorized Redirect URI:

    ```
    https://api.routemcp.io/api/v1/auth/callback
    ```
  </Step>

  <Step title="Configure required scopes">
    Enable the following scopes on your app:

    * `ZohoBooks.contacts.ALL`
    * `ZohoBooks.invoices.ALL`
    * `ZohoBooks.bills.ALL`
    * `ZohoBooks.purchaseorders.ALL`
    * `ZohoBooks.debitnotes.ALL`
    * `ZohoBooks.expenses.ALL`
    * `ZohoBooks.accountants.ALL`
    * `ZohoBooks.settings.ALL`
    * `ZohoBooks.banking.ALL`
    * `ZohoBooks.projects.ALL`
  </Step>

  <Step title="Connect via the widget">
    When the end user opens the Connect widget they pick their **datacenter region**, then enter your Client ID and Client Secret. RouteMCP routes every subsequent API call to the matching `zohoapis.<region>` host automatically — no per-request config needed.
  </Step>
</Steps>

## Usage

```bash theme={null}
# List sales invoices (AR) from Zoho Books
curl "https://api.routemcp.io/api/v1/accounting/invoice?provider=zoho-books" \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "X-End-User-Id: user-123"

# Create a bill (AP) — set type=ACCOUNTS_PAYABLE; the adapter fans out to /bills
curl -X POST "https://api.routemcp.io/api/v1/accounting/invoice?provider=zoho-books" \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "Content-Type: application/json" \
  -H "X-End-User-Id: user-123" \
  -d '{
    "type": "ACCOUNTS_PAYABLE",
    "contact": "urn:zoho-books:contact:3827299000000037005",
    "issue_date": "2026-05-21",
    "due_date": "2026-06-20",
    "line_items": [
      { "description": "Consulting", "quantity": 1, "unit_price": 500, "item": "urn:zoho-books:item:3827299000000067008" }
    ]
  }'

# Archive an Item (Zoho routes through /items/{id}/inactive automatically)
curl -X PATCH "https://api.routemcp.io/api/v1/accounting/item/urn:zoho-books:item:3827299000000067008?provider=zoho-books" \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "Content-Type: application/json" \
  -H "X-End-User-Id: user-123" \
  -d '{ "status": "ARCHIVED" }'

# Fetch a contact and use its inline composite address id
curl "https://api.routemcp.io/api/v1/accounting/address/urn:zoho-books:address:MzgyNzI5OTAwMDAwMDAzNzAwNV9fQklMTElORw?provider=zoho-books" \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "X-End-User-Id: user-123"
```

## Notes

* Pass `type: "ACCOUNTS_PAYABLE"` on `invoice` create to write a bill, and the same pattern on `credit_note` / `vendor_credit`. For vendor contacts, set `is_supplier: true`.
* `address` and `phone_number` ids are discoverable inline on `contact.addresses[].id` and `contact.phone_numbers[].id`.
* The `datacenter` field set during connection determines all regional API and auth endpoints automatically — no extra config needed per request.
* The currency for invoice / bill / payment / credit note / etc. is inherited from the linked contact's currency. Send a `currency` value only when overriding the customer/vendor default explicitly.
