ml-connector
Zoho BooksOrderful

Zoho Books and Orderful integration

Zoho Books holds your invoices, bills, and purchase orders. Orderful delivers EDI documents to your trading partner network. Connecting the two means purchase orders you create in Zoho Books flow to your suppliers as X12 850 documents through Orderful without manual re-entry. ml-connector bridges the authentication and regional differences between Zoho's multi-region OAuth2 API and Orderful's static API key, so each purchase order reaches your suppliers in the format they expect.

How Zoho Books works

Zoho Books exposes invoices, bills, purchase orders, vendor payments, customer payments, contacts, items, chart of accounts, journals, and expenses through a REST API with regional base URLs (US, EU, India, Australia, Japan, Canada, China, Saudi Arabia). Every API call requires OAuth2 authentication with a 1-hour access token and a user-delegated refresh token, and mandates an organization_id query parameter. Zoho Books supports outgoing webhooks configured via Settings or the API, with event types for invoices, bills, purchase orders, and contacts. Webhook signatures are HMAC-verified against a secret. Polling is available via offset-based pagination with per_page and page parameters. Rate limits are 100 requests per minute and a daily limit of 1,000 to 10,000 per organization depending on plan.

How Orderful works

Orderful is a cloud EDI platform that translates and routes EDI documents including purchase orders, invoices, payment orders, and shipment notices to trading partners via REST/JSON API. It uses static API key authentication passed in the orderful-api-key header and does not require OAuth or token refresh. Orderful exposes versioned endpoints (v4 for create/inbox, v3 for list/retrieve) with separate regional base URLs for US and EU. Orderful supports webhooks where it POSTs incoming transactions to your HTTP endpoint, and also supports polling via GET endpoints to retrieve documents from polling buckets. All data is region-specific and not synced across regions. Transactions are routed by ISA identifiers (sender.isaId and receiver.isaId), and a stream field must be set to 'test' in development and 'live' in production.

What moves between them

Purchase orders created or updated in Zoho Books flow into Orderful. ml-connector listens to Zoho Books purchase order webhooks, retrieves the full purchase order record including line items and vendor details, and translates it to X12 850 format in Orderful. The 850 document is then routed to the trading partner through Orderful's multi-channel delivery network (AS2, SFTP, VAN, or HTTP). Line item details map directly from Zoho Books items and amounts. Reference data such as vendor numbers and account codes from Zoho Books contact and chart-of-accounts records are used to set Orderful sender and receiver identifiers. Changes to purchase orders in Zoho Books trigger updates to the corresponding X12 850 documents in Orderful. The flow is unidirectional: purchase orders move from Zoho Books to Orderful and outbound to suppliers.

How ml-connector handles it

ml-connector stores Zoho Books OAuth2 credentials and Orderful API key encrypted in Postgres. On every Zoho Books webhook event, ml-connector validates the HMAC signature against Zoho's webhook secret, refreshes the OAuth2 access token proactively at 55 minutes, and routes the API call to the correct regional base URL determined by Zoho's region field from the token response. The purchase order payload is fetched in full from Zoho Books to capture all line items, contact details, and account mappings. ml-connector translates the Zoho Books purchase order structure (items, amounts, vendor) into X12 850 format with sender and receiver ISA identifiers populated from Orderful's configured trading partner network. The 850 document is created in Orderful with the stream field set to 'test' for development organizations and 'live' for production. Orderful handles rate limits gracefully; ml-connector tracks HTTP 429 responses and backs off with exponential retry. Both systems are polled for any missed events (offset-based pagination in Zoho Books with organization_id per organization, and polling buckets in Orderful) on a configurable schedule, so transient webhook failures do not lose data. Every record carries a full audit trail of the original Zoho Books purchase order, the translated X12 format, the Orderful delivery status, and any errors encountered.

A real-world example

A mid-sized electronics distributor uses Zoho Books for accounting and procurement and has a network of five direct suppliers. Before the integration, the procurement team created purchase orders in Zoho Books, then manually exported them to EDI format using a third-party tool and uploaded them to each supplier's portal or SFTP server. With Zoho Books and Orderful connected, each purchase order created in Zoho Books automatically translates to X12 850 format and delivers to the suppliers through Orderful's network. The procurement team now works only in Zoho Books; the suppliers receive EDI documents on their preferred delivery channel. Reconciliation is faster because PO numbers and line-item details match exactly between Zoho Books and supplier systems.

What you can do

  • Translate purchase orders from Zoho Books into X12 850 EDI format and send them to suppliers through Orderful's multi-channel network.
  • Bridge Zoho Books' region-specific OAuth2 API with Orderful's static API key authentication and route calls to the correct regional endpoint.
  • Monitor Zoho Books purchase order webhooks and trigger Orderful 850 creation automatically when new orders are entered.
  • Map vendor contact information from Zoho Books contacts to Orderful EDI sender and receiver identifiers so suppliers receive accurate identification.
  • Detect and retry failed EDI deliveries, with a full audit trail showing the original Zoho Books purchase order, the translated X12 850, and Orderful delivery status.

Questions

Which direction does data move between Zoho Books and Orderful?
Purchase orders and related details move from Zoho Books into Orderful and outbound to trading partners as X12 850 documents. The flow is unidirectional. Orderful does not write data back into Zoho Books. Supplier acknowledgments and invoices from Orderful can be ingested separately if needed, but the core PO sync is one direction.
How does ml-connector handle Zoho Books' regional OAuth2 authentication?
ml-connector stores Zoho Books OAuth2 credentials encrypted and proactively refreshes the access token before expiry (at 55 minutes). The Zoho token response includes a region field that specifies the correct regional base URL (US, EU, India, Australia, Japan, Canada, China, or Saudi Arabia). ml-connector routes every API call to that region and includes the organization_id query parameter on every request as required by Zoho Books.
What happens if a Zoho Books purchase order webhook is missed?
ml-connector falls back to polling Zoho Books at a configurable frequency using offset-based pagination with the per_page parameter, so transient webhook failures do not result in lost purchase orders. The same polling fallback applies if Orderful webhook delivery fails; ml-connector queries Orderful polling buckets to detect any missed EDI translations. Both systems' full audit trail preserves the original records and any errors.

Related integrations

Connect Zoho Books and Orderful

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

Get started