ADP iHCM logoCoupa logo

Payroll naar finance

ADP iHCM Coupa koppeling: goedgekeurde onkosten uit Coupa als variabel looncomponent in ADP iHCM NL

Met een koppeling tussen ADP iHCM en Coupa gaan onkosten die in Coupa zijn goedgekeurd voor betaling automatisch als variabel looncomponent naar ADP iHCM NL, in de salarisperiode van de juiste paygroup. Pas als ADP de batch heeft aangenomen, krijgt de declaratie in Coupa de exportvlag, zodat geen declaratie twee keer of helemaal niet wordt terugbetaald.

Wat de koppeling doet

Organisaties die uitgaven in Coupa laten goedkeuren en de Nederlandse salarissen in ADP iHCM laten verwerken, betalen voorgeschoten onkosten vaak via de loonstrook terug. Iemand zet dan elke periode een export uit Coupa over in ADP, controleert welke declaraties al mee zijn gegaan en ontdekt een fout pas als een medewerker belt.

  1. Medewerkers declareren in Coupa en de goedkeuring loopt daar, zoals nu.
  2. KoppelHet haalt elke werkdag de declaraties op die goedgekeurd zijn voor betaling en nog niet zijn geëxporteerd.
  3. Via het personeelsnummer zoekt KoppelHet de medewerker en zijn paygroup in ADP iHCM op.
  4. De bedragen gaan per soort uitgave als variabel veld in één batch naar ADP, met de exacte begin- en einddatum van de periode van die paygroup.
  5. KoppelHet bewaart het batch-ID en zet daarna de declaraties in Coupa op geëxporteerd.
ADP iHCM → KoppelHet → CoupaBRONADP iHCMDOELCoupaKoppelHetmapping · logging · monitoringADP iHCM → KoppelHet → CoupaBRONADP iHCMDOELCoupaKoppelHetmapping · logging · monitoring
Heen: Declaraties en declaratieregels uit Coupa · Paygroup en personeelsnummer in ADP iHCM · Variabel looncomponent (V-veld) met bedrag en ingangsdatum · Batch-ID van de aanlevering · Exportvlag op de declaratie
Terug: Exportvlag in Coupa zodra ADP de batch heeft aangenomen

Waar je op let bij ADP iHCM en Coupa

  • ADP koppelt een aanlevering alleen aan een salarisrun als begin- en einddatum exact overeenkomen met de periode van de paygroup. Bij een afwijkende datum neemt ADP de bedragen wel aan, maar hangen ze los tot iemand ze in iHCM koppelt. KoppelHet haalt de periodedatums daarom per paygroup op en rekent ze niet zelf uit.
  • De Pay Data Input API van ADP neemt alleen variabele velden aan, en alleen velden die voor de paygroup zijn opengezet in de Multipay mapper. Coupa kent één lijst met soorten uitgave voor de hele organisatie; per paygroup legt KoppelHet vast welk V-veld bij welke soort hoort.
  • ADP keurt een hele batch af als één regel niet klopt, bijvoorbeeld een onbekend personeelsnummer. KoppelHet controleert elke regel vooraf tegen de worker-API. Een declaratie van een onbekende medewerker blijft in Coupa op niet geëxporteerd staan, zodat de rest van de medewerkers wel op tijd betaald wordt.
  • ADP weigert hetzelfde veld twee keer voor dezelfde medewerker in één aanlevering. Heeft een medewerker drie declaraties met reiskosten, dan telt KoppelHet die eerst op tot één bedrag per V-veld, en houdt per bedrag bij welke Coupa-declaraties erin zitten.
  • Een gegeven dat al naar ADP is gestuurd, corrigeer je met het verschil, of je vervangt de hele batch zolang ADP die nog niet heeft verwerkt. Bij vervangen verdwijnt elk veld dat je weglaat. KoppelHet bewaart daarom elk batch-ID met de volledige inhoud, zodat een vervanging nooit per ongeluk bedragen wist.
  • Coupa raadt aan het ID van de declaratie te bewaren in het systeem dat betaalt. ADP iHCM heeft in de Pay Data Input API geen veld voor een omschrijving per regel. KoppelHet legt de koppeling tussen declaratie-ID, batch-ID en periode daarom in het eigen logboek vast.
  • In Coupa is de exportvlag een los verzoek. KoppelHet zet die vlag pas als ADP de batch zonder fouten heeft teruggemeld. Mislukt de aanlevering, dan komt de declaratie de volgende werkdag gewoon opnieuw in de selectie.

