Nordlet til app-udviklere
Tilføj fakturering, bogføring og EU-momsindberetning til din software gennem én JSON-API, typebestemte SDK'er, webhooks, en MCP-server og sandkassevirksomheder.
Mange apps skaber pengestrømme: en ordre bliver betalt, et abonnement fornyes, en tilbagebetaling gennemføres. Hver af disse hændelser skal ende i en virksomheds regnskab.
Nordlet er regnskabssystem bygget med API'en i centrum. Alt, hvad webapplikationen kan, er også tilgængeligt gennem én JSON-API. Din app sender hændelserne, og Nordlet fører regnskabet og forbereder skatteindberetningerne.
Hvad Nordlet gør
- Gør hver handling tilgængelig som
POST /v1/{module}/{resource}/{action}med et JSON-brødtekstindhold (body), for eksempel/v1/sales/invoices/create. - Godkender (authenticates) hver anmodning med en API-nøgle, der tilhører én virksomhed. Hver nøgle indeholder rettigheder (scopes), såsom
sales:readellersales:write, som begrænser dens funktionalitet. - Modtager beløb som decimale strenge, aldrig som flydende kommatal (floating-point numbers), så ingen ører tabes ved afrunding.
- Accepterer en
Idempotency-Key-header ved hver ændring. Et nyt forsøg med den samme nøgle returnerer det første svar i stedet for at udføre arbejdet en gang til. Idempotens (idempotency) betyder, at en gentaget anmodning har samme virkning som én enkelt anmodning. - Returnerer alle fejl i ét fælles format.
- Tillader 300 anmodninger pr. minut pr. API-nøgle.
- Registrerer hver ændring i et revisionsspor (audit log).
Guiden til API-konventioner gennemgår hver af disse regler i detaljer.
Regnskaber der forbliver korrekte
- Udstedelse af en faktura tildeler et uafbrudt løbenummer, kontrollerer, at regnskabsperioden er åben, og bogfører posteringen (journal entry) i den samme databasetransaktion.
- Hver postering skal balancere. Selve databasen kontrollerer dette, når transaktionen gemmes.
- Udstedte og registrerede dokumenter kan ikke slettes. Et forkert bankmatch fortrydes med en modpostering i stedet for at redigere den gamle. Dette er, hvad en uforanderlig hovedbog (immutable ledger) dækker over.
SDK'er, MCP og webhooks
- Typebestemte SDK'er genereres ud fra den samme OpenAPI-beskrivelse til TypeScript, Python, Go, Java, C#, Ruby, PHP, Swift og Rust. Indtil et SDK er offentliggjort, installerer du det fra dets kildekodelager. Se SDK-guiden.
- En Postman-samling med alle slutpunkter (endpoints) er tilgængelig.
- MCP-serveren gør det muligt for en AI-assistent som Claude Code at søge i API'en og kalde den med din API-nøgle. Hvert kald er en almindelig API-anmodning med de samme rettigheder og grænser.
- Webhooks giver din app besked, når noget sker, for eksempel
sale_invoice.issuedellersale_invoice.paid. Hver levering er signeret med en HMAC-signatur, så du kan kontrollere, at den kommer fra Nordlet. Mislykkede leveringer forsøges igen i omkring 24 timer.
Test med sandkassevirksomheder
- Opret en virksomhed med
isSandbox: true, eller markér sandkassefeltet, når du opretter en virksomhed i appen. - En sandkassevirksomhed fungerer som en rigtig virksomhed: de samme moduler, den samme API.
- Den er tydeligt markeret som testdata, og du kan ikke ændre en rigtig virksomhed til en sandkasse eller omvendt.
- Indberetninger og e-fakturaer (e-invoices) fra en sandkassevirksomhed sendes til myndighedernes testmiljøer.
- Forbrug i en sandkassevirksomhed måles og afregnes på samme måde som forbrug i en rigtig virksomhed.
Kom i gang-guiden fører dig igennem den første API-nøgle, den første faktura og hele forløbet.
FAQ
Kan én app betjene flere virksomheder?
Ja. Hver API-nøgle tilhører én virksomhed, så du opretter en nøgle pr. virksomhed. Hver webhook-levering indeholder companyId for den virksomhed, den tilhører, så én modtager kan betjene flere virksomheder.
Skal jeg selv opbygge skatteindberetningerne?
Nej. Nordlet opbygger indberetningerne ud fra regnskabet. For hver indberetning sender den enten dataene, danner en fil, du kan uploade, eller viser tal, du indtaster, afhængigt af landet. Tabellen over indberetningsstøtte viser alle tilfælde.