MYOB and SAP Concur integration
MYOB runs accounting for Australian and New Zealand SMEs. SAP Concur handles travel, expenses, and invoice processing. Connecting the two means expense reports and vendor invoices submitted in Concur flow into MYOB's accounts payable and general ledger without re-entry. Expense line items land on the correct GL accounts, and the audit trail flows automatically. The finance team can track spend in both systems and close the books faster.
What moves between them
Expense documents and vendor invoices flow from SAP Concur into MYOB. When an expense report is approved or invoice is submitted in Concur, ml-connector receives the webhook notification, reads the full expense details and line items from Concur's financial integration API, maps the vendor and GL account codes from Concur to MYOB contacts and GL accounts, and posts the result as a purchase invoice into MYOB's accounts payable. Reference data such as vendors and cost allocations are reconciled in both directions. MYOB's invoice line changes are detected by polling with OData $filter so amendments are captured.
How ml-connector handles it
ml-connector accepts the OAuth credentials for both systems and manages token refresh on the MYOB side (20-minute expiry), while on the Concur side it caches the 1-hour token and refreshes it before expiry. The Concur OAuth response includes geolocation, which ml-connector uses as the base URL for all Concur API calls; it does not hardcode a single endpoint. When a Concur expense report or invoice webhook arrives, ml-connector fetches the full document from Concur's financial integration API, maps the expense GL dimension (cost center, department, or project) to a MYOB GL account in the customer's chart of accounts, looks up or creates the vendor contact in MYOB, and posts a purchase invoice with line items and the GL distribution. MYOB requires RowVersion on PATCH operations to prevent conflicts, so ml-connector stores it and includes it on updates. Concur limits the app to 5 active subscriptions, so multiple cash flows may use a single subscription and be multiplexed by client context. Every record carries UID and audit trail fields for full replay if a downstream GL post fails.
A real-world example
A mid-size Australian services company uses MYOB for accounting and finance close. The organization uses SAP Concur for employee travel and expense reports, and also processes vendor invoices through Concur for cash management. Before the integration, the finance team exported expense reports from Concur each week, split them into GL allocations, created purchase invoices in MYOB by hand, and manually reconciled the two systems. With Concur and MYOB connected, approved expenses flow into MYOB automatically as purchase invoices, allocated to the GL accounts defined in Concur, and the invoice audit trail is complete. Month-end close no longer requires manual expense entry or reconciliation between the two platforms.
What you can do
- Post SAP Concur expense reports into MYOB purchase invoices, allocated to the correct GL accounts and departments.
- Sync vendor and employee records from SAP Concur into MYOB contacts so expense and invoice processing uses valid vendors.
- Handle MYOB dual authentication with OAuth token, API key, and company file credentials on every API call.
- Route SAP Concur API calls to the correct datacenter (US, EMEA, or China) based on the geolocation in the OAuth token response.
- Detect invoice line changes in MYOB by polling with OData $filter, and replay failed GL postings with full audit trail for debugging.
Questions
- Which direction does data flow between MYOB and SAP Concur?
- The main flow is SAP Concur into MYOB. Expense reports, invoice line items, and vendor records flow from Concur into MYOB purchase invoices and GL entries. Vendor and GL account reference data can be reconciled in both directions so expense allocations land on valid accounts. MYOB's invoice changes are detected by polling so amendments are captured.
- How does ml-connector handle MYOB's dual authentication and token expiry?
- MYOB requires OAuth2 bearer token, API key, and company file username-password credentials on every request. ml-connector stores all three encrypted and includes them in each API call header. Access tokens expire in 20 minutes, so ml-connector monitors expiry and refreshes the token before it reaches zero. Refresh tokens last 1 week.
- How does ml-connector route SAP Concur calls to the right datacenter?
- SAP Concur's OAuth token response includes a geolocation field indicating US, EMEA, or China. ml-connector extracts this geolocation and uses it to build the API base URL for all subsequent Concur calls, not a hardcoded endpoint. This ensures the call reaches the customer's home region and respects data residency rules.
Related integrations
More MYOB integrations
Other systems that connect to SAP Concur
Connect MYOB and SAP Concur
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started