Conformitate fiscală

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:

  1. Încărcare (upload) - trimiți XML-ul UBL și primești un index de încărcare.
  2. Interogare stare (stareMesaj) - întrebi periodic dacă a fost acceptată, respinsă sau e încă în prelucrare.
  3. 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.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.

An unhandled error has occurred. Reload 🗙