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 e obligatorie pentru B2B din iulie 2024 și pentru B2C din ianuarie 2025. O factură B2B care nu trece prin sistem nu mai e considerată factură legală și atrage sancțiuni. 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 livrez
Integrarea acoperă ambele sensuri, nu doar trimiterea:
- Emitere. Factura se generează ca XML UBL 2.1 conform profilului RO_CIUS 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 Minister.
- Primire. Facturile de la furnizori se ridică automat din SPV, se parsează și se potrivesc cu documentele din contabilitate, ca să nu le introduci 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) - trimiți XML-ul UBL și primești un index de încărcare. - Interogare stare (
stareMesaj) - întrebi periodic dacă a fost acceptată, respinsă sau e încă în prelucrare. - Descărcare (
descarcare) - când e gata, iei arhiva ZIP care conține factura plus semnătura electronică a Ministerului Finanțelor.
La primire, lista de mesaje (listaMesaje) îți dă facturile sosite, cu o fereastră de maximum 60 de zile per interogare; pentru perioade mai mari folosești 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ă știi care e care și să păstrezi 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 faci 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ă ai un ERP, o aplicație de facturare sau un sistem propriu care trebuie să vorbească cu SPV-ul ANAF - fie că pornești 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 tău existent, nu îți cer să-l înlocuiești.
Vezi și raportarea SAF-T (D406), cealaltă obligație ANAF pe care o implementez din același sistem.