Fakturaforhåndsvisning, betalingsregistrering og kreditering via API

En integration skal skelne mellem at læse en faktura, registrere en handling og flytte penge. Start med en forhåndsvisning, når du vil kontrollere linjer og beløb, og opret eller hent derefter den faktura, som den aktuelle kontrakt beskriver.

Alle produktnyheder

Historisk tilbageblik - maj til august 2026
Denne artikel er skrevet efterfølgende og beskriver de adskilte fakturahandlinger, som blev gjort tilgængelige via API’et.

En integration skal skelne mellem at læse en faktura, registrere en handling og flytte penge. Start med en forhåndsvisning, når du vil kontrollere linjer og beløb, og opret eller hent derefter den faktura, som den aktuelle kontrakt beskriver.

Et syntetisk forløb

  1. Brug kundens faktura-preview-endpoint til at kontrollere perioder, linjer og total.
  2. Hent eventuelt preview-PDF’en til intern godkendelse.
  3. Opret eller læs fakturaen, og brug dens UUID ved senere kald.
  4. Brug mark-as-sent, når din egen arbejdsgang har leveret eller registreret dokumentet. Kaldet sender aldrig en mail; det registrerer levering gennem en ekstern kanal og undertrykker en ventende automatisk fakturamail.
  5. Brug mark-as-paid, når en betaling faktisk skal registreres manuelt. Det starter ikke et nyt korttræk.
  6. Brug kredit-endpointet, hvis enkelte fakturalinjer skal krediteres. En kreditnota er en særskilt handling og er ikke det samme som at slette fakturaen.

En refundering kan være afventende, selv om anmodningen er accepteret. Læs svaret og den efterfølgende status, før integrationen viser pengene som tilbagebetalt.

Fejl og forventninger

Preview, PDF, sendt, betalt og krediteret har forskellige svar og statusser. Brug den aktuelle OpenAPI-reference for schema og tilladte felter. Gem ikke rigtige tokens eller kundeoplysninger i testkode, og brug syntetiske UUID’er i eksempler.

Se vejledningen til offentlig API og webhooks (Markdown-fil, AI-agentvenlig) for den aktuelle kontrakt.

Sender mark-as-sent en mail? Aldrig. Kaldet registrerer, at en ekstern kanal har leveret fakturaen, og undertrykker en ventende automatisk fakturamail. Brug den separate send-handling, hvis Alunta skal sende mailen.

Flytter mark-as-paid penge? Nej. Det registrerer en manuel betaling; det er ikke et nyt korttræk.

Kan en kreditering være delvis? Ja, brug den dokumenterede linjekreditering og læs status tilbage, før systemet viser den som afsluttet.

Hold statusser adskilt i din integration

Et preview kan bruges til at vise en bruger, hvad der vil blive faktureret, før der findes et endeligt dokument. En PDF gør det samme i et format, der kan godkendes eller arkiveres. Når fakturaen er oprettet, er mark-as-sent en registrering af forløbet. Hvis din integration også skal sende dokumentet, skal den bruge den dokumenterede send-handling og håndtere dens svar separat.

På samme måde er mark-as-paid en manuel registrering. Brug kun kaldet, når din bruger eller en afstemt ekstern kilde har bekræftet betalingen. Et betalingskald skal ikke udledes af, at preview eller send-status lykkedes. En kredit af udvalgte linjer ændrer kravet gennem en kreditnota-/krediteringshandling; den sletter ikke den oprindelige invoice og er ikke automatisk en kontant refundering. mark-as-sent sender aldrig mail, også selv om det kaldes efter en fakturafærdiggørelse; det blokerer den ventende automatiske levering.

Brug fakturaens UUID ved opfølgende kald, og læs den aktuelle status tilbage efter hver handling. Hvis svaret er afventende, skal UI’et vise afventende i stedet for afsluttet. Det giver brugeren mulighed for at kontrollere integrationens næste resultat uden at gentage en handling, der allerede er registreret.

Bo Møller
Bo Møller
Emil Højbjerg
Emil Højbjerg

Menneskerne og AI-hjælperne bag opdateringerne

Bo Møller og Emil Højbjerg er de primære udviklere bag Alunta. De bruger det meste af tiden på at kode og har derfor uddelegeret formuleringen af disse forklaringer til vores AI-hjælpere.

AI-hjælperne skriver på baggrund af de opdateringer, vi har lagt i systemet. Bo og Emil står bag ændringerne og har ansvaret for, at oplysningerne tager udgangspunkt i det, der faktisk er udgivet.