Rēķinu izrakstīšana caur API

POST /invoices ar Idempotency-Key, PVN procentos, kā arī saraksts, storno un atzīmēšana kā apmaksāts.

POST /invoices ar Idempotency-Key, PVN procentos, kā arī saraksts, storno un atzīmēšana kā apmaksāts.

← Atpakaļ uz API dokumentāciju

Pirmais rēķins 6 soļos

  1. Nosūtiet POST /v1/invoices ar buyer objektu un vismaz vienu ierakstu lines.
  2. Pievienojiet Idempotency-Key galveni — tā ir obligāta, viena atslēga vienai loģiskai darbībai.
  3. Sūtiet vat_rate procentos (21) un unit_price kā NETO vienības cenu.
  4. 201 atbildē ir id, number, series, summas net/vat/gross un jūsu nosūtītie metadati.
  5. Iegūstiet dokumentu ar GET /v1/invoices/{id}/pdf vai UBL XML ar GET /v1/invoices/{id}/xml.

Visi galapunkti

MetodeGalapunktsScopeIdempotency-KeyPieprasījumi / minūtē
POST/invoices
Izrakstīt rēķinu vai proforma rēķinu
invoices:writeobligāts30
GET/invoices
Uzskaitīt rēķinus (lapošana ar kursoru)
invoices:read—120
POST/invoices/preview-totals
Aprēķināt summas, neko neveidojot
invoices:read—120
GET/invoices/{invoice_id}
Iegūt vienu rēķinu
invoices:read—120
GET/invoices/{invoice_id}/pdf
Lejupielādēt rēķina PDF
invoices:read—120
POST/invoices/{invoice_id}/storno
Izrakstīt kredītrēķinu, kas anulē šo rēķinu
invoices:writeobligāts30
POST/invoices/{invoice_id}/payments
Atzīmēt rēķinu kā apmaksātu
invoices:write—30
DELETE/invoices/{invoice_id}/payments
Atzīmēt rēķinu kā neapmaksātu
invoices:write—30

Kas ir 4invoices API

bash
curl -sS -X POST https://api.4invoices.net/v1/invoices \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: order-10457-invoice' \
  -d '{
    "buyer": {
      "name": "Exemplu Comert SRL",
      "tax_id": "RO12345678",
      "address": "Str. Fabricii 12",
      "city": "Cluj-Napoca",
      "county": "Cluj",
      "country": "RO",
      "email": "[email protected]"
    },
    "lines": [
      { "description": "Abonament SaaS, iulie", "quantity": 1, "unit_price": 400, "vat_rate": 21, "unit": "buc" },
      { "description": "Implementare", "quantity": 6, "unit_price": 250, "vat_rate": 21, "unit": "ora" }
    ],
    "currency": "RON",
    "document_kind": "factura",
    "due_date": "2026-08-15",
    "metadata": { "order_id": "10457" }
  }'
bash
# Lapošana ar kursoru: sekojiet next_cursor, līdz has_more ir false.
curl -sS "https://api.4invoices.net/v1/invoices?limit=50&status=issued&issued_from=2026-07-01" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

# → {"object":"list","data":[...],"has_more":true,"next_cursor":"inv_01J..."}

curl -sS "https://api.4invoices.net/v1/invoices?limit=50&cursor=inv_01J..." \
  -H "Authorization: Bearer $ACCESS_TOKEN"
bash
curl -sS -X POST https://api.4invoices.net/v1/invoices/inv_01J7ABC/storno \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H 'Idempotency-Key: storno-inv_01J7ABC-1'

# Kredītrēķins saņem SAVU fiskālo numuru; sākotnējais numurs nekad netiek izmantots atkārtoti.
bash
# Atzīmēt kā apmaksātu
curl -sS -X POST https://api.4invoices.net/v1/invoices/inv_01J7ABC/payments \
  -H "Authorization: Bearer $ACCESS_TOKEN"

# Atsaukt
curl -sS -X DELETE https://api.4invoices.net/v1/invoices/inv_01J7ABC/payments \
  -H "Authorization: Bearer $ACCESS_TOKEN"

https://api.4invoices.net/v1 · https://api.4invoices.net/v1/openapi.json

Kļūdas

StatussTipsKods
422invalid_request_errorissuer_profile_incomplete
422invalid_request_errorcannot_storno_draft
422invalid_request_errornothing_to_storno

Biežākās kļūdas

  • Saraksts balstās uz kursoru: sekojiet next_cursor, līdz has_more ir false. Filtri: status, document_kind, buyer_tax_id, issued_from, issued_to un q.
  • Storno ir POST /v1/invoices/{id}/storno un saņem savu fiskālo numuru — sākotnējais numurs nekad netiek izmantots atkārtoti.
  • Proforma rēķins (document_kind proforma) neizlieto fiskālo numuru un nevar tikt iesniegts valsts e-rēķinu sistēmā.
  • metadata tiek atgriezti lasījumos: ievietojiet tur savu pasūtījuma ID, un atsevišķa atbilstības tabula nebūs vajadzīga.
  • POST /v1/invoices/preview-totals veic to pašu aprēķinu bez blakusefektiem — ērti summu rādīšanai jūsu grozā.

Izstrādātāju jautājumi un atbildes

Cik rindu var būt vienā rēķinā?

No 1 līdz 400. description ir ierobežots līdz 1024 rakstzīmēm, un quantity jābūt stingri pozitīvam.

Kas notiek, ja pēc noildzes nosūtu to pašu pieprasījumu vēlreiz?

Ar to pašu Idempotency-Key saņemsiet sākotnējo rēķinu un galveni Idempotency-Replayed: true. Otrs dokuments netiek izveidots.

Kā atzīmēt rēķinu kā apmaksātu?

POST /v1/invoices/{id}/payments atzīmē to kā apmaksātu, un DELETE pa to pašu ceļu to atceļ. Abiem nepieciešams scope invoices:write.