Hoe we het bouwen en beheren

  • De koppeling draait op het KoppelHet platform, gehost in een datacenter in de EU.
  • Elke synchronisatie en elke fout is zichtbaar in de functionele logging; bij een fout krijgt jullie beheerder een melding.
  • Een mutatie die niet door kan, wordt niet half doorgezet maar klaargezet om opnieuw te proberen.
  • KoppelHet is ISO 27001-gecertificeerd. Gegevens gaan versleuteld over en blijven niet langer op het platform dan nodig.
  • Na livegang beheren wij de koppeling en passen we hem aan als jullie proces verandert.
  • De koppeling past naast je bestaande integratielaag. Alleen de velden uit het ontwerp gaan over; het platform houdt geen eigen registratie bij.

Implementatie, architectuur en compliance

Implementatie en prijs

Dit is geen app die je aanzet. We bouwen de koppeling voor jullie organisatie op ons platform, met bouwstenen die we steeds opnieuw gebruiken. Zo is het maatwerk, zonder dat we bij nul beginnen.

Een consultant bereidt de intake voor en analyseert beide systemen. Daarna leggen we de mapping en uitzonderingen per veld vast, testen we in de test- of acceptatieomgeving en gaan we live op een moment dat jij kiest. De kosten bestaan uit een eenmalig bedrag voor de inrichting en een maandbedrag voor platform, monitoring en beheer.

Prijsindicatie · Complex

Laat je zakelijke e-mailadres achter, dan zie je de prijsindicatie direct.

We gebruiken je adres alleen om je vraag over deze koppeling op te volgen.

Veelgestelde vragen

Wanneer krijgt de medewerker het geld terug?

Met de eerstvolgende salarisrun van zijn paygroup na de goedkeuring in Coupa. Een declaratie die na de laatste ronde wordt goedgekeurd, gaat een periode later mee.

Wat als een declaratie achteraf fout blijkt?

Zolang ADP de batch nog niet heeft verwerkt, vervangt KoppelHet de batch. Daarna gaat de correctie als verschil mee in de volgende periode.

Worden medewerkers uit ADP ook gebruiker in Coupa?

Niet in de eerste versie. Gebruikers met personeelsnummer vanuit ADP in Coupa zetten kan later als uitbreiding.

Technische details voor IT

Voor wie wil weten hoe het onder de motorkap werkt: gebruikte API's, velden en bronnen.

  • Coupa via de Core API: GET /api/expense_reports?status=approved_for_payment&exported=false, regels via /api/expense_lines, een aparte PUT met exported=true per declaratie en /api/users voor employee-number.
  • ADP iHCM NL via de Pay Data Input API (pay-data-input.add en pay-data-input.replace) met payrollRegionCode NL, payrollGroupCode, payeeID, payPeriodStartDate, payPeriodEndDate, earningCode, rate en earnedPayPeriodStartDate. Het batch-ID staat in de respons onder events/data/output/payDataInput/itemId. Geen OData-parameters. Beide canonicals moeten in de Consumer Application Registry staan; paygroup en personeelsnummer komen uit de Worker Management API.

Welke velden overgaan

De belangrijkste velden. De volledige mapping stellen we per klant vast.

Veld in ADP iHCMVeld in CoupaToelichting
employee-number (Coupa-gebruiker)payeeIDPersoneelsnummer in iHCM, gelijk aan payrollfilenumber in de worker-API
Paygroup van de medewerkerpayrollGroupCodeOpgehaald uit de worker-API (paygroupcode)
Soort uitgaveearningCode (bijvoorbeeld V160)Vertaaltabel per paygroup; alleen V-velden die voor die paygroup aanstaan
Bedrag, opgeteld per soort en medewerkerrateDecimalen volgens het doelveld in iHCM
Periode van de salarisrunpayPeriodStartDate en payPeriodEndDateMoet exact gelijk zijn aan de periode van de paygroup
Datum van goedkeuringearnedPayPeriodStartDateOp of na de contractstart
Aangenomen door ADPexported=true

Gerelateerd

Welke systemen wil je koppelen?

Vertel welke systemen je gebruikt en wat er automatisch moet gebeuren. Samen bepalen we de kleinste werkende oplossing, met een helder ontwerp en een offerte vooraf.