QAD and Zoho CRM integration
QAD runs manufacturing, procurement, and finance. Zoho CRM runs the sales relationship and the customer-facing record. Connecting the two gives sales and account teams the supplier, item, and order data that lives in the ERP without a second login. QAD suppliers and items stay aligned with Zoho CRM Vendors and Products, and QAD purchase orders and supplier invoice status surface against the matching Zoho records. ml-connector handles the different APIs on each side and moves the data on a schedule you control.
What moves between them
The primary flow runs from QAD into Zoho CRM. ml-connector reads QAD suppliers and items and maps them to Zoho CRM Vendors and Products, then brings QAD purchase orders and supplier invoice status into the matching Zoho Purchase Order and Invoice records so the sales side sees current procurement and AP. Customer and account reference data is aligned in both directions so a QAD customer matches a Zoho Account and the keys line up. Where a customer works deals in Zoho first, won Sales Orders and Accounts can flow back into QAD as customer and sales demand records. Cadence is scheduled, since QAD cloud is pull-only.
How ml-connector handles it
ml-connector stores both credential sets encrypted. On the QAD side it accepts the full tenant URL per customer, since QAD publishes no shared base address, and validates entity paths against that instance. On the Zoho side it exchanges the stored refresh token for an access token, caches it until shortly before the one-hour expiry, and always uses the api_domain from the token response so calls reach the customer's correct datacenter rather than a hardcoded host. Because QAD cloud has no webhooks, it polls QAD suppliers, items, purchase orders, and supplier invoices on a schedule. Where Zoho changes need to reach QAD, it registers a Zoho notification channel, verifies the echoed token string on each payload since there is no HMAC signature, fetches the full record by ID, and renews the channel before its roughly one-day expiry lapses. Vendors and Products are matched first so every order line references an item and supplier that already exist on both sides. Zoho rate limiting is a credit-based daily quota with a concurrency cap, so ml-connector backs off on HTTP 429 and uses the bulk and COQL APIs for large or filtered reads rather than burning credits one record at a time. Because QAD AP uses three-way match, supplier invoice status only reflects QAD once the related receipt has posted. Every record carries a full audit trail and can be replayed if a downstream call fails.
A real-world example
A mid-sized contract manufacturer runs QAD Adaptive ERP for procurement, production, and finance, and runs Zoho CRM Professional for its sales and account management team. Before the integration, account managers had no view of supplier and purchase order status without asking the buying desk, and the same vendor and item records were kept by hand in both systems, so they drifted out of step. With QAD and Zoho CRM connected, suppliers and items stay aligned automatically, and purchase orders and supplier invoice status appear against the matching Zoho records. The sales team answers customer questions about supply and order status from Zoho, and the duplicate data entry is gone.
What you can do
- Sync QAD suppliers and items into Zoho CRM Vendors and Products so both systems hold the same records.
- Surface QAD purchase orders and supplier invoice status against the matching Zoho Purchase Order and Invoice records.
- Align customer and account reference data so a QAD customer matches a Zoho Account in both directions.
- Bridge QAD tenant login and the Zoho OAuth refresh-token flow, routing each call to the correct Zoho datacenter.
- Poll QAD on a schedule and renew Zoho notification channels before expiry, with retries and a full audit trail on every record.
Questions
- Which direction does data move between QAD and Zoho CRM?
- The primary flow is QAD into Zoho CRM. Suppliers, items, purchase orders, and supplier invoice status move from QAD into the matching Zoho Vendor, Product, Purchase Order, and Invoice records, while customer and account reference data is aligned in both directions. Where a customer works deals in Zoho first, won Sales Orders and Accounts can flow back into QAD as customer and sales demand records.
- How does ml-connector handle Zoho's datacenter routing and one-hour token expiry?
- Zoho orgs can live on any of seven regional datacenters, so ml-connector always uses the api_domain returned with the OAuth token as the base URL rather than a hardcoded host. It exchanges the stored refresh token for an access token and caches it until shortly before the one-hour expiry, then refreshes proactively. The QAD tenant URL is configured per customer alongside it, since QAD has no shared hostname.
- Does Zoho CRM support webhooks, and how does QAD's lack of them affect the sync?
- Zoho supports push notifications through its Notifications API, where a watch channel POSTs record IDs to a registered URL and ml-connector fetches the full record by ID. Those channels expire in about a day, so ml-connector renews them before they lapse and verifies the echoed token string on each payload, since Zoho sends no HMAC signature. QAD cloud has no webhooks, so the QAD side is always read by polling on a schedule you control.
Related integrations
More QAD integrations
Other systems that connect to Zoho CRM
Connect QAD and Zoho CRM
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started