QAD and Cleo Integration Cloud integration
QAD Adaptive ERP runs manufacturing, procurement, and finance. Cleo Integration Cloud is the B2B and EDI integration layer that exchanges documents with trading partners. Connecting the two lets QAD purchase orders leave as outbound EDI and lets the supplier invoices and ship notices your partners send arrive back in QAD without manual file handling. ml-connector translates between QAD business documents and the X12 EDI files Cleo routes, and moves them on a schedule you control. Because Cleo carries documents rather than storing them as finance records, the integration is shaped around uploading and retrieving files in the right Cleo folders.
What moves between them
Documents move in both directions, but as EDI files rather than structured finance records. Outbound, ml-connector reads new purchase orders from QAD, formats them as X12 850 files, and uploads them to the Cleo mailbox folder that routes to the target trading partner. Inbound, it polls Cleo folders for X12 810 supplier invoices, 855 acknowledgments, and 856 ship notices that partners have delivered, parses them, and writes the results into QAD as supplier invoices and receipts. Reference data such as supplier identifiers and item codes is mapped on both sides so each EDI document references partners and parts that already exist in QAD. The cadence is a polling schedule you set, since neither QAD cloud nor the Cleo REST API offers self-service push.
How ml-connector handles it
ml-connector stores both credential sets encrypted. For Cleo it exchanges the username and password for a Bearer token using the OAuth 2.0 password grant, includes a TOTP code when the account has 2FA enabled, and refreshes the token against the refresh endpoint on a 401 before falling back to a full re-authentication. For QAD it accepts the full tenant URL per customer, since QAD publishes no shared base address, and validates entity paths against that instance. Outbound POs are rendered to X12 850 and uploaded with POST to the correct Cleo folder; inbound documents are picked up by listing folder children, downloading the EDI files, and parsing 810, 855, and 856 transactions into QAD records. Cleo has no idempotency key on the REST API, so uploads use unique filenames built from a timestamp or identifier to avoid duplicate routing, and inbound files are tracked by Cleo file id so each is processed once. Cleo rate limits at five requests per second per API path and returns HTTP 429, so ml-connector backs off and retries, and because real EDI routing depends on flows configured in CIC Studio, the connector relies on the customer's Cleo admin to set up the partner folders and flows it reads and writes. 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 with around 300 employees runs QAD Adaptive ERP for procurement and finance and trades with several large retail and distributor customers that mandate EDI. Before the integration, a coordinator exported purchase orders from QAD, hand-built EDI files, and uploaded them to the trading partner portal, then downloaded incoming invoices and ship notices and keyed them back into QAD, which slowed order turnaround and introduced errors that caused chargebacks. With QAD and Cleo Integration Cloud connected, new POs are translated to X12 850 and dropped into the right Cleo folder automatically, and inbound 810 invoices and 856 ship notices are pulled from Cleo and posted into QAD on a schedule. The coordinator stops formatting files by hand, and document turnaround with partners becomes consistent.
What you can do
- Translate QAD purchase orders into X12 850 EDI files and upload them to the correct Cleo trading partner folder.
- Poll Cleo folders for inbound X12 810 invoices, 855 acknowledgments, and 856 ship notices and write them into QAD.
- Map QAD supplier and item identifiers to the EDI segments each document type requires.
- Authenticate Cleo with OAuth 2.0 password grant and refresh on 401, and QAD with its tenant-specific token.
- Avoid duplicate routing with unique upload filenames and back off on Cleo HTTP 429 rate limits, with a full audit trail and replay.
Questions
- Does Cleo Integration Cloud store invoices and purchase orders as records?
- No. Cleo is an EDI and B2B integration platform, and its REST API manages folders, connections, users, and actions rather than finance objects. Purchase orders and invoices pass through Cleo as X12 EDI files in folders, so ml-connector reads and writes those files and maps them to and from QAD business documents. The source of truth for those records stays in QAD.
- How does ml-connector receive documents from Cleo without webhooks?
- Cleo has no public webhook subscription API, so the integration is pull-based. ml-connector polls Cleo folder endpoints on the schedule you set, lists new files, downloads the EDI payloads, and parses them into QAD. Cleo can push outbound HTTP calls, but only when the customer's Cleo admin configures that inside CIC Studio.
- What happens with Cleo's OAuth password grant and rate limits?
- Cleo uses OAuth 2.0 password grant, so ml-connector exchanges a stored username and password for a Bearer token and refreshes it on a 401 before re-authenticating. If the account has two-factor authentication enabled it supplies a TOTP code, though a dedicated service account without 2FA is recommended. Cleo limits requests to five per second per API path and returns HTTP 429, so the connector backs off and retries.
Related integrations
More QAD integrations
Other systems that connect to Cleo
Connect QAD and Cleo
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started