ml-connector
Zoho BooksCin7

Zoho Books and Cin7 integration

Zoho Books handles accounting and financial records. Cin7 Core handles inventory and order management. Connecting the two keeps your books and your supply chain in sync. Purchase orders and supplier invoices from Cin7 flow into Zoho Books as bills, mapped to the correct vendor contacts. Sales orders and customer invoices flow the same way, ensuring your Chart of Accounts reflects the full order lifecycle without re-keying.

How Zoho Books works

Zoho Books is a cloud-based accounting platform using REST APIs with regional base URLs (US, EU, India, Australia, Japan, Canada, China, Saudi Arabia). Authentication uses OAuth2 with user-delegated refresh tokens and an organization ID query parameter required on every call. Access tokens valid for 1 hour. The platform exposes contacts, invoices, bills, purchase orders, vendor payments, customer payments, items, Chart of Accounts, journals, and expenses. Zoho Books supports webhooks for real-time events and polling via offset-based pagination (page, per_page parameters). Rate limit is 100 requests per minute.

How Cin7 works

Cin7 Core is a cloud SaaS inventory and order management ERP platform using REST APIs over HTTPS. Authentication uses custom API key headers (api-auth-accountid and api-auth-applicationkey) rather than OAuth2. The platform exposes suppliers, purchases, sales, sale payments, customers, products, product availability, and Chart of Accounts. Cin7 supports webhooks for outbound events (Sale, Purchase, Supplier, Customer, Stock changes) and polling via list endpoints. The Chart of Accounts is read-only via API. Purchases cover the full procure-to-pay lifecycle via an Approach field (ORDER, INVOICE, RECEIVE).

What moves between them

The main flow runs from Cin7 into Zoho Books. Sales orders and invoices from Cin7 flow into Zoho Books as invoices mapped to customer contacts. Purchase orders and supplier invoices from Cin7 flow into Zoho Books as bills mapped to vendor contacts. Both directions sync customer and supplier contacts so contact records stay aligned. Chart of Accounts is read from both systems to validate GL posting targets. The integration runs on a schedule you control, typically daily or weekly, with webhook events triggering real-time syncs where enabled.

How ml-connector handles it

ml-connector stores both credential sets encrypted and handles the very different authentication schemes: OAuth2 with region routing for Zoho Books and API key headers for Cin7. Before any Zoho Books call, it resolves the correct regional base URL from the token response, injects the organization ID, and refreshes the access token at 55 minutes to avoid expiry during a long sync. It validates contacts exist in Zoho Books before posting orders, creating missing vendors or customers as needed. Cin7 purchases are mapped to Zoho Bills using the Approach field to determine whether to create an order, invoice, or receipt. Cin7 sales are mapped to Zoho Invoices, with customer contact resolution handled first. Line items are matched by product reference, and currency is normalized using Zoho's GET /settings/currencies endpoint. Rate limits are handled with exponential backoff (Zoho's 100/minute, per-key limits on Cin7), and every record carries a full audit trail for replay on failure.

A real-world example

A mid-sized product-based distributor uses Cin7 to manage inventory across three warehouses and Zoho Books for accounting and vendor management. Before the integration, order processors exported Cin7 purchase orders weekly and re-entered them into Zoho Books by hand, then spent hours each month reconciling GL postings and contact lists. With Cin7 and Zoho Books connected, every purchase order and invoice flows into Zoho automatically, mapped to the correct vendor and GL accounts, and customer contacts stay in sync with Cin7. Month-end close starts with orders already recorded and vendor accounts reconciled, eliminating the re-keying step.

What you can do

  • Sync Cin7 purchase orders and invoices into Zoho Books as bills, mapped to vendor contacts and GL accounts.
  • Sync Cin7 sales orders and invoices into Zoho Books as invoices, mapped to customer contacts and GL accounts.
  • Keep vendor and customer contact records aligned between Cin7 and Zoho Books, creating missing contacts as needed.
  • Handle Zoho Books regional endpoint routing, OAuth2 token refresh, organization ID injection, and currency conversion automatically.
  • Poll on a schedule you control with retries, exponential backoff, and a full audit trail on every record.

Questions

How does ml-connector handle Zoho Books regional routing?
Zoho Books publishes separate API endpoints for US, EU, India, Australia, Japan, Canada, China, and Saudi Arabia. ml-connector stores the region in the credential set and routes all calls to the correct base URL determined by the OAuth2 token response. This ensures API calls and webhook validations work correctly regardless of where your Zoho Books organization is hosted.
What happens to purchase orders when they flow from Cin7 into Zoho Books?
Cin7 purchases have an Approach field (ORDER, INVOICE, or RECEIVE) that determines their lifecycle stage. ml-connector maps this to the correct Zoho Books bill status and line items are matched by product reference. Before posting, the integration validates the vendor contact exists in Zoho, creating it if needed, so every bill references a real vendor.
Does the integration support webhooks or only polling?
Both. Zoho Books sends webhooks for invoice, bill, and contact changes, and Cin7 sends webhooks for sales, purchases, and stock events. ml-connector listens for these and triggers real-time syncs where enabled. Polling is also available on a schedule you control, so you can keep both systems in sync even if webhooks are not configured.

Related integrations

Connect Zoho Books and Cin7

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started