Connector guide11-minute read45 MCP tools7 languages

How to Connect Zoho Books to Gemini via MCP

Let your AI work in Zoho Books: look up and manage customers, vendors and items, create, email, mark as sent and void invoices, create estimates, record customer payments, bills and expenses, and read the chart of accounts, account ledgers and bank transactions. Any Zoho data center, Zoho OAuth sign-in.

HCBy HelpCode teamUpdated 11 min read Open-source on GitHub

No credit card · 7-day trial · Self-host alternative available

Zoho Books

Zoho Books

Let your AI work in Zoho Books: look up and manage customers, vendors and items, create, email, mark as sent and void invoices, create estimates, record customer payments, bills and expenses, and read the chart of accounts, account ledgers and bank transactions. Any Zoho data center, Zoho OAuth sign-in.

tools

45

Region

INTL

Category

Accounting

Authentication

OAuth 2.0

Required env vars

ZOHO_BOOKS_CLIENT_IDZOHO_BOOKS_CLIENT_SECRETZOHO_BOOKS_ORGANIZATION_IDZOHO_BOOKS_ACCOUNTS_URLZOHO_BOOKS_API_URL
Install in one click on Cloud

7-day free trial · No credit card

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source · AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

Skip the install. Get this working in under 2 minutes.

Start a free trial on cloud.anythingmcp.com, add the Zoho Books in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.

Start free trial

Summary

Let your AI work in Zoho Books: look up and manage customers, vendors and items, create, email, mark as sent and void invoices, create estimates, record customer payments, bills and expenses, and read the chart of accounts, account ledgers and bank transactions. Any Zoho data center, Zoho OAuth sign-in.

Try asking

Example prompts for Zoho Books

Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.

Zoho Books · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Zoho Books, paste your credentials, mint an MCP API key and you're done. No Docker, no git clone, no local server.

Zoho Books + Gemini

Let your AI work in Zoho Books: look up and manage customers, vendors and items, create, email, mark as sent and void invoices, create estimates, record customer payments, bills and expenses, and read the chart of accounts, account ledgers and bank transactions. Any Zoho data center, Zoho OAuth sign-in.

Prerequisites

See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:

ZOHO_BOOKS_CLIENT_ID, ZOHO_BOOKS_CLIENT_SECRET, ZOHO_BOOKS_ORGANIZATION_ID, ZOHO_BOOKS_ACCOUNTS_URL, ZOHO_BOOKS_API_URL

Step 1 — Get credentials

  1. Find your Zoho data center: it shows in the address bar when you use Zoho Books (for example books.zoho.eu or books.zoho.com). Set ZOHO_BOOKS_ACCOUNTS_URL and ZOHO_BOOKS_API_URL to that data center, without a trailing slash: https://accounts.zoho.eu and https://www.zohoapis.eu for the EU, https://accounts.zoho.com and https://www.zohoapis.com for the US. India, Australia, Japan, Saudi Arabia, the UAE and China follow the same pattern (.in, .com.au, .jp, .sa, .ae, .com.cn); Canada uses https://accounts.zohocloud.ca and https://www.zohoapis.ca.
  2. Open the Zoho API Console at api-console.zoho.com, signed in with your Zoho account, and choose Add Client → Server-based Applications.
  3. Give the client a name (for example AnythingMCP), your company site as homepage URL and https://cloud.anythingmcp.com/api/mcp-oauth/callback as Authorized Redirect URI. If you host AnythingMCP yourself, enter https://your-anythingmcp-host/api/mcp-oauth/callback instead. Create the client.
  4. On the Client Secret tab, copy the Client ID (it starts with 1000.) and the Client Secret into ZOHO_BOOKS_CLIENT_ID and ZOHO_BOOKS_CLIENT_SECRET. If your Books organization lives in another data center than the one the console opened in, enable that data center on the client's Settings tab (Multi-DC) and use the client secret shown there for it.
  5. Find the organization ID: in Zoho Books, click the organization name (top right) and open Manage Organizations; the ID is shown next to each organization. Paste the digits into ZOHO_BOOKS_ORGANIZATION_ID. One connector works with one organization; install it again for a second one.
  6. Install the connector, click Authorize with Provider on the connector page, sign in to Zoho and approve the requested access.
  7. Run zoho_books_list_organizations and check that your organization ID is listed, then zoho_books_get_organization to confirm the name and base currency before the AI reads or writes anything.

