Zoho Books and Databricks integration
Financial teams need real-time visibility into invoicing, bills, and cash flow. Zoho Books captures the transactions; Databricks provides the compute and governance to analyze them at scale. Connecting Zoho Books to Databricks lets you build a single source of truth for financial data, eliminate manual exports, and power dashboards and reports without re-keying. ml-connector handles the very different APIs on each side and moves the data on a webhook schedule you control.
What moves between them
The main flow is from Zoho Books into Databricks. Invoices, bills, purchase orders, contacts, and customer payments stream from Zoho Books via webhook to ml-connector, which deduplicates events, transforms them to a Databricks schema, and writes them to Delta tables. Item master data, chart of accounts, and currency reference tables are synced as lookup tables. The connector does not write data back to Zoho Books; all writes are unidirectional into Databricks for analysis and reporting.
How ml-connector handles it
ml-connector listens for Zoho Books outgoing webhooks on a configurable endpoint and verifies each webhook's HMAC signature using the configured secret. Upon receiving a webhook event, it extracts the organization_id and routes all subsequent Zoho API calls to the correct regional base URL determined from the organization's region field. Access tokens are refreshed proactively every 55 minutes to avoid expiry during data sync. For duplicate webhook deliveries, ml-connector deduplicates using the BullMQ jobId derived from the webhook event timestamp and entity ID. Each financial record is transformed to a Databricks-compatible schema and inserted into the corresponding Delta table using OAuth2 bearer token authentication to Databricks. Because Databricks has no webhooks for table writes, ml-connector polls Zoho Books periodically for reference data such as chart of accounts, items, and currencies, storing them as managed Delta tables. Every record carries a full audit trail and can be replayed if the Databricks write fails. The connector respects Zoho's 100-requests-per-minute rate limit and backs off on HTTP 429 responses.
A real-world example
A mid-sized SaaS company runs Zoho Books for invoicing customers globally and tracking operating expenses across multiple currencies. The finance team needs to understand revenue by product line, expense trends by cost center, and cash flow forecasts. Before the integration, the controller exported invoices and bills from Zoho each week and uploaded them to a data warehouse tool, a manual process prone to stale data and errors. With Zoho Books and Databricks connected, every invoice and bill flows into Delta tables automatically the moment it is created or paid in Zoho. The company can now build dashboards on top of fresh financial data, run ad hoc queries on the entire transaction history, and consolidate invoices with other operational data in Databricks for holistic business analytics.
What you can do
- Stream Zoho Books invoices, bills, purchase orders, and payments into Databricks Delta tables via webhook.
- Manage OAuth2 token refresh for both Zoho Books and Databricks, handling region-specific endpoints and Service Principal authentication.
- Deduplicate webhook events using BullMQ jobId and verify HMAC signatures with the Zoho Books webhook secret.
- Sync reference data such as chart of accounts, items, and currencies from Zoho Books into managed Delta tables for analytical joins.
- Maintain a complete audit trail and replay capability if a Databricks write fails or a record needs to be corrected.
Questions
- Which direction does data flow between Zoho Books and Databricks?
- Data flows one direction, from Zoho Books into Databricks. Invoices, bills, purchase orders, contacts, and payments are streamed into Delta tables for analysis and reporting. ml-connector does not write data back to Zoho Books; all writes are unidirectional for read-only analytics.
- How does ml-connector handle Zoho Books region-specific endpoints and OAuth2?
- Zoho Books customers are located in a single region (US, EU, India, etc.), and the region is returned in the token response. ml-connector routes all API calls to the correct regional base URL and refreshes the OAuth2 access token proactively every 55 minutes to avoid expiry during data sync. Databricks is authenticated separately using a Service Principal with OAuth2 Client Credentials.
- How are duplicate webhook deliveries handled?
- ml-connector deduplicates Zoho Books webhooks using a combination of the event timestamp and entity ID, stored as a BullMQ jobId. If a webhook is delivered twice, the second delivery is skipped. Every record also carries a full audit trail, so any issues can be traced and corrected manually if needed.
Related integrations
More Zoho Books integrations
Other systems that connect to Databricks
Connect Zoho Books and Databricks
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started