Workday logoSAP Concur logo

HR to ERP

Workday to SAP Concur integration: workers as Concur users with approver, cost centre and reimbursement currency

With an integration between Workday and SAP Concur, every worker from Workday automatically becomes a Concur user, with employee number, cost centre, approver and the reimbursement currency of their company. A new manager in Workday also becomes the approver in Concur, and after a termination the user is set to inactive.

What the integration does

Organisations that manage workers in Workday and travel and expenses in SAP Concur send a file from Workday to Concur every day or adjust profiles by hand. A change of manager does not reach the approver in Concur by itself, and a rejected line in the file only shows up when someone cannot submit expenses.

  1. KoppelHet fetches the workers changed in Workday since the previous run.
  2. New workers and changes go to Concur in batches of at most one hundred operations.
  3. Concur processes the batch in the background; KoppelHet follows the status until every operation is done or rejected.
  4. The manager from Workday becomes expense approver in the spend data.
  5. After the last working day KoppelHet sets the user to inactive.
Workday → KoppelHet → SAP ConcurSOURCEWorkdayTARGETSAP ConcurKoppelHetmapping · logging · monitoringWorkday → KoppelHet → SAP ConcurSOURCEWorkdayTARGETSAP ConcurKoppelHetmapping · logging · monitoring
Out: User with userName, name and work email · Enterprise data with employee number, department, cost centre and company · Spend data with reimbursement currency and approver · Active or inactive

What to watch for with Workday and SAP Concur

  • According to SAP, the manager field in Concur's enterprise data does not automatically become the approver or delegate. KoppelHet therefore also sets the manager from Workday as approver in the spend data, so a change of manager really changes the approval route.
  • Anyone using Concur's spend extension must provide a reimbursement currency. KoppelHet derives it from the worker's company in Workday, so a colleague at the British company is reimbursed in pounds and a colleague in the Netherlands in euros.
  • The company ID of a Concur user cannot be changed after creation. If a worker in Workday moves to a company that is in another Concur environment, KoppelHet reports it to the Concur administrator instead of sending a change Concur rejects.
  • Concur does not process a creation or change directly, but returns a provisioning ID. KoppelHet requests the status at intervals of at least five seconds and reports per worker what Concur rejected, so a failed creation does not go unnoticed.
  • Workday often records an organisation change weeks ahead. KoppelHet only sends the new cost centre to Concur on the effective date, so expenses for the current month still go to the old cost centre.
  • A bulk request to Concur holds at most one hundred operations or 400 KB. After a large reorganisation in Workday KoppelHet therefore spreads the changes over several requests, with the new managers first.

How we build and run it

  • The integration runs on the KoppelHet platform, hosted in a data centre in the EU.
  • Every sync and every error is visible in the functional log; on an error your administrator is notified.
  • A change that cannot go through is not half-applied but queued for another attempt.
  • KoppelHet is ISO 27001 certified. Data travels encrypted and stays on the platform no longer than needed.
  • After go-live we manage the integration and adjust it when your process changes.
  • The integration fits next to your existing integration layer. Only the fields in the design are transferred; the platform keeps no register of its own.

Implementation, architecture and compliance

Implementation and price

This is not an app you switch on. We build the integration for your organisation on our platform, with building blocks we reuse on every project. So it is custom work that does not start from scratch.

A consultant prepares the intake and analyses both systems. We then record the mapping and exceptions field by field, test in the test or acceptance environment and go live at a moment you choose. Costs are a one-off amount for the setup and a monthly amount for platform, monitoring and support.

Price indication · Basic

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

Frequently asked questions

Do travel profiles go along too?

In the first version only the data for expenses. Travel data can be added later as an extension.

Do approved expenses go back to payroll?

Not in this integration. Payment through payroll is a separate flow that can be added later as an extension.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Workday through a RaaS report on change date with an Integration System User (Employee_ID, Company, Cost_Center, Supervisory_Organization, Manager, Hire_Date, Termination_Date), with Get_Workers from Human_Resources if needed.
  • To SAP Concur through the User Provisioning Service v4 (SCIM 2.0) - POST /profile/v4/Users/ to create, PATCH /profile/v4/Users/{uuid} for changes, POST /profile/v4/Bulk/ (at most 100 operations or 400 KB) and GET /profile/v4/provisions/{provisionId}/status. Enterprise extension with companyId (required and immutable), employeeNumber, costCenter, department and manager; spend extension with reimbursementCurrency and approvers. Scopes user.provision.write and user.provision.read.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in WorkdayField in SAP ConcurNotes
Werk-e-mailuserName en emailsUnique across all SAP Concur products
Legal_Name / Preferred_Namename.givenName, name.familyName
Employee_IDenterprise.employeeNumber
Companyenterprise.companyIdImmutable after creation
Cost_Centerenterprise.costCenter
Supervisory_Organizationenterprise.department
Company (valuta)spend.reimbursementCurrencyRequired with the spend extension
ManagerGoedkeurder in de spend-extensie (en enterprise.manager)
Termination_Dateactive = false

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.