Loket logoSAP Concur logo

Payroll to finance

Loket to SAP Concur integration: out-of-pocket Concur expenses reimbursed through Loket, with payment status back in Concur

With an integration between Loket and SAP Concur, expenses employees paid out of pocket automatically go from Concur into the payroll period data of their employment in Loket, so they are reimbursed with the next payroll run. Concur first gets a posting confirmation and, after the payroll run, a payment confirmation, so the employee sees in Concur that their report has been paid.

What the integration does

Organisations that have business travel and expenses claimed in SAP Concur and process payroll in Loket often reimburse out-of-pocket amounts with the salary. Without an integration finance sends an overview to payroll every period, payroll retypes the amounts, and the report stays unpaid in Concur.

  1. The employee claims in Concur, the manager approves.
  2. KoppelHet fetches the queued documents, stores them and acknowledges receipt.
  3. Expenses the employee paid personally go per type as a pay component to the next open period of their employment in Loket.
  4. KoppelHet reports per report to Concur whether the posting succeeded or not.
  5. Once the payroll run is approved, KoppelHet sends the payment confirmation with the payment date.
Loket → KoppelHet → SAP ConcurSOURCELoketTARGETSAP ConcurKoppelHetmapping · logging · monitoringLoket → KoppelHet → SAP ConcurSOURCELoketTARGETSAP ConcurKoppelHetmapping · logging · monitoring
Out: Expense documents from Concur with payment type per expense · Employment and employer in Loket · Pay component per expense type in the payroll period data · Posting and payment confirmation to Concur
Back: Posting confirmation once Loket has saved the data · Payment confirmation with payment date after the payroll run

What to watch for with Loket and SAP Concur

  • As soon as receipt is acknowledged, Concur takes the report out of the queue, and Concur asks for that acknowledgement without delay. KoppelHet therefore records every report before writing anything to Loket. A Loket outage thus costs no reports.
  • Per journal line Concur indicates whether the employee or the employer is the payer. Only lines the employee paid personally belong in the payroll run. KoppelHet leaves expenses on a company card out of Loket, because the employer has already settled them.
  • Loket has its own expense flow, but only the employee can submit a claim in it. With Concur as the expense system, the integration writes the approved amounts directly as a pay component into the payroll period data, so the Loket flow stays unused for these expenses.
  • Without the supplement option, a pay component in Loket's payroll period data replaces the fixed value on the employment. KoppelHet switches the option on for components that also carry a fixed allowance, so a train ticket from Concur does not replace the monthly allowance.
  • Besides the posting confirmation, Concur has a separate payment confirmation for expense reports, with a unique payment reference per confirmation. KoppelHet only sends it once the payroll run in Loket is approved, and uses the payroll run number as the reference.
  • If several employers work in one Loket environment under one Concur environment, the employee number belongs to the employer. KoppelHet looks up the employment per employer and keeps a separate table from expense type to pay component per employer.

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

Do company credit card expenses also reach Loket?

No. The employer has already paid those. Only what the employee paid personally goes through payroll.

What if Loket rejects an amount?

Then Concur receives a failed posting confirmation with the reason, and payroll sees the alert in the platform. After the fix the report goes along again.

Do employees from Loket also go to Concur?

Not in the first version. Putting users from Loket into Concur 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.

  • SAP Concur through the Financial Integration Service v4: GET /financialintegration/fi/v4/companies/transactiontypes/expense/transactions (docStatus READY only), POST .../acknowledgements, POST .../postingconfirmations (overallPostingStatusCode, systemMessages) and POST .../paymentconfirmations (clearingReference.paymentRef unique, clearingDate yyyyMMdd, processingStatusCode CP). Fields include employee.employeeId, entryApprovedAmount, reportEntryPaymentTypeCode and journalPayer or journalPayee. Scope FISVC with a company-level token.
  • Loket through the REST API with OAuth: POST .../employments/{employmentId}/payrollperioddata with payrollPeriod, payslipText, costCenter and payrollComponents (payrollComponent.key, value, isSupplement); allowed components through .../metadata/year/{year}/period/{periodNumber}.

Which fields are transferred

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

Field in LoketField in SAP ConcurNotes
employee.employeeIdDienstverband in LoketThrough employee number per employer
Soort uitgavepayrollComponent (key)Lookup table, checked against the allowed components of the period
entryApprovedAmount, alleen bij betaler EMPLvalueSummed per component
Eerstvolgende open loonperiodepayrollPeriod (year, periodNumber)
DeclaratienummerpayslipText
Opgeslagen door LoketoverallPostingStatusCode success
Betaaldatum van de verloningclearingDate en processingStatusCode CP

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.