← Referens
POST/api/inbound/order

Order från e-handel eller kassasystem

Tar emot en order i ETT generiskt format och gör den till ett fakturautkast — inga plattformsadaptrar, och det är ett val. En adapter mot någon annans API går inte att bygga rätt utan ett konto att pröva mot, och en gissning om moms blir kundens myndighetsfel.

pricesIncludeVat är obligatoriskt: det går inte att se på ett tal om momsen ingår, och att anta fel gör varje rad 25 procent fel. En order som inte går att kontera rätt får 422 och SPARAS med sitt skäl — den går att rätta och skicka om. En spärrad order som försvinner är omöjlig att skilja från en order som aldrig kom.

Debet & Kredit kör på din egen server, så bas-URL:en är din — inte vår. Skriv in den här, så byts den ut i varje kodexempel i dokumentationen.

POST https://din-installation.se/api/inbound/order

Behörighet

Ta emot underlag intake:write

Lämnar in ordrar och e-fakturor till inkorgen. Ser inget som redan finns.

Takt

600 anrop per timme och nyckel (ställbart per nyckel).

Bakåtkompatibelt

ORDER_INBOUND_SECRET fungerar parallellt

Parametrar

Kropp (JSON)

NamnTypKrävsBeskrivning
externalIdstringjaButikens ordernummer. Unikt — samma nummer kan aldrig bli två fakturor. SHOP-10042
orderDatedatejaOrderdatum (ÅÅÅÅ-MM-DD). 2026-03-12
currencystringjaOrderns valuta. SEK — bokföringen sker i redovisningsvalutan, och en order i annan valuta spärras med sitt skäl i stället för att räknas om med en gissad kurs. SEK
pricesIncludeVatbooleanjaOm radernas priser är inklusive moms. Obligatoriskt. true
totalnumbernejVad kunden betalade inklusive moms. Krävs när pricesIncludeVat är true, så baklängesräkningen kan stämmas av. 1249
customerobjectjaname, och gärna email, orgNumber, vatNumber och countryCode.
rowsarrayjadescription, quantity, unitPrice, vatRate och gärna articleNumber.

Svar

Exempel på anrop:

{
  "externalId": "SHOP-10042",
  "orderDate": "2026-03-12",
  "currency": "SEK",
  "pricesIncludeVat": true,
  "total": 1249,
  "customer": {
    "name": "Anna Andersson",
    "email": "anna@example.com",
    "countryCode": "SE"
  },
  "rows": [
    {
      "description": "Träningsbälte",
      "quantity": 1,
      "unitPrice": 1249,
      "vatRate": 25
    }
  ]
}

Exempel på svar:

{
  "ok": true,
  "invoiceId": "7d8e9f0a-1b2c-4d3e-8f4a-5b6c7d8e9f0a",
  "customerId": "3c9a1b2d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"
}

Statuskoder

KoderrorBetydelse
200Utkastet skapades — eller ordern var redan mottagen (duplicate: true).
400Kroppen är inte giltig JSON.
413Ordern är större än 1 MB.
422Ordern är mottagen och sparad med sitt skäl, men kunde inte konteras. Någon ska titta på den — skicka den inte om oförändrad.
403insufficient_scopeNyckeln är giltig men saknar behörigheten rutten kräver.
401unauthorizedSaknad, felformad eller okänd nyckel.
401key_revokedNyckeln är återkallad av installationens ägare.
429rate_limitedNyckelns kvot för timmen är förbrukad. Retry-After säger när den återställs.
503server_misconfiguredInstallationen saknar konfiguration för API:et.

Felkroppens fält och råd om omförsök står på Fel och statuskoder.

Kodexempel

curl -X POST "https://din-installation.se/api/inbound/order" \
  -H "Authorization: Bearer dk_live_DIN_NYCKEL" \
  -H "Content-Type: application/json" \
  -d '{
  "externalId": "SHOP-10042",
  "orderDate": "2026-03-12",
  "currency": "SEK",
  "pricesIncludeVat": true,
  "total": 1249,
  "customer": {
    "name": "Anna Andersson",
    "email": "anna@example.com",
    "countryCode": "SE"
  },
  "rows": [
    {
      "description": "Träningsbälte",
      "quantity": 1,
      "unitPrice": 1249,
      "vatRate": 25
    }
  ]
}'