SAP ECC and Cleo integration
SAP ECC runs finance, procurement, and supply chain. Cleo Integration Cloud orchestrates EDI and API-based connections to suppliers and trading partners. Connecting the two moves invoices, purchase orders, and shipment confirmations from SAP ECC into Cleo as EDI transactions without manual export or file staging. ml-connector handles the SAP Basis authentication and BAPI transaction lifecycle on one side and Cleo OAuth2 token refresh on the other, moving data on a schedule tied to your procurement calendar.
What moves between them
Data flows from SAP ECC into Cleo. ml-connector polls SAP ECC for approved purchase orders, posted invoices, and goods receipts on a schedule, then routes them as EDI transactions into Cleo's folder structure using REST file uploads and Actions. Vendor and customer master records are synced to keep Cleo partner references aligned with SAP. GL postings are read from SAP and annotated with cost center and GL account information for audit trail, but ml-connector does not write journal entries back into SAP.
How ml-connector handles it
ml-connector stores SAP Basic Auth credentials and Cleo OAuth2 credentials encrypted and uses an on-premises agent on the customer network to execute RFC/BAPI calls against SAP ECC. It refreshes the Cleo Bearer token on each session and handles OAuth2 errors by re-authenticating. On the SAP side, it calls BAPIs such as BAPI_PO_GETDETAIL1 and BAPI_ACC_DOCUMENT_POST, then commits the transaction context with BAPI_TRANSACTION_COMMIT to avoid locked documents. Purchase orders are mapped from SAP fields (company code, plant, vendor, line items) to EDI 850 format, invoices to EDI 810, and shipments to EDI 856. Because SAP has no single 512-character row width limit on older RFC_READ_TABLE, ml-connector uses BAPI detail calls and handles character encoding mismatches by setting ABAP_AS_CODEPAGE on the agent. Cleo file uploads are idempotent if a transaction file is resubmitted with the same external reference number. Every record is logged with timestamps and status codes so failed transmissions can be replayed.
A real-world example
A mid-sized manufacturing company runs SAP ECC for procurement, finance, and supply chain. They ship products to tier-one suppliers and logistics partners who expect EDI 850 purchase orders, 810 invoices, and 856 shipment confirmations on a just-in-time cadence. Before the integration, the procurement team exported POs from SAP to Excel, reformatted them as EDI files, and uploaded them to Cleo manually every morning, creating delays and transcription errors. With SAP ECC and Cleo connected, each approved PO flows from SAP into Cleo as an EDI 850 automatically on the schedule the procurement team defines, suppliers see the PO in their EDI inboxes within minutes, and the company stops re-keying data.
What you can do
- Poll SAP ECC for approved purchase orders and post them into Cleo as EDI 850 transactions on a daily or shift-based schedule.
- Sync SAP ECC invoices and goods receipts into Cleo as EDI 810 and 856 transactions for downstream trading partner visibility.
- Map SAP vendors, customers, and GL cost centers to EDI header and line fields so Cleo transactions carry full context.
- Handle SAP BAPI transaction commits and Cleo OAuth2 token refresh, with retry logic for transient failures.
- Track every record with a full audit trail so failed EDI transmissions can be identified and replayed.
Questions
- How does ml-connector handle SAP RFC authentication and BAPI calls?
- ml-connector stores SAP Basic Auth credentials encrypted and uses an on-premises agent (SAP .NET Connector or Java Connector) running on the customer network to execute RFC calls. It calls BAPIs directly such as BAPI_PO_GETDETAIL1 for purchase orders and BAPI_ACC_DOCUMENT_POST for GL documents, then commits the transaction context with BAPI_TRANSACTION_COMMIT to avoid locked documents in SAP.
- What EDI transactions does ml-connector create when syncing from SAP ECC to Cleo?
- ml-connector maps SAP purchase orders to EDI 850 transactions, invoices to EDI 810, and goods receipts to EDI 856. Each transaction is routed into Cleo as a file upload with the full header and line item detail mapped from SAP fields such as company code, plant, vendor, and GL cost center.
- Does ml-connector handle character encoding and field width limits in SAP RFC calls?
- Yes. ml-connector handles RFC character encoding mismatches by configuring ABAP_AS_CODEPAGE on the agent, and uses detail BAPIs instead of RFC_READ_TABLE to avoid the 512-character row width limit on older SAP systems. Every transmitted record is logged so encoding or truncation errors can be diagnosed and the transmission replayed.
Related integrations
More SAP ECC integrations
Other systems that connect to Cleo
Connect SAP ECC and Cleo
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started