SAP S/4HANA and SAP Concur integration
SAP S/4HANA runs procurement and finance across your enterprise. SAP Concur manages travel, expense reports, and corporate invoices for employees and approved vendors. Connecting them ensures that expenses and invoices captured in Concur post automatically into S/4HANA's general ledger, vendors stay synchronized across both systems, and cost allocations land on the correct GL accounts and cost centers. Finance closes faster without manual re-keying of expense summaries.
What moves between them
The primary flow moves from SAP Concur into SAP S/4HANA. Expense reports and invoices approved in Concur are read via the Financial Integration endpoint and posted into S/4HANA's general ledger as journal entries, allocated to the cost center and GL account specified in the Concur payload. Vendor master data is synchronized in both directions: new or changed vendors in Concur are created as suppliers in S/4HANA, and S/4HANA suppliers are available for selection in Concur. Syncs can run on a schedule or be triggered by Concur webhooks when expense reports or invoices change. Cost centers must exist in S/4HANA before they can be referenced by Concur records.
How ml-connector handles it
ml-connector stores both OAuth credentials encrypted and refreshes them independently on each system. For S/4HANA, it caches the access token and refreshes before the 12-hour window expires to prevent token-expiry failures. For Concur, it reads the geolocation from the OAuth token response and routes all API calls to that region, never hardcoding a base URL, since customers may be distributed across US, EMEA, or China datacenters. It polls S/4HANA on a configurable schedule to check for new vendors and existing GL accounts, and either receives Concur webhook events for expense reports and invoices or polls those separately if webhooks are not enabled. Before posting a journal entry into S/4HANA, it validates that the cost center exists in the S/4HANA cost center master and maps the Concur GL account code to the exact S/4HANA GL Account field. Concur Financial Integration documents are read-only output, so ml-connector never writes expense or invoice details back into Concur. Retries with exponential backoff handle transient errors from both APIs.
A real-world example
A multinational professional services firm with 500 employees runs SAP S/4HANA for procurement and finance across three regions, and uses SAP Concur to manage employee travel and project expenses. Previously, finance staff received a daily export of approved expenses and invoices from Concur, manually validated cost center assignments, and entered the summaries into S/4HANA journals at month-end. With SAP S/4HANA and SAP Concur integrated, each approved expense report or invoice posts automatically to the correct cost center in S/4HANA the same day, vendors are kept in sync so procurement can order from approved Concur vendors, and month-end close starts with all expense journals already booked and reconciled to source documents.
What you can do
- Post approved expense reports and invoices from SAP Concur into SAP S/4HANA's general ledger as journal entries, allocated to cost centers.
- Synchronize vendor master data between SAP S/4HANA suppliers and SAP Concur vendors in both directions.
- Cache and refresh OAuth tokens independently for each system so token expiry does not interrupt the sync.
- Route Concur API calls to the correct region (US, EMEA, or China) based on the geolocation in the OAuth token response.
- Validate cost centers exist in S/4HANA before posting journal entries, and track every record in a full audit trail.
Questions
- Which direction does data move between SAP S/4HANA and SAP Concur?
- The primary flow is from SAP Concur into SAP S/4HANA. Expense reports and invoices approved in Concur post into S/4HANA's general ledger as journal entries. Vendor master data flows in both directions: new vendors in Concur are created as suppliers in S/4HANA, and S/4HANA suppliers are shared with Concur so procurement sees approved vendors.
- Why does geolocation from the Concur OAuth token matter?
- SAP Concur operates across three regions (US, EMEA, China), each with a different API base URL. The geolocation is embedded in the OAuth token response and must be used for all subsequent API calls. ml-connector extracts and uses it dynamically so your data routes to the correct region automatically, no matter where your company is located.
- How does ml-connector prevent token expiry from breaking the integration?
- ml-connector caches both the S/4HANA and Concur access tokens and refreshes them before they expire. For S/4HANA, which issues 12-hour tokens, the refresh happens well before the window closes. For Concur, which issues 1-hour tokens, refresh happens mid-life. This ensures continuous sync without outages caused by expired credentials.
Related integrations
More SAP S/4HANA integrations
Other systems that connect to SAP Concur
Connect SAP S/4HANA and SAP Concur
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started