SAP Business One and SAP Concur integration
SAP Business One runs on-premise finance and procurement. SAP Concur handles travel and expense management in the cloud. When you connect them, expense reports and invoice payment requests from Concur flow into SAP Business One as journal entries, allocated to the correct vendors and cost centers from your chart of accounts. ml-connector manages the very different authentication schemes and regional Concur endpoints so the data flows cleanly on a schedule you set.
What moves between them
Concur expense reports and payment request invoices flow into SAP Business One on a scheduled basis. ml-connector reads Concur financial integration documents tagged as expense or invoice, maps them to vendors and cost centers in the SAP Business One chart of accounts, and posts them as journal entries. The sync is one-way from Concur into SAP Business One, with no writes back to Concur, ensuring that the cloud expense system remains the source of truth for report status and approval chains.
How ml-connector handles it
ml-connector stores Concur OAuth credentials and refreshes the access token when a call returns 401; it detects the datacenter from the initial token response and routes all subsequent calls to the correct regional endpoint. On the SAP Business One side, it maintains a persistent session to avoid the five-second cold-start cost of each login, and checks for duplicate journal entries by DocNum before retrying a failed post. Expense amounts are mapped to the matching vendor in SAP Business One, and cost center fields become Dimension allocations on the journal entry. Because SAP Business One offers webhooks only in recent versions and many deployments run older on-premise instances, ml-connector defaults to polling the Concur API on a schedule aligned to your expense approval cycle. Session tokens expire after 30 minutes of inactivity, so ml-connector reuses authenticated sessions and re-authenticates only when necessary. The integration also handles Concur's regional datacenter requirements and respects SAP Business One's OData page-size defaults and session timeout behavior.
A real-world example
A mid-sized consulting firm runs SAP Business One on-premise for accounting and vendor management, and uses SAP Concur for employee travel and expense reports. Before the integration, finance staff manually exported approved expense reports from Concur each week and created corresponding entries in the general ledger, then matched vendor names and cost allocations by hand. With the two systems connected, each approved expense report automatically becomes a journal entry in SAP Business One, mapped to the correct vendor and cost center, so the books are reconciled instantly. Month-end close is faster because the expense accounts already tie out.
What you can do
- Read approved Concur expense reports and payment request invoices and post them as journal entries in SAP Business One's general ledger.
- Map Concur expense and invoice vendor records to SAP Business One vendors and cost centers automatically.
- Maintain persistent sessions on SAP Business One to avoid authentication overhead on every request.
- Rotate Concur OAuth access tokens automatically and route API calls to the correct regional Concur datacenter based on token geolocation.
- Poll Concur on a flexible schedule aligned to your approval cycle, with duplicate detection and audit trails on every journal entry.
Questions
- How does ml-connector handle SAP Concur's multi-region endpoints?
- ml-connector detects the customer's datacenter from the OAuth token response and routes all subsequent API calls to the matching regional base URL (US, EMEA, or China). This ensures compliance with data residency requirements and avoids cross-region latency penalties.
- Why does the integration poll instead of using Concur webhooks?
- SAP Business One on-premise instances often run older versions without webhook support, and even recent versions require administrator activation. ml-connector defaults to polling the Concur API on a schedule you control, avoiding the need for server-side SAP Business One configuration changes.
- How are expenses matched to vendors and cost centers in SAP Business One?
- ml-connector reads the vendor name and cost center data from each Concur expense report, looks up the matching vendor in SAP Business One's BusinessPartners list, and allocates the journal entry to the correct Dimension record. If a vendor or cost center is missing, the record is marked for review and the integration logs the mismatch in the audit trail.
Related integrations
More SAP Business One integrations
Other systems that connect to SAP Concur
Connect SAP Business One and SAP Concur
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started