Inbetalningar
Kundinbetalningar – lista, registrera, hämta, uppdatera och återföra betalningar på kundfakturor via /3/invoicepayments.
Inbetalningsresursen speglar Fortnox /3/invoicepayments. En betalning registreras mot en faktura och bokförs direkt – det finns ingen obokförd betalning i Klirr. Betalningen adresseras på sitt publika nummer (Number).
Scope: invoice · Kräver AI Pro
Endpoints
| Metod och sökväg | Beskrivning |
|---|---|
| GET/api/v1/3/invoicepayments | Lista betalningar (listform) |
| POST/api/v1/3/invoicepayments | Registrera och bokför en betalning. Svarar 201. |
| GET/api/v1/3/invoicepayments/{Number} | Hämta en betalning (fullständig form) |
| PUT/api/v1/3/invoicepayments/{Number} | Uppdatera de fria fälten (ModeOfPayment, Source m.fl.) |
| DELETE/api/v1/3/invoicepayments/{Number} | Återför betalningen. Svarar 204. |
| PUT/api/v1/3/invoicepayments/{Number}/bookkeep | No-op – returnerar betalningen |
Bas-URL: https://app.klirr.ai/api/v1. Skrivningar kuverteras i InvoicePayment.
Listparametrar
Utöver paginering (page, limit, offset) och sortorder (asc/desc):
| Parameter | Värden | Beskrivning |
|---|---|---|
sortby | paymentdate | Enda värdet, och standard. |
invoicenumber | heltal | Fakturans DocumentNumber. Ett okänt eller icke-numeriskt nummer ger en tom lista, inte ett fel. |
Återförda betalningar visas aldrig i listan.
Fält
Fullständig form (GET /3/invoicepayments/{Number}, och svaret på POST, PUT och /bookkeep).
| Fält | Typ | Skrivskyddat | Beskrivning |
|---|---|---|---|
@url | string | ja | Resursens URL. |
Number | string | ja | Betalningens publika nummer. Återanvänds aldrig. |
InvoiceNumber | number | efter skapande | Obligatoriskt vid POST. Fakturans DocumentNumber – ett tal här, till skillnad från fakturan där det är en sträng. |
Amount | number | efter skapande | Betalningens belopp i kronor. Se belopp och valuta. |
AmountCurrency | number | efter skapande | Beloppet i fakturans valuta. Samma som Amount för en kronfaktura. |
PaymentDate | string | efter skapande | ÅÅÅÅ-MM-DD. Standard är dagens datum. Får inte ligga i framtiden. |
ModeOfPaymentAccount | number | efter skapande | Kontot som debiteras, fyrsiffrigt BAS-konto. 0 eller utelämnat ger standardkontot. |
ModeOfPayment | string | nej | Betalningssätt. Standard BG. Lagras bara som metadata. |
Source | string | nej | Standard manual. |
Booked | boolean | ja | Alltid true. |
InvoiceCustomerName | string | ja | Fakturans kundnamn. |
InvoiceCustomerNumber | string | ja | Fakturans kundnummer. |
InvoiceDueDate | string | ja | Fakturans förfallodatum. |
InvoiceOCR | string | ja | Fakturans OCR. |
InvoiceTotal | number | ja | Fakturans totalbelopp. |
Currency | string | ja | Fakturans valuta. |
CurrencyRate | number | nej | Kronor per enhet vid betalningen. 1 för kronfakturor. |
CurrencyUnit | number | nej | Alltid 1 i svaret. Vid POST delas CurrencyRate med värdet (t.ex. 100 för JPY). |
VoucherNumber, VoucherSeries, VoucherYear | number / string / number | ja | Betalningens verifikat. |
Booked, VoucherNumber, VoucherSeries och VoucherYear ignoreras om de skickas vid POST. Fält som Klirr inte modellerar sparas och returneras oförändrade.
Listform
GET /3/invoicepayments returnerar: @url, Number, InvoiceNumber, Amount, PaymentDate, Currency, CurrencyRate, AmountCurrency, InvoiceCustomerName, InvoiceCustomerNumber, InvoiceTotal, ModeOfPaymentAccount, VoucherNumber, VoucherSeries, VoucherYear. Belopp och nummer är strängar i listformen – utom InvoiceNumber, som är ett tal i båda formerna.
Belopp och valuta
Klirr följer Fortnox definition: Amount är kronor och AmountCurrency är beloppet i fakturans valuta.
- Kronfaktura:
Amountär betalningens belopp.AmountCurrencybehövs inte. - Faktura i utländsk valuta:
AmountCurrencyär obligatoriskt (och får inte vara0).Amountär valfritt och anger kronorna som faktiskt kom in på kontot. UtanAmountochCurrencyRateanvänds Riksbankens kurs för betalningsdagen, och kursdifferensen mot fordran bokförs. - Ett belopp som inte går att tolka (t.ex.
"1 500 kr") ger400– det tolkas aldrig som "hela beloppet".
Delbetalning
Utelämnas beloppet regleras hela det öppna beloppet. Ett lägre belopp ger en delbetalning; fakturan står då kvar som obetald och Balance på fakturan visar återstoden.
- Beloppet måste vara större än noll och får inte överstiga fakturans öppna belopp – Klirr har ingen modell för överbetalning (
400). - Fakturan måste vara bokförd och obetald (skickad eller förfallen), annars
400. En avskriven kundförlust ger409. - En förskottsfaktura kan inte delbetalas (
400). - Organisationer som använder kontantmetoden kan inte delbetala ännu (
400) – registrera hela beloppet eller kreditera mellanskillnaden. WriteOffs(öres- och kursdifferenser) stöds inte och ger400.- Är det öppna beloppet redan noll (fakturan är utkvittad av krediteringar) svarar API:t
409; fakturan markeras då som betald.
Registrera en betalning
curl -X POST https://app.klirr.ai/api/v1/3/invoicepayments \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{"InvoicePayment":{"InvoiceNumber":42,"Amount":5000,"PaymentDate":"2026-10-15","ModeOfPayment":"BG"}}'Svar (201):
{
"InvoicePayment": {
"@url": "https://app.klirr.ai/api/v1/3/invoicepayments/7",
"Number": "7",
"InvoiceNumber": 42,
"Amount": 5000,
"PaymentDate": "2026-10-15",
"ModeOfPaymentAccount": 1930,
"ModeOfPayment": "BG",
"Booked": true,
"InvoiceCustomerName": "Bergström Bygg AB",
"InvoiceCustomerNumber": "1001",
"InvoiceDueDate": "2026-11-17",
"InvoiceOCR": "4200007",
"InvoiceTotal": 11875,
"Currency": "SEK",
"CurrencyRate": 1,
"CurrencyUnit": 1,
"AmountCurrency": 5000,
"VoucherNumber": 18,
"VoucherSeries": "C",
"VoucherYear": 1,
"Source": "manual"
}
}Lista betalningar
curl "https://app.klirr.ai/api/v1/3/invoicepayments?invoicenumber=42" \
-H "Authorization: Bearer <access_token>"{
"InvoicePayments": [
{
"@url": "https://app.klirr.ai/api/v1/3/invoicepayments/7",
"Number": "7",
"InvoiceNumber": 42,
"Amount": "5000",
"PaymentDate": "2026-10-15",
"Currency": "SEK",
"CurrencyRate": "1",
"AmountCurrency": "5000",
"InvoiceCustomerName": "Bergström Bygg AB",
"InvoiceCustomerNumber": "1001",
"InvoiceTotal": "11875",
"ModeOfPaymentAccount": "1930",
"VoucherNumber": "18",
"VoucherSeries": "C",
"VoucherYear": "1"
}
],
"MetaInformation": { "@TotalResources": 1, "@TotalPages": 1, "@CurrentPage": 1 }
}Uppdatera en betalning
Belopp, datum och konto är bokförda och kan inte ändras (bokföringslagen 5 kap. 5 §). PUT ändrar bara de fria fälten, som ModeOfPayment och Source, och lägger till dem utan att ersätta tidigare lagrade fält. Skickar du tillbaka belopp, datum eller konto oförändrade (t.ex. ditt eget GET-svar) går anropet igenom; ett ändrat värde ger 409. Vill du rätta beloppet: återför betalningen med DELETE och registrera en ny.
curl -X PUT https://app.klirr.ai/api/v1/3/invoicepayments/7 \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{"InvoicePayment":{"ModeOfPayment":"SWISH"}}'Återföra en betalning
DELETE raderar inte betalningen. Klirr bokför ett rättelseverifikat (BFNAR 2013:2 p. 2.17), markerar betalningen som återförd och öppnar fakturans saldo igen. Svaret är 204, och betalningen försvinner ur GET /3/invoicepayments. Ett nytt DELETE eller GET på samma nummer ger 404. Numret återanvänds aldrig.
curl -X DELETE https://app.klirr.ai/api/v1/3/invoicepayments/7 \
-H "Authorization: Bearer <access_token>"bookkeep
PUT /3/invoicepayments/{Number}/bookkeep gör ingenting i Klirr, eftersom betalningen bokfördes redan när den registrerades. Endpointen finns för att Fortnox-integrationer som anropar den ska fungera, och svarar 200 med {"InvoicePayment": {...}}.
Fel
| Status | Code | När |
|---|---|---|
| 400 | 9000400 | InvoiceNumber saknas; otolkbart Amount, AmountCurrency, CurrencyRate eller CurrencyUnit; AmountCurrency saknas för en faktura i utländsk valuta; ogiltigt ModeOfPaymentAccount; ogiltigt eller framtida PaymentDate; överbetalning; fakturan är inte skickad eller förfallen; delbetalning av förskottsfaktura eller under kontantmetoden; WriteOffs. |
| 404 | 9000404 | Kan inte hitta betalningen (även för återförda), eller fakturan i InvoiceNumber finns inte. |
| 409 | 9000409 | Försök att ändra belopp, datum eller konto med PUT; fakturan hade inget öppet belopp; fakturan är avskriven som kundförlust. |
Allmänna fel (401, 403, 429) beskrivs under Felkoder.