Bedre StandardSend faginnspill

Håndter økonomihendelser som kommer i feil rekkefølge

Bruk objektversjon, hendelsesidentitet og statusoppslag når økonomihendelser kommer i en annen rekkefølge enn de oppstod.

I denne veiledningen

En melding om betaling kan komme før meldingen om fakturaen den gjelder. Nettverkskøer, gjentakelser og parallelle leveranser gjør mottakstid til en svak kilde for forretningsrekkefølge. Integrasjonen må skille tidspunktet hendelsen oppstod fra tidspunktet den ankom.

Syntetisk eksempel med betaling først

En oppdiktet faktura F7 er på 6 000 kroner. Betalingen dekker 2 000 kroner, slik at restbeløpet skal være 4 000 kroner.

AnkomstHendelseKontrollert behandling
FørstDelbetaling for F7Vent på eller slå opp fakturagrunnlaget
DeretterFaktura F7 opprettetKoble betaling til riktig faktura
Til sluttDelbetalingen gjentasGjenkjenn samme hendelsesidentitet

Dersom siste melding tolkes som en ny betaling, blir restbeløpet feilaktig 2 000 kroner. Hvis første melding avvises og glemmes, blir restbeløpet 6 000 kroner. Begge feil kan oppstå selv om meldingene er gyldige hver for seg.

Velg kilde for gjeldende tilstand

Stripes webhook-dokumentasjon beskriver at deres hendelser ikke er garantert levert i opprettelsesrekkefølge. Kontroller leverandørens egen garanti før samme antakelse brukes i et annet API. Webhooks er heller ikke en dokumentert generell egenskap ved ethvert regnskapssystem.

Avtal om en melding inneholder hele objektet, en endring eller bare en referanse. Ved referansemeldinger må et statusoppslag være mulig dersom integrasjonen skal bruke kilden som fasit. Ved versjonerte objekter kan eldre versjoner avvises som foreldede, men hendelser med selvstendig økonomisk virkning må ikke forsvinne bare fordi en nyere objektstatus finnes.

Bevar årsakssammenhengen. En kreditnota bør kunne kobles til fakturaen selv om fakturaens opprettelsesmelding kommer senere. En midlertidig ventekø er mer etterprøvbar enn å opprette en erstatningsfaktura på grunnlag av en ufullstendig melding.

Prøver som bør bestås

  • Lever betalingsmeldingen før fakturameldingen.
  • Lever samme hendelse tre ganger.
  • Lever en eldre objektversjon etter en nyere.
  • La nødvendig statusoppslag feile midlertidig.
  • Kontroller at ventende hendelser varsles før avstemmingsfristen.

Godkjenn automatisk behandling når sluttilstanden blir lik uansett ankomstorden i de avtalte testene. Dersom avhengigheten ikke kan løses, må saken få en synlig avklaringsstatus med kildeidentitet og ansvarlig.

Ikke bruk ankomsttid som sekundær forretningsnøkkel. To mottak av samme hendelse kan ha ulike ankomsttider. Bevar original hendelsesidentitet og eventuelt kildeversjon, slik at den samme betalingen gjenkjennes også etter forsinket eller gjentatt levering.

Ordnet mottak erstatter ikke økonomisk avstemming. Sammenlign fortsatt fakturabeløp, betalinger og restbeløp etter kjøringen. Se avstemming av hendelser og feilkø.