SYSPRO and SAP Concur integration
SYSPRO runs manufacturing finance and procurement. SAP Concur runs travel and expense management. Connecting them keeps your expense and invoice records aligned without manual entry. Employees submit expenses and invoices in SAP Concur, ml-connector maps them to your SYSPRO vendors and cost centers, and posts the line items directly into your general ledger and accounts payable. Month-end reconciliation becomes automatic, and re-keying and lookup errors disappear.
What moves between them
Expense reports and invoice payment requests flow from SAP Concur into SYSPRO. When an employee submits an expense or invoice in SAP Concur, ml-connector receives a webhook event, reads the full record, maps the vendor and cost center to SYSPRO dimensions, and posts line items into the accounts payable module and general ledger. Vendor and GL account master data flows from SYSPRO to SAP Concur via polling to ensure that employees in SAP Concur select only vendors and cost centers that exist in SYSPRO. Financial documents in SAP Concur are read-only, so ml-connector never writes back to SAP Concur expense or invoice records.
How ml-connector handles it
ml-connector stores OAuth credentials and session tokens encrypted and exchanges the SAP Concur bootstrap token for an access token at startup, then refreshes on expiry. SAP Concur determines the datacenter geolocation from the token response, and ml-connector routes all subsequent API calls to that datacenter rather than hardcoding a base URL. On the SYSPRO side, ml-connector logs on once to Utilities/Logon, stores the session UserId, and passes it on all e.net requests; if the session times out, it re-authenticates. Expense line items are mapped to SYSPRO vendors by SAP Concur vendor codes, then the vendor record is enriched with the GL account and cost center from SYSPRO's master tables (ApSupplier, GenMaster, InvWarehouse). Posting uses e.net Business Objects via XML or REST to write ApInvoice and ApPosting records. SAP Concur webhooks deliver at least once, so ml-connector deduplicates by the expense or invoice ID to avoid duplicate postings. Rate limits and token expiry are tracked and retried with exponential backoff, and every record carries a full audit trail.
A real-world example
A mid-sized food and beverage distributor runs SYSPRO for procurement, inventory, and finance, and uses SAP Concur for employee travel and expense management across five regional sales offices. Before the integration, accounting received expense reports from SYSPRO Concur and re-entered the totals and vendor assignments into SYSPRO accounts payable by hand, then spent the first days of month-end close reconciling the expense accounts in the ledger. With SYSPRO and SAP Concur connected, every submitted expense and invoice flows directly into SYSPRO, mapped to the correct vendor and cost center for each office, and the GL accounts reconcile automatically. The manual data entry step is gone, and month-end close starts with the expense accounts already balanced.
What you can do
- Post SAP Concur expense reports and invoice payment requests into SYSPRO accounts payable and general ledger, allocated to the correct cost centers and vendors.
- Map SAP Concur vendors and cost centers to SYSPRO dimensions so expenses land on valid accounts and are charged to the right department.
- Authenticate SAP Concur with OAuth 2.0 and handle multi-datacenter geolocation switching, and SYSPRO with session tokens that auto-refresh on timeout.
- Receive expense and invoice webhooks from SAP Concur with at-least-once delivery and deduplicate by record ID to prevent duplicate postings.
- Poll SYSPRO for vendor and GL account master data to keep the two systems aligned and enable validation dropdowns in SAP Concur.
Questions
- Which direction does data move between SYSPRO and SAP Concur?
- Expense reports and invoice payment requests move from SAP Concur into SYSPRO, where they are posted to accounts payable and the general ledger. Vendor and GL account master data flows from SYSPRO to SAP Concur via polling so that employees select only valid vendors and cost centers. SAP Concur financial records are read-only, so ml-connector does not write expense or invoice data back into SAP Concur.
- How does ml-connector handle SAP Concur's multi-datacenter geolocation requirement?
- SAP Concur determines the datacenter geolocation (US, EMEA, or China) from the OAuth token response. ml-connector extracts that geolocation and routes all subsequent API calls to the correct regional base URL rather than hardcoding a single endpoint. If a customer's geolocation changes, ml-connector re-exchanges the token and routes to the new datacenter.
- What happens if a SYSPRO session token expires or a SAP Concur OAuth token reaches end of life?
- ml-connector tracks token expiry and re-authenticates before a token expires. On the SYSPRO side, it logs on to Utilities/Logon again and obtains a fresh UserId. On the SAP Concur side, it uses the refresh token (valid 6 months) to obtain a new access token (valid 1 hour) without requiring the bootstrap token again. Both sides are tracked in the audit trail.
Related integrations
More SYSPRO integrations
Other systems that connect to SAP Concur
Connect SYSPRO and SAP Concur
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started