Staying signed in: access tokens last an hour and are renewed automatically with the stored refresh token, which does not expire unless it is revoked. Zoho keeps at most 20 refresh tokens per user and client: authorizing the same client a 21st time, in AnythingMCP or elsewhere, silently revokes the oldest one. If the connector loses its sign-in, click Authorize with Provider again.

Permissions and read-only setup: the connector asks for ZohoBooks.settings.ALL, ZohoBooks.contacts.ALL, ZohoBooks.invoices.ALL, ZohoBooks.estimates.ALL, ZohoBooks.customerpayments.ALL, ZohoBooks.bills.ALL, ZohoBooks.expenses.ALL, ZohoBooks.accountants.READ, ZohoBooks.banking.READ. Items, taxes and organization settings fall under ZohoBooks.settings, the chart of accounts under ZohoBooks.accountants. It works as the Zoho user who authorized it, within that user's role. For a read-only setup, change every .ALL to .READ in the connector's OAuth settings, authorize again and switch off zoho_books_create_contact, zoho_books_update_contact, zoho_books_mark_contact_inactive, zoho_books_create_item, zoho_books_update_item, zoho_books_mark_item_inactive, zoho_books_create_invoice, zoho_books_email_invoice, zoho_books_mark_invoice_sent, zoho_books_void_invoice, zoho_books_mark_invoice_draft, zoho_books_create_estimate, zoho_books_create_customer_payment, zoho_books_create_bill and zoho_books_create_expense.

Switched off at install: the delete tools zoho_books_delete_contact, zoho_books_delete_invoice, zoho_books_delete_estimate, zoho_books_delete_customer_payment, zoho_books_delete_bill and zoho_books_delete_expense. A deleted record cannot be restored, so turn one on only if the AI should really delete that kind of record.

Writes are real: zoho_books_email_invoice emails the customer from your organization, zoho_books_mark_invoice_sent and zoho_books_void_invoice change the books, and zoho_books_create_customer_payment, zoho_books_create_bill and zoho_books_create_expense post to the ledger. The AI says what it is about to book or send and waits for your yes. Recording a customer payment is bookkeeping only: no money is collected.

Invoices and corrections: a new invoice is a draft numbered by your organization's auto-numbering, and it is only emailed if you ask for it to go out at once. Zoho refuses to delete a sent invoice: void it with zoho_books_void_invoice instead. A void invoice stays on record, as bookkeeping rules such as Germany's GoBD expect, and zoho_books_mark_invoice_draft turns it back into an editable draft to correct and reissue.

Totals and balances: Zoho does not document a reports API for Books. For totals the AI reads balances from the chart of accounts, the bookings of one account with zoho_books_list_account_transactions, or lists filtered by date.

Limits: 100 requests per minute per organization and, per day, 1,000 on Free, 2,000 on Standard, 5,000 on Professional and 10,000 on Premium and above. Over a limit Zoho answers 429 (code 44 per minute, 45 per day): wait a minute, or until the next day.

Common errors: invalid_client at sign-in or an empty organization list means the two URLs are not your data center. 401 code 57 ("You are not authorized to perform this operation") or invalid_oauthtoken means the sign-in lacks a scope, was revoked, or ZOHO_BOOKS_API_URL is the wrong data center: check both URLs, then click Authorize with Provider again. 400 or 404 naming the organization means ZOHO_BOOKS_ORGANIZATION_ID is wrong or not visible to this user: compare it with zoho_books_list_organizations. Other 400 errors name the field (a duplicate name, an invalid value, a missing required field). Code 4529 means a sent invoice cannot be deleted: void it. Code 3000 when deleting a contact means invoices or payments still refer to it: use zoho_books_mark_contact_inactive.

