Docs

Opriți o factură care nu a fost încă transmisă

  • În sandbox

În cuvinte simple

Oprește o factură care nu a ajuns încă la canal.
POST
/invoices/{id}/cancel

Funcționează doar cât timp factura este received, validated sau queued. Începând cu 0.18.3, după ce s-a încercat o trimitere și răspunsul s-a pierdut (o depășire de timp sau un 5xx), factura apare ca submitting, iar o anulare primește 409 send-in-progress, deoarece canalul o poate avea; procesul de lucru o stabilește ca submitted sau dead_letter. După ce canalul o are, o anulare este un document comercial (o notă de credit sau, în Polonia, un KOR), nu un apel API. Începând cu 0.18.5, anularea unei facturi deja anulate primește 200 cu factura, deci o reîncercare după un răspuns pierdut este sigură. Începând cu 0.18.6, cheia operatorului poate anula o factură dead_letter când nu s-a făcut niciodată un apel către canal pentru ea: nu poate fi nimic pe canal, deci același document poate fi trimis din nou după aceea. Când s-a făcut un apel, răspunsul este 409 dead-letter-reached-rail, deoarece o trimitere al cărei răspuns s-a pierdut poate fi acolo: verificați mai întâi cu canalul. Cheia unui client primește 409 dead-letter; operatorul decide.

Autorizare

apiKey
headerAuthorizationBearer <token>

Trimiteți cheia ca token de tip bearer: Authorization: Bearer <your-api-key>. Starea serviciului este singurul apel care nu necesită cheie.

Parametri de cale

id*string

ID-ul facturii, returnat de apelul de transmitere.

Model^inv_[A-Za-z0-9]{16,40}$

Parametri de antet

Idempotency-Key*string

O cheie unică pentru fiecare cerere logică (un UUID este suficient). Se păstrează cât timp se păstrează datele clientului. Cu cheia operatorului nu poate începe cu client: (400), forma sub care sunt stocate cheile clienților.

Lungime8 <= length <= 100

Corpul răspunsului

Anulată înainte de transmitere, o factură blocată (dead letter) care nu a ajuns niciodată pe canal (cheia operatorului) sau deja anulată.

application/json
  1. response
id*string
invoice_ref*string
invoice_number?string
route*Route

Canalul de transmitere. Aceleași valori ca country_route din evenimentele de stare.

Valori permise"PEPPOL""PL-KSEF""RO-EFACTURA""FR-PA""DE-XRECHNUNG"
environment*string
Valori permise"sandbox""production"
state*InvoiceState

Starea proprie a serviciului pentru o factură. Evenimentele de stare raportează ciclul de viață vizibil partenerului; queued și submitting sunt pași interni între validated și submitted. validation_failed înseamnă că regulile oficiale au refuzat documentul; începând cu 0.18.4, o verificare care nu a rulat (KOSIT-RUN, EI-PDF-CHECK) se reîncearcă, apoi se încheie ca dead_letter cu acel cod. Un dead_letter își păstrează documentul reținut, deci același fișier primește răspuns cu duplicate_of; începând cu 0.18.6, operatorul poate anula una pentru care nu s-a făcut niciun apel către canal, iar apoi fișierul poate fi trimis din nou.

Valori permise"received""source_error""validated""validation_failed""queued""submitting""submitted""ready""accepted""rejected""delivered""cancelled""dead_letter"
legal_id?|

Numărul KSeF, indexul de încărcare ANAF, ID-ul documentului la punctul de acces, ID-ul facturii la platforma franceză.

buyer_status?string|null
document_sha256?|
Model^[a-f0-9]{64}$
attempts?array<>

Transmiteri anterioare ale aceluiași invoice_ref (de exemplu după o respingere și o corectare).

errors?array<>
documents?array<>
created_at*string
Formatdate-time
updated_at*string
Formatdate-time
deadline_at?string

Un termen orientativ pentru această factură, ca ultimul moment al ultimei sale zile permise în UTC (citiți partea de dată ca acea zi): data emiterii plus cinci zile lucrătoare pentru România (e-Factura), următoarea zi lucrătoare pentru Polonia (KSeF offline24). Zilele se numără de luni până vineri și sărbătorile legale nu sunt aplicate, deci termenul real poate fi mai târziu, niciodată mai devreme; nu este consultanță juridică. Este dat în fiecare stare a facturii; nu spune că factura a fost la timp sau întârziată. Prezent doar pentru aceste două canale și doar când factura are o dată a emiterii: POST /invoices cu un invoice.issue_date sau, începând cu 0.19.2, un fișier UBL (cbc:IssueDate) ori un fișier FA(3) (Fa/P_1) trimis ca XML sau depus în dosar. Un PDF nu are niciuna, iar absența ei nu înseamnă că nu se aplică niciun termen. Începând cu 0.19.1.

Formatdate-time
curl -X POST "https://example.com/invoices/inv_bd8bc8b276f38643f1c0f24f/cancel" \  -H "Authorization: Bearer <your-api-key>" \  -H "Idempotency-Key: order-2026-0001"
{  "invoice_ref": "FRESH-mux3dlqm-0",  "environment": "sandbox",  "document_sha256": "b341c81da6fe297787829a8c26fd4b25106b5b34e67482d38c1039651bbfed65",  "route": "DE-XRECHNUNG",  "updated_at": "2026-10-06T19:49:10.992Z",  "client": "acme-srl",  "created_at": "2026-10-06T19:49:10.816Z",  "id": "inv_ae4d9834bf251353532fe5ee",  "state": "cancelled",  "invoice_number": "FRESH-mux3dlqm-0"}