MYOB and SAP Ariba integration
MYOB handles your accounting: contacts, purchase orders, invoices, and general ledger accounts. SAP Ariba handles your procurement and supplier relationships. Connecting them keeps your supplier master and purchase orders synchronized between accounting and procurement, so a new supplier added to MYOB flows to Ariba before the next purchase order, and invoiced orders in Ariba are reflected in MYOB's accounts payable ledger. ml-connector maps MYOB's contact and purchase structure to Ariba's supplier and purchase order entities and handles the different authentication methods each system requires.
What moves between them
MYOB suppliers (Contact records) and purchase orders (Purchase/Order records) flow to SAP Ariba as suppliers and purchase orders, respecting the annual window limit on Ariba's async reporting jobs. Bills in MYOB (Purchase/Bill records) map to invoices in Ariba, and sync runs on a schedule aligned to your accounts payable cycle. Direction is primarily MYOB into Ariba since Ariba's REST APIs are read-focused and write operations prefer SOAP/cXML; supplier master updates in MYOB take precedence over Ariba updates to avoid conflicts.
How ml-connector handles it
ml-connector caches the OAuth2 bearer tokens from both systems, refreshing MYOB's token every 19 minutes and Ariba's every 55 minutes before expiry. On the MYOB side, it supplies all three required headers (Bearer token, API key, company file credentials) and polls using OData $filter on LastModified to detect changes since the last sync. For Ariba, ml-connector builds async reporting jobs with updatedDateFrom and updatedDateTo windows (respecting the one-year maximum), submits the job, polls for completion by jobId, and downloads paginated results. It maps MYOB Contact UID to Ariba supplier ID and MYOB Purchase/Order UID to Ariba PurchaseOrder UID, and it pre-validates that MYOB RowVersion on updates prevents 409 conflicts. Because Ariba writes prefer SOAP/cXML over REST, ml-connector does not attempt invoice write-back to Ariba; instead it reads MYOB bills and posts their totals to Ariba's analytical reporting data. Every record carries a jobId for idempotency.
A real-world example
A mid-sized professional services firm in New Zealand uses MYOB for accounting and invoicing, and SAP Ariba for supplier sourcing and contract management across their three offices. Before integration, the procurement team maintained a spreadsheet of approved suppliers in Ariba and a separate master in MYOB, and when finance added a new vendor to pay for subcontractor services, procurement had to manually add it to Ariba contracts. With MYOB and Ariba connected, new suppliers added to MYOB's contact list flow to Ariba overnight, existing suppliers' payment terms stay synchronized, and invoiced orders visible in MYOB are already recorded in Ariba's procure-to-pay audit trail. Reconciliation of supplier master records between systems is eliminated.
What you can do
- Sync MYOB suppliers (Contact records) to SAP Ariba supplier master on your defined schedule.
- Map MYOB purchase orders to Ariba purchase orders, keeping procurement records aligned with accounting.
- Flow MYOB bills into Ariba's analytical reporting data, linking accounts payable to procure-to-pay.
- Authenticate MYOB with OAuth2 plus company file credentials and Ariba with OAuth2 plus API key, handling token refresh before expiry.
- Poll MYOB with OData LastModified filtering and Ariba with async reporting jobs, respecting annual date-window limits and pagination constraints.
Questions
- Why does ml-connector primarily sync from MYOB to Ariba and not the other way?
- Ariba's REST Open APIs are read-oriented for procurement documents. Most write operations in Ariba use SOAP/cXML rather than REST, which is outside the scope of this integration. ml-connector reads supplier and purchase data from Ariba and posts it to MYOB's GL, but primary writes remain on MYOB side to avoid conflicts between accounting and procurement.
- How does ml-connector handle MYOB's three-header authentication requirement?
- Every MYOB API call requires an OAuth2 Bearer token (with 20-minute expiry), an API key header (x-myobapi-key), and Base64-encoded company file credentials (x-myobapi-cftoken). ml-connector supplies all three on each request, refreshes the Bearer token before expiry, and uses OData $filter on LastModified to detect changes since the last sync.
- Does the annual date-window limit on Ariba's async reporting jobs affect the sync?
- Yes. Ariba reporting jobs enforce a maximum of one year between the updatedDateFrom and updatedDateTo query parameters. For multi-year backfills or deep historical syncs, ml-connector submits multiple jobs in annual chunks, polls each job by jobId, and downloads results paged at 50,000 records per call.
Related integrations
More MYOB integrations
Other systems that connect to SAP Ariba
Connect MYOB and SAP Ariba
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started