Nmbrs logoCoupa logo

Payroll to finance

Nmbrs to Coupa integration: approved Coupa expenses as a wage component in Nmbrs

With an integration between Nmbrs and Coupa, expenses approved for payment in Coupa automatically arrive in Nmbrs as a variable wage component, so they are reimbursed with the next payroll run. Coupa then gets the export flag, so finance sees in Coupa which reports run through payroll.

What the integration does

Organisations with Coupa for spend management and Nmbrs for payroll often reimburse expenses through the salary. Between the two packages there is then a monthly export and manual entry per employee, with the risk that a report is missed or paid twice.

  1. Employees claim in Coupa and approval happens there.
  2. Every working day KoppelHet requests the reports that are approved for payment and have no export flag yet.
  3. Through the employee number KoppelHet finds the employee and the company in Nmbrs.
  4. The amounts go to the current period as a variable wage component, with cost centre and the Coupa number as comment.
  5. Once Nmbrs has accepted the component, KoppelHet marks the report as exported in Coupa.
Nmbrs → KoppelHet → CoupaSOURCENmbrsTARGETCoupaKoppelHetmapping · logging · monitoringNmbrs → KoppelHet → CoupaSOURCENmbrsTARGETCoupaKoppelHetmapping · logging · monitoring
Out: Expense reports and lines from Coupa · Employee and company in Nmbrs · Variable wage component with cost centre and comment · Export flag on the report
Back: Expense amounts as variable wage component

What to watch for with Nmbrs and Coupa

  • In Coupa KoppelHet only selects reports with the status approved for payment and without an export flag. Coupa itself names that query as the standard route for integrations. No report still under review therefore reaches the payroll run.
  • KoppelHet sets the export flag in Coupa with a separate request, and only after Nmbrs has accepted the wage component. If Nmbrs refuses the delivery, the flag stays off and the integration picks the report up again in the next round.
  • A variable wage component for a period that has already passed in Nmbrs is only accepted in an unprotected mode. KoppelHet therefore always places Coupa reports in the current period of the Nmbrs company, even if the report covers an earlier month.
  • In Coupa a cost centre belongs to the report line. Nmbrs allows a separate cost centre per wage component. KoppelHet takes over the cost centre from Coupa, so the reimbursement appears in the payroll journal on the same cost centre as in Coupa.
  • Every Nmbrs company has its own numbers for wage components, while Coupa has one list of expense types for the whole organisation. KoppelHet keeps a translation table per Nmbrs company, and an expense type without a code in that company becomes an alert instead of a wrong payment.
  • Coupa advises recording the report number in the system that pays. In Nmbrs we use the comment field of the wage component for that, so payroll sees for every reimbursement which report it comes from.

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 · Complex

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

When does the employee get the money?

With the first payroll run after approval in Coupa. A report approved after the last round before the run goes along one period later.

Do employees from Nmbrs also go to Coupa?

Not in the first version. Putting users with employee number and cost centre from Nmbrs into Coupa 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.

  • Coupa through the Core API - GET /api/expense_reports?status=approved_for_payment&exported=false, lines through /api/expense_lines, a separate PUT with exported=true per report and /api/users for employee-number.
  • Nmbrs through the SOAP EmployeeService - WageComponentVar_InsertCurrent or WageComponentVar_Insert_Batch (EmployeeId, Code, Value, CostCenterId, CostUnitId, Comment; Period, Year, UnprotectedMode false). Without UnprotectedMode a period before the current period gives a TWK error. The SOAP API stops on 1 March 2027; after that through the REST API.

Which fields are transferred

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

Field in NmbrsField in CoupaNotes
employee-number (Coupa-gebruiker)EmployeeId in NmbrsLooked up per Nmbrs company
Soort uitgaveCode van de looncomponentTranslation table per company
BedragValueSummed per code and employee
Kostenplaats (account) van de regelCostCenterId
id van de declaratieComment
Aangenomen door Nmbrsexported=true

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.