Microsoft Dynamics GP and SAP Concur integration
Microsoft Dynamics GP runs your on-premises financial ledger. SAP Concur manages corporate travel and expenses in the cloud. Connecting them keeps your GL automatically updated with spend from Concur, and eliminates manual re-entry of expense journals at month-end. Expense reports and invoices captured in Concur post directly into Microsoft Dynamics GP with the vendor and GL account already mapped, so your books are current without delays.
What moves between them
The main flow is SAP Concur to Microsoft Dynamics GP. Expense reports and financial integration documents from Concur are read on a schedule and posted as GL journal entries and payables invoices into Dynamics GP. Vendor reference data is synchronized to ensure invoices land on valid GL accounts and vendor codes. Purchase orders may also sync from Concur to Dynamics GP. The direction is primarily one-way downstream into the GL; GL changes in Dynamics GP do not flow back to Concur.
How ml-connector handles it
ml-connector stores Windows domain credentials encrypted and uses them to authenticate REST calls to the on-premises Dynamics GP endpoint with Windows Authentication (Negotiate or NTLM). On the Concur side, it exchanges OAuth2 credentials for an access token, using the geolocation returned in the token response to route all subsequent API calls to the correct regional datacenter. Because Microsoft Dynamics GP does not support webhooks, ml-connector polls Concur's financial integration documents on a schedule aligned with your expense-reporting cycle. Before posting journal entries, it validates that the target GL account exists and the fiscal period is open in Dynamics GP, and maps Concur vendor and amount fields to the GL account and cost center required by Dynamics GP. All journal entries are wrapped in the required Payload structure and posted to unposted Work transactions. If a fiscal period is closed or a GL account missing, ml-connector surfaces the validation error and does not attempt to force the post. Retries and a full audit trail are maintained on each record.
A real-world example
A mid-sized consulting firm runs Microsoft Dynamics GP on-premises for accounting and uses SAP Concur for travel and expense reporting. Project managers and consultants file expense reports in Concur throughout the month covering travel, meals, and project costs. Before the integration, the accounting team exported expense reports from Concur monthly and manually created journal entries in Dynamics GP, allocating costs to the correct projects and GL accounts. This process took 2-3 days at month-end and was error-prone. With the integration, each expense report and invoice posted to Concur automatically generates a GL journal entry in Microsoft Dynamics GP on a weekly schedule, pre-mapped to the project code and GL account. The accounting team runs a validation report to confirm all entries posted successfully, and month-end close starts with expenses already in the ledger.
What you can do
- Post SAP Concur expense reports and financial integration documents as GL journal entries into Microsoft Dynamics GP on a scheduled cadence.
- Map Concur vendor codes and amount fields to Dynamics GP GL accounts, departments, and cost centers.
- Validate GL account existence and fiscal period status in Dynamics GP before posting, and surface validation errors without forcing invalid entries.
- Authenticate Microsoft Dynamics GP with Windows domain credentials (Negotiate/NTLM) and SAP Concur with OAuth2 refresh tokens, handling geolocation-aware API routing.
- Maintain a full audit trail and error log for every record synced, with the ability to replay failed entries once underlying issues are resolved.
Questions
- Which direction does data move between Microsoft Dynamics GP and SAP Concur?
- The main flow is SAP Concur to Microsoft Dynamics GP. Expense reports and financial integration documents flow from Concur into Dynamics GP as GL journal entries and payables invoices. Vendor reference data is synchronized in both directions so that Concur invoices land on valid GL accounts and vendor codes in Dynamics GP. GL entries created in Dynamics GP do not flow back to Concur.
- Does Microsoft Dynamics GP's lack of webhooks require special handling?
- Yes. Because Microsoft Dynamics GP does not support webhooks, ml-connector polls Concur's financial integration documents on a schedule you define (e.g., daily or weekly, aligned with your expense-reporting cycle). Dynamics GP records are read by polling ModifiedDate filters or status queries against the REST Service Based Architecture or SOAP endpoint. ml-connector manages the polling cadence and retries so you do not have to monitor both systems manually.
- What happens if a GL account or fiscal period is not open in Dynamics GP?
- ml-connector validates the target GL account and fiscal period status before attempting to post. If either validation fails, ml-connector surfaces the error in the audit log and does not post the entry, preventing invalid transactions in your ledger. Once you resolve the issue (e.g., opening the fiscal period or creating the missing GL account), you can replay the failed record from the audit trail.
Related integrations
More Microsoft Dynamics GP integrations
Other systems that connect to SAP Concur
Connect Microsoft Dynamics GP and SAP Concur
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started