- API-referanse
- Fakturaer
Fakturaer
Opprett, send og følg opp fakturaer. Kreditnota, innbetalinger og innboks for mottatte EHF-fakturaer.
- POST
/v1/fakturaerOpprett faktura - POST
/v1/fakturaer/{id}/sendSend faktura - GET
/v1/fakturaer/{id}Hent faktura - POST
/v1/fakturaer/{id}/kreditnotaOpprett kreditnota - GET
/v1/innboksMottatte fakturaer
/v1/fakturaerOpprett faktura
Oppretter et utkast. Fakturanummer tildeles ved sending. Bruk Idempotency-Key for å unngå dobbeltfakturering ved gjenforsøk.
Kropp (JSON)
mottakerobjectpåkrevd«orgnr» for bedrift, eller «navn», «epost» og «adresse» for privatperson.
forfalldatepåkrevdForfallsdato, ISO 8601. Minst 14 dager frem for forbrukere.
linjerobject[]påkrevdHver linje: «tekst», «antall», «pris» (eks. mva), «mva» (0, 12, 15 eller 25), valgfritt «enhet» og «rabatt».
valutastringNOK (standard), EUR, SEK, DKK, USD, GBP.
referansestringDin referanse. Vises på fakturaen og i EHF (BuyerReference).
purreløpstringID på purreløp fra dashbordet, eller «ingen».
metadataobjectFritt nøkkel/verdi, opptil 20 nøkler. Kommer tilbake i webhooks.
curl -X POST https://api.spireapi.com/v1/fakturaer \
-H "Authorization: Bearer sk_test_…" -H "Idempotency-Key: ordre-10422" -H "Content-Type: application/json" \
-d '{"mottaker":{"orgnr":"923456789"},"forfall":"2026-12-01","linjer":[{"tekst":"Konsulenttimer oktober","antall":40,"pris":1250,"mva":25}]}' {
"id": "fak_01JBX4R8Q2M7",
"status": "utkast",
"mottaker": { "orgnr": "923456789", "navn": "Tallgruppen AS", "kan_motta_ehf": true },
"belop": { "netto": 50000.00, "mva": 12500.00, "brutto": 62500.00, "valuta": "NOK" },
"forfall": "2026-12-01",
"opprettet": "2026-11-03T09:12:40Z"
} /v1/fakturaer/{id}/sendSend faktura
Tildeler fakturanummer og sender via beste kanal: Peppol hvis mottaker er registrert, ellers e-post med PDF, ellers brev hvis «kanal» tillater det. Kan ikke angres; bruk kreditnota.
Stiparametre
idstringpåkrevdFaktura-ID.
Kropp (JSON)
kanalstring«auto» (standard), «peppol», «epost» eller «brev».
curl -X POST https://api.spireapi.com/v1/fakturaer/fak_01JBX4R8Q2M7/send \
-H "Authorization: Bearer sk_test_…" {
"id": "fak_01JBX4R8Q2M7",
"nummer": 10422,
"status": "sendt",
"kanal": "peppol",
"kid": "1042200000078",
"sendt": "2026-11-03T09:12:44Z"
} /v1/fakturaer/{id}Hent faktura
Fakturaen med status, kanal, kvitteringer, innbetalinger og purrehistorikk.
Stiparametre
idstringpåkrevdFaktura-ID.
curl https://api.spireapi.com/v1/fakturaer/fak_01JBX4R8Q2M7 \
-H "Authorization: Bearer sk_test_…" {
"id": "fak_01JBX4R8Q2M7",
"nummer": 10422,
"status": "betalt",
"kanal": "peppol",
"belop": { "brutto": 62500.00, "betalt": 62500.00, "rest": 0.00, "valuta": "NOK" },
"innbetalinger": [ { "belop": 62500.00, "dato": "2026-11-28", "kilde": "ocr" } ],
"purringer": [],
"pdf_url": "https://filer.spireapi.com/fak_01JBX4R8Q2M7.pdf"
} /v1/fakturaer/{id}/kreditnotaOpprett kreditnota
Krediterer hele eller deler av fakturaen. Kreditnotaen sendes i samme kanal som fakturaen.
Stiparametre
idstringpåkrevdFaktura-ID.
Kropp (JSON)
linjerobject[]Linjer som krediteres. Utelatt = hele fakturaen.
aarsakstringpåkrevdFritekst, vises på kreditnotaen.
curl -X POST https://api.spireapi.com/v1/fakturaer/fak_01JBX4R8Q2M7/kreditnota \
-H "Authorization: Bearer sk_test_…" -H "Content-Type: application/json" -d '{"aarsak":"Feil antall timer"}' { "id": "kre_01JBX7D2PQ4N", "faktura_id": "fak_01JBX4R8Q2M7", "nummer": 10423, "status": "sendt", "belop": { "brutto": -62500.00 } } /v1/innboksMottatte fakturaer
Fakturaer mottatt via Peppol til din organisasjon, som strukturert JSON med linjer og vedlegg. Krever at Innboks er aktivert.
Spørringsparametre
statusstring«ny», «behandlet» eller «alle».
fradateMottatt fra og med dato.
antallinteger1–100.
markorstringNeste side.
curl "https://api.spireapi.com/v1/innboks?status=ny" \
-H "Authorization: Bearer sk_test_…" {
"data": [
{ "id": "inn_01JBX8M1", "avsender": { "orgnr": "976543210", "navn": "Revisjonshuset AS" }, "nummer": "2026-1182", "belop": { "brutto": 18750.00 }, "forfall": "2026-11-30", "status": "ny", "linjer": 2, "vedlegg": 1 }
],
"neste": null
}