
Payroll to finance
YouForce to Coupa integration: Coupa Expenses claims reimbursed with the salary
With an integration between Visma Raet YouForce and Coupa, expense reports approved for payment in Coupa automatically go to YouForce as a pay component, so the employee gets them back with their salary. KoppelHet then marks the report as exported in Coupa, so no report is paid out twice.
What the integration does
Organisations that handle purchasing and expenses in Coupa, but run reimbursement through the YouForce payroll, have a manual step between the two. Someone runs an export from Coupa, enters the amounts in YouForce and keeps a list of which reports have already been paid.
- The employee submits the report in Coupa and approval happens there, as today.
- Every day KoppelHet fetches the reports that are approved for payment and not yet exported.
- The Coupa user's employee number points to the employment in YouForce; the amounts are added up per expense type.
- KoppelHet delivers the amounts to YouForce as pay components and waits for the confirmation.
- Only after that confirmation does KoppelHet mark the report as exported in Coupa.
Back: Approved expenses as pay component
What to watch for with Visma Raet YouForce and Coupa
- For integrations Coupa describes a fixed query for reports with the status approved for payment that have not yet been exported. KoppelHet uses exactly that selection. A report still in approval or already processed earlier therefore never reaches YouForce.
- In Coupa marking as exported is a separate request, apart from other changes. KoppelHet only does this once YouForce has processed the pay component. If something goes wrong, the report stays unexported and comes back by itself the next day.
- Coupa recommends keeping the report ID in the receiving system. YouForce has no field for it, so KoppelHet records per report in which delivery and which period the amount was included.
- A Coupa user has an employee number, while a pay component in YouForce belongs to an employment. At the start we agree how the employee number in Coupa is filled, so KoppelHet finds the right employment, also for someone with two employments.
- YouForce only accepts elements through the integration that have been enabled for this purpose, and each element only once per delivery. KoppelHet translates the expense types from Coupa to those elements and adds up all of an employee's reports in the same period per element.
- Coupa can also put approved reports as a CSV file on an sFTP folder every hour, and then marks them as exported straight away. KoppelHet uses the API, so the export flag only changes once YouForce really has the amount.
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 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.
Frequently asked questions
Is this integration needed if Coupa pays out itself?
No. If the organisation pays expenses through Coupa or through supplier payments in the ERP, the report does not belong in the payroll run.
Do employees from YouForce also become Coupa users?
Not in this integration. Creating and blocking users through Coupa's Users API can be added later as an extension.
What if the employee number is missing in Coupa?
Then the report stays unexported and KoppelHet reports which user has no number. Once filled in, it goes along the next day.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Coupa through the Core API - GET /api/expense_reports?status=approved_for_payment&exported=false, lines through /api/expense_lines, and then a separate PUT on the report with exported=true. Users through /api/users (employee-number). An API key of an API user sees the reports of all users.
- YouForce through the WFM API - POST /wfm/v1.0/PayComponents/{employment} (elementCode from bo4FieldCode in Employment Extensions, value, effectiveDate; at most 100 per request, no duplicate elementCode), status through GET /wfm/v1.0/PayComponents/{ticketId}/status. OAuth 2.0 through Visma Connect.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Visma Raet YouForce | Field in Coupa | Notes |
|---|---|---|
employee-number van de gebruiker | Dienstverband (employment) in YouForce | |
Soort uitgave van de regel | elementCode | Translation table; only elements YouForce has enabled |
Bedrag van de regels | value | Summed per element and employment |
Datum van verwerking | effectiveDate | |
id van de declaratie | Logregel in KoppelHet | |
Geslaagde verwerking in YouForce | exported=true in Coupa |
Related
ADP Workforce Now → Visma Raet YouForce
ADP Workforce Now to YouForce integration: requests for new Dutch hires and contract changes
Bullhorn → Visma Raet YouForce
Bullhorn to YouForce integration: a placement becomes a hire request
Carerix → Visma Raet YouForce
Carerix to YouForce integration: a placed candidate starts the hire workflow in YouForce
Darwinbox → Visma Raet YouForce
Darwinbox to YouForce integration: hires and pay changes from Darwinbox as a request in YouForce