Integrare e-Factura cu ANAF
Facturare electronică cap-coadă prin SPV-ul ANAF: emitere, primire și fluxul OAuth2 care o ține în funcțiune.
e-Factura prin SPV-ul ANAF are obligație de raportare B2B din ianuarie 2024, iar din iulie 2024 o factură B2B care nu trece prin sistem nu e factură validă. B2C a urmat din ianuarie 2025. Am construit integrarea completă într-un produs care rulează în producție, așa că știu unde sunt capcanele, nu doar ce scrie în ghid.
Ce s-a schimbat în 2026
Obligația s-a tot mutat, iar o pagină scrisă pentru 2025 nu mai corespunde cu legea:
- Termenul de transmitere este de 5 zile lucrătoare, nu 5 zile calendaristice, de la 1 ianuarie 2026, prin OUG nr. 89/2025 (Monitorul Oficial nr. 1203 din 24 decembrie 2025). Regula are două brațe: 5 zile lucrătoare de la data facturii și cel târziu 5 zile lucrătoare de la termenul de emitere prevăzut la art. 319 alin. (16) din Codul fiscal. Numărătoarea se face conform Regulamentului (CEE, Euratom) nr. 1182/71, deci ziua emiterii nu se pune la socoteală, iar un termen care se încheie sâmbăta, duminica sau într-o zi de sărbătoare legală curge până la sfârșitul următoarei zile lucrătoare.
- Facturile către persoane impozabile nestabilite în România, dar înregistrate aici în scopuri de TVA trec și ele prin RO e-Factura de la 1 ianuarie 2026. Două excepții rămân în afară și amândouă contează în cod: bonurile fiscale care îndeplinesc condițiile unei facturi simplificate și facturile pentru livrări intracomunitare de bunuri pentru care cumpărătorul comunică un cod de TVA din alt stat membru.
- Persoanele fizice care se identifică fiscal prin CNP urmau să intre în sistem la 1 iunie 2026, după o amânare de la 15 ianuarie. Obligația a fost eliminată înainte să producă efecte. Legea nr. 88/2026, publicată în Monitorul Oficial nr. 459 din 29 mai 2026 și în vigoare de la 1 iunie 2026, face RO e-Factura opțională pentru ele, printr-un registru separat de înscriere voluntară, și la fel pentru agricultorii în regim special.
Expunerea e de ambele părți: 15% din totalul facturii pentru emitentul care nu facturează electronic și tot 15% pentru beneficiarul stabilit în România care o primește și o înregistrează în afara sistemului. Depășirea termenului de transmitere e o faptă separată și mai mică, de la 1.000 la 10.000 de lei în funcție de mărimea contribuabilului. Niciuna nu se poate achita cu jumătate din minim.
Dacă integrarea dumneavoastră numără zilele cu o aritmetică simplă pe date, regula zilelor lucrătoare e o modificare care se face în cod, nu una pe care o compensați depunând mai devreme.
Ce livrez
Integrarea acoperă ambele sensuri, nu doar trimiterea:
- Emitere. Factura se generează ca XML UBL 2.1 conform profilului CIUS-RO 1.0.1 (CustomizationID
urn:cen.eu:en16931:2017#compliant#urn:efactura.mfinante.ro:CIUS-RO:1.0.1), bazat pe EN16931, se încarcă în SPV, se urmărește starea până la validare și se descarcă răspunsul semnat de Ministerul Finanțelor. - Primire. Facturile de la furnizori se preiau automat din SPV, se parsează și se potrivesc cu documentele din contabilitate, ca să nu le introduceți de două ori.
- Autentificare OAuth2 cu reînnoire automată a token-ului, pornind de la certificatul digital folosit o singură dată la autorizarea aplicației în SPV.
Cum funcționează, pe scurt
Fluxul real cu ANAF nu e un singur apel. O factură emisă trece prin:
- Încărcare (
upload) - trimiteți XML-ul UBL și primiți un index de încărcare. - Interogare stare (
stareMesaj) - întrebați periodic dacă a fost acceptată, respinsă sau e încă în prelucrare. - Descărcare (
descarcare) - când e gata, luați arhiva ZIP care conține factura plus semnătura electronică a Ministerului Finanțelor.
La primire, lista de mesaje (listaMesaje) vă dă facturile sosite, cu o fereastră de maximum 60 de zile per interogare; pentru perioade mai mari folosiți varianta paginată. Fiecare mesaj se descarcă, se dezarhivează și se citește UBL-ul din interior.
Detaliile care fac diferența
Lucrurile care pică integrările făcute în grabă:
- Token-ul de acces ANAF e valabil ~90 de zile, cel de refresh un an. Dacă reînnoirea nu e automată, într-o bună zi facturile nu mai pleacă și nimeni nu știe de ce, iar când expiră și refresh-ul trebuie reluată autorizarea cu certificat în SPV. La mine reînnoirea e automată, cu retry pe 401 și protecție la accesul concurent.
- Taxare inversă (Art. 331). Se codifică distinct în UBL, cu motivul scutirii, altfel factura e respinsă la validare.
- Cote de TVA multiple pe aceeași factură. Defalcarea pe cote (21% standard, 11% redus, scutit) se grupează și se totalizează corect în secțiunea de taxe.
- Arhiva descărcată conține două fișiere - factura și semnătura. Trebuie să știți care e care și să păstrați originalul pentru audit.
- Potrivirea facturilor primite cu cele introduse manual se face strict, pe cod fiscal furnizor plus număr plus total, cu toleranță, ca să nu faceți dubluri.
Construit într-un produs real
Toate astea rulează în Manag.Web, platforma de management pe care o construiesc și o întrețin ca produs propriu, în producție la mai multe firme din România. Nu e un experiment: emite și primește facturi zilnic, cu sincronizare automată a documentelor sosite din SPV.
Documentația produsului, inclusiv partea de facturare și conformitate, e publică: manag.zbconsulting.eu.
Pentru cine e
Dacă aveți un ERP, o aplicație de facturare sau un sistem propriu care trebuie să vorbească cu SPV-ul ANAF - fie că porniți de la zero, fie că o integrare existentă se comportă imprevizibil - pot prelua partea asta cap-coadă: de la generarea UBL până la fluxul complet de stare și primire. Mă integrez în sistemul dumneavoastră existent, nu vă cer să-l înlocuiți.
Vedeți și raportarea SAF-T (D406), cealaltă obligație ANAF pe care o implementez din același sistem.
Construiesc software-ul care produce fișierele acestea. Nu sunt consultant fiscal, iar ce scrie aici nu ține loc de sfatul contabilului dumneavoastră. Datele și versiunile de pe pagină au fost verificate în sursele ANAF și Ministerul Finanțelor la 29 august 2026.