The connector does not handle sales orders, purchase orders, credit notes, vendor payments, journals, projects, recurring invoices, attachments or PDFs.

Step 2 — Install the adapter

curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d

Step 3 — Add the connector in Gemini

Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide shows YOUR_SERVER_ID.

Gemini CLI reads MCP servers from ~/.gemini/settings.json (on Windows %USERPROFILE%\.gemini\settings.json). Add:

{
  "mcpServers": {
    "anythingmcp": {
      "httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
      "headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
    }
  }
}
  1. Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of YOUR_MCP_API_KEY.
  2. Save the file and restart gemini.
  3. Run /mcp inside Gemini CLI (or gemini mcp list in your shell): anythingmcp should show as connected.
  4. Start prompting: Gemini CLI can now call the Zoho Books tools.

Available tools

ToolWhat it does
zoho_books_list_organizationsList the Zoho Books organizations this sign-in can reach: organization_id, name, country, currency, time zone and whether it is the default
zoho_books_get_organizationRead the connected organization: name, address, base currency, fiscal year start, time zone, tax settings and contact details
zoho_books_list_contactsList contacts (customers and vendors) with contact_id, name, company, email, status and outstanding receivables or payables
zoho_books_get_contactRead one contact with addresses, contact persons, payment terms, currency, balances and custom fields
zoho_books_create_contactCreate a customer or vendor
zoho_books_update_contactUpdate a contact
zoho_books_mark_contact_inactiveMark a contact inactive: it stays in the books but is hidden from lists and cannot be used on new transactions
zoho_books_delete_contactDelete a contact for good
zoho_books_list_itemsList items (products and services) with item_id, name, SKU, rate, unit, tax and status
zoho_books_get_itemRead one item with selling and purchase prices, accounts, tax, unit and stock details
zoho_books_create_itemCreate an item (product or service)
zoho_books_update_itemUpdate an item
zoho_books_mark_item_inactiveMark an item inactive so it can no longer be added to new documents
zoho_books_list_invoicesList invoices with invoice_id, number, customer, status, date, due date, total and balance
zoho_books_get_invoiceRead one invoice with line items, taxes, totals, balance, payments, customer and status
zoho_books_create_invoiceCreate an invoice (a draft, unless send is true, which also emails it to the customer: confirm that with the user first)
zoho_books_email_invoiceEmail an invoice to the customer from the organization, with the invoice attached
zoho_books_mark_invoice_sentMark a draft invoice as sent without emailing it (for invoices delivered another way)
zoho_books_void_invoiceVoid an invoice: it stays on record with status void but no longer counts as receivable or revenue
zoho_books_mark_invoice_draftTurn a void invoice back into a draft, for example to correct and reissue it
zoho_books_delete_invoiceDelete an invoice for good: only a draft without recorded payments
zoho_books_list_estimatesList estimates (quotes) with estimate_id, number, customer, status, date, expiry date and total
zoho_books_get_estimateRead one estimate with line items, taxes, totals and status
zoho_books_create_estimateCreate an estimate (quote) as a draft
zoho_books_delete_estimateDelete an estimate (quote) for good; it cannot be restored
zoho_books_list_customer_paymentsList payments received from customers with payment_id, customer, date, amount, payment mode and the invoices they paid
zoho_books_get_customer_paymentRead one customer payment with the invoices it was applied to
zoho_books_create_customer_paymentRecord a payment received from a customer and apply it to invoices (bookkeeping only; no money is collected)
zoho_books_delete_customer_paymentDelete a recorded customer payment; the invoices become unpaid again
zoho_books_list_billsList bills (vendor invoices) with bill_id, number, vendor, status, date, due date, total and balance
zoho_books_get_billRead one bill with line items, accounts, taxes, totals, balance and payments
zoho_books_create_billRecord a bill received from a vendor (it posts to the ledger as payable)
zoho_books_delete_billDelete a bill for good (only without recorded payments)
zoho_books_list_expensesList expenses with expense_id, date, account, amount, vendor, customer and status (billable, invoiced, ...)
zoho_books_get_expenseRead one expense with account, paid-through account, tax, vendor, customer and receipts
zoho_books_create_expenseRecord an expense paid from a bank, cash or credit card account (it posts to the ledger)
zoho_books_delete_expenseDelete an expense for good; its ledger postings are removed
zoho_books_list_chart_of_accountsList the chart of accounts: account_id, name, code, type (asset, liability, equity, income, expense, bank, cash, ...), active flag and…
zoho_books_get_accountRead one account of the chart of accounts: name, code, type, currency, description and balance
zoho_books_list_account_transactionsList the transactions booked on one account (invoices, payments, bills, expenses, journals) with date, debit, credit and reference: a…
zoho_books_list_bank_accountsList bank, cash and credit card accounts with account_id, name, type, currency, balance and bank name
zoho_books_get_bank_accountRead one bank or credit card account with balance and bank details
zoho_books_list_bank_transactionsList bank transactions (deposits, withdrawals, transfers and feed lines) with date, amount, type, status (categorized, uncategorized…
zoho_books_get_bank_transactionRead one bank transaction with its accounts, amounts and the documents it is matched to
zoho_books_list_taxesList the organization's taxes and tax groups with tax_id, name, percentage and type, for line items and expenses

Example prompts

  • "Which invoices are overdue, and how much does each customer still owe?"
  • "Show me the balance of our Office Supplies expense account and every booking on it in September."
  • "Create a draft invoice for Acme Ltd: 12 hours of Consulting at 95 EUR, due in 14 days. Don't send it yet."
  • "Record today's bank transfer of 1,140 EUR from Acme Ltd as a payment against invoice INV-000123."

FAQ

Where does Gemini CLI look for MCP servers? In ~/.gemini/settings.json for your user, or in .gemini/settings.json inside a project. gemini mcp list shows each server and whether it connects.

Next steps

Was this guide helpful?

Your Zoho Books agent is one click away.

Install the connector, paste the key, prompt Gemini. Free for 7 days, no credit card.

Related guides

Connectors

How to Connect Zoho Books to ChatGPT via MCP

Let your AI work in Zoho Books: look up and manage customers, vendors and items, create, email, mark as sent and void invoices, create estimates, record customer payments, bills and expenses, and read the chart of accounts, account ledgers and bank transactions. Any Zoho data center, Zoho OAuth sign-in.

Connectors

How to Connect Zoho Books to Claude via MCP

Let your AI work in Zoho Books: look up and manage customers, vendors and items, create, email, mark as sent and void invoices, create estimates, record customer payments, bills and expenses, and read the chart of accounts, account ledgers and bank transactions. Any Zoho data center, Zoho OAuth sign-in.

Connectors

How to Connect Zoho Books to Cursor via MCP

Let your AI work in Zoho Books: look up and manage customers, vendors and items, create, email, mark as sent and void invoices, create estimates, record customer payments, bills and expenses, and read the chart of accounts, account ledgers and bank transactions. Any Zoho data center, Zoho OAuth sign-in.

Connectors

How to Connect Zoho Books to Meta Muse via MCP

Let your AI work in Zoho Books: look up and manage customers, vendors and items, create, email, mark as sent and void invoices, create estimates, record customer payments, bills and expenses, and read the chart of accounts, account ledgers and bank transactions. Any Zoho data center, Zoho OAuth sign-in.

Connectors

Zoho Books to MCP: Drive Zoho Books from any AI Agent

Let your AI work in Zoho Books: look up and manage customers, vendors and items, create, email, mark as sent and void invoices, create estimates, record customer payments, bills and expenses, and read the chart of accounts, account ledgers and bank transactions. Any Zoho data center, Zoho OAuth sign-in.

Connectors

How to Connect Canva to Gemini via MCP

Let your AI work in Canva: find and read designs, create new ones, export them to PDF, PNG, PowerPoint or video with download links, organise folders, upload images from a link, read brand templates and comment on designs.