# Zoho Books — Accounting API: overview

> Canonical URL: https://developers.apideck.com/apis/accounting/zoho-books/overview

Zoho Books is cloud-based accounting software in which you can record, audit and analyze all financial transactions easily. With secure data storage, easy navigation and customizable features, Zoho Books provide a head start in accounting for small businesses.
- Status: live
- Authentication: oauth2

- **account type required:** Active Zoho Books subscription (Free plan or higher)
- **apideck credentials available:** true
- **apideck credentials note:** For testing: the OAuth consent screen shows "Apideck"; use your own Zoho OAuth client for production.
- **authentication note:** Authorization Code flow.
- **beta:** false
- **consumer access level:** A user with organization-level access in the Zoho Books organization being authorized
- **costs:** Free — Zoho charges nothing for API access on any Zoho Books plan, including the Free plan.
- **difficulty:** straightforward
- **difficulty reason:** Self-Service OAuth, No Partnership Required
- **environment notes:**   - **description:** Zoho Books uses the same credentials for testing and production — there is no distinct-credential sandbox tier. To test, start a free Zoho Books trial at https://www.zoho.com/books/signup/ or add a dedicated test organization to your own Zoho Books account. A dedicated test organization is the safer choice during development, since anything else you connect is live production data.
  - **environment:** Single Environment
- **important to know:** Zoho hosts each organization in one of seven regional data centres (US, EU, IN, AU, JP, CA, SA — verified June 2026). Apideck resolves the right region during authorization.
A Zoho Books account can hold several organizations and each is authorized separately, so a consumer running three organizations needs three connections.
Each consumer's own Zoho Books subscription sets their daily API quota, not yours — you cannot raise it for them. Design syncs around the lowest tier your consumers run on; heavier users unlock more frequent syncs by upgrading their own plan.
Refresh tokens never expire, but Zoho stores at most 20 per user: authorizing a 21st silently revokes the oldest, which can break a long-standing connection with no error or warning.
- **partnership note:** No partner programme — self-service OAuth client registration is free. An optional Zoho Marketplace listing adds discoverability, not API access.
- **partnership required:** false
- **rate limits:** 100 requests/minute per organization; daily cap set by the consumer's plan (1,000 Free to 10,000 Premium); 5 concurrent calls on Free, 10 on paid plans.
- **responsibility matrix:**   - **area:** Create Zoho Developer Account
  - **customer:** ✓ (or use Apideck credentials)
  - **apideck:** Docs provided
  - **area:** Create OAuth Application
  - **customer:** ✓ (or use Apideck credentials)
  - **area:** Add Credentials to Apideck
  - **customer:** ✓ (or use Apideck credentials)
  - **apideck:** Handles OAuth flow
  - **area:** Authorize Connection (OAuth)
  - **consumer:** ✓
  - **area:** Select Organization
  - **consumer:** ✓
  - **apideck:** Maintains connector
  - **area:** Build via Unified API
  - **customer:** ✓
  - **apideck:** ✓ Automatic
  - **area:** Token Refresh
  - **apideck:** Logs & alerts
  - **area:** Monitor Connections
  - **consumer:** ✓ Can revoke anytime
  - **customer:** ✓ Via Dashboard
- **sandbox available:** false
- **sandbox note:** Start a free Zoho Books trial or add a dedicated test organization to your own account; there is no separate sandbox environment.
- **sandbox url:** https://www.zoho.com/books/signup/
- **supported resource categories:**   - **name:** Core Financial
  - **resources:** ledger-accounts
journal-entries
tax-rates
currencies
  - **name:** Accounts Receivable
  - **resources:** invoices
invoice-items
customers
payments
invoices-payments
credit-notes
  - **name:** Accounts Payable
  - **resources:** bills
bill-payments
suppliers
purchase-orders
expenses
  - **name:** Financial Reports
  - **resources:** profit-and-loss
balance-sheet
aged-debtors
aged-creditors
  - **name:** Organization
  - **resources:** organization
projects
- **webhooks:** Virtual webhooks — created/updated/deleted events on 10 resources, including invoices, bills, payments, customers and suppliers.

## Supported resources

[Accounting data model](/guides/accounting-data-model.md)

- **custom field support:** false
- **downstream id:** items
- **downstream name:** Items
- **id:** invoice-items
- **name:** Invoice Items
- **status:** live
- **custom field support:** false
- **downstream id:** bills
- **downstream name:** Bills
- **id:** bills
- **name:** Bills
- **status:** live
- **custom field support:** false
- **downstream id:** credit-notes
- **downstream name:** Credit Notes
- **id:** credit-notes
- **name:** Credit Notes
- **status:** live
- **custom field support:** false
- **downstream id:** vendor-credits
- **downstream name:** Vendor Credits
- **id:** bill-credit-notes
- **name:** Bill Credit Notes
- **status:** beta
- **custom field support:** false
- **downstream id:** contacts-customer
- **downstream name:** Contacts Customer
- **id:** customers
- **name:** Customers
- **status:** live
- **custom field support:** false
- **downstream id:** contacts-vendor
- **downstream name:** Contacts Vendor
- **id:** suppliers
- **name:** Suppliers
- **status:** live
- **custom field support:** false
- **downstream id:** invoices
- **downstream name:** Invoices
- **id:** invoices
- **name:** Invoices
- **status:** live
- **custom field support:** false
- **downstream id:** chart-of-accounts
- **downstream name:** Chart Of Accounts
- **id:** ledger-accounts
- **name:** Ledger Accounts
- **status:** live
- **custom field support:** false
- **downstream id:** taxes
- **downstream name:** Taxes
- **id:** tax-rates
- **name:** Tax Rates
- **status:** live
- **custom field support:** false
- **downstream id:** journals
- **downstream name:** Journals
- **id:** journal-entries
- **name:** Journal Entries
- **status:** live
- **custom field support:** false
- **downstream id:** purchaseorders
- **downstream name:** Purchaseorders
- **id:** purchase-orders
- **name:** Purchase Orders
- **status:** live
- **custom field support:** false
- **downstream id:** customerpayments
- **downstream name:** Customerpayments
- **id:** payments
- **name:** Payments
- **status:** live
- **custom field support:** false
- **downstream id:** vendor-payments
- **downstream name:** Vendor Payments
- **id:** bill-payments
- **name:** Bill Payments
- **status:** live
- **custom field support:** false
- **downstream id:** expenses
- **downstream name:** Expenses
- **id:** expenses
- **name:** Expenses
- **status:** live
- **custom field support:** false
- **downstream id:** projects
- **downstream name:** Projects
- **id:** projects
- **name:** Projects
- **status:** beta
- **custom field support:** false
- **downstream id:** aged-debtors
- **downstream name:** Aged Debtors
- **id:** aged-debtors
- **name:** Aged Debtors
- **status:** beta
- **custom field support:** false
- **downstream id:** aged-creditors
- **downstream name:** Aged Creditors
- **id:** aged-creditors
- **name:** Aged Creditors
- **status:** beta
- **custom field support:** false
- **downstream id:** attachments
- **downstream name:** Attachments
- **id:** attachments
- **name:** Attachments
- **status:** live
- **custom field support:** false
- **downstream id:** profit-and-loss
- **downstream name:** Profit And Loss
- **id:** profit-and-loss
- **name:** ProfitAndLoss
- **status:** live
- **custom field support:** false
- **downstream id:** balance-sheet
- **downstream name:** Balance Sheet
- **id:** balance-sheet
- **name:** BalanceSheet
- **status:** live
- **custom field support:** false
- **downstream id:** trial-balance
- **downstream name:** Trial Balance
- **id:** trial-balance
- **name:** Trial Balance
- **status:** beta
- **custom field support:** true
- **downstream id:** bank-accounts
- **downstream name:** Bank Accounts
- **id:** bank-accounts
- **name:** Bank Accounts
- **status:** beta
- **custom field support:** false
- **downstream id:** bank-feed-accounts
- **downstream name:** Bank Feed Accounts
- **id:** bank-feed-accounts
- **name:** Bank Feed Accounts
- **status:** beta
- **custom field support:** false
- **downstream id:** bank-feed-statements
- **downstream name:** Bank Feed Statements
- **id:** bank-feed-statements
- **name:** Bank Feed Statements
- **status:** beta

An omitted operation list does not establish operation support. Verify the selected operation in the coverage matrix.

[API reference](https://developers.apideck.com/apis/accounting/reference.md) · [Coverage matrix](https://developers.apideck.com/apis/accounting/coverage)
