Alerte ANAF
Facturare prin API, cu depunere automată în e-Factura
Magazinul trimite comanda printr-un singur apel HTTP. Factura se emite din seria firmei, ajunge la client pe email în PDF și se depune în RO e-Factura — cu regulile CIUS-RO verificate înainte de trimitere, nu după respingere.

Magazine online și firme care emit facturi din propriile sisteme
- Laravel
- Inertia.js
- React
- Tailwind CSS
- Vite
- RO e-Factura
- Cloudflare
Despre produs
O factură pentru RO e-Factura nu este un PDF: este un document electronic în format UBL 2.1 / RO-CIUS, care trebuie să treacă regulile ANAF înainte de a fi acceptat. Alerte ANAF mută toată treaba asta în spatele unui apel HTTP — „site-ul tău trimite comanda", iar aplicația alocă numărul, construiește documentul electronic, generează PDF-ul, îl trimite clientului și depune factura în e-Factura. Pe serverul magazinului nu se instalează nimic, iar despre formatul ANAF nu rămâne nimic de ținut minte.
Configurarea are patru pași și se face o singură dată. Conectezi contul din Spațiul Privat Virtual cu certificatul digital, iar ANAF returnează CUI-urile pentru care certificatul are drepturi — firmele apar singure, completate din registrul public. Generezi apoi câte un token pentru fiecare site sau magazin, cu seria lui de facturi și cu setările lui, iar de acolo fiecare comandă este un singur POST. API-ul este asincron: apelul răspunde 202 cu un identificator, iar numerotarea, XML-ul, PDF-ul și depunerea se întâmplă în fundal, cu starea vizibilă în cont sau primită prin webhook.
Partea în care produsul își câștigă existența este validarea. Regulile care resping cel mai des o factură se verifică înainte de trimitere — sectorul Bucureștiului normalizat, județul în ISO 3166-2:RO, perechea categorie–cotă de TVA — plus o verificare proprie a cifrei de control a CUI-ului. Verificarea rulează pe un număr de probă, iar numărul real se alocă abia după ce factura trece, ca seria să rămână fără goluri. Rolurile sunt la fel de explicit delimitate: emitentul rămâne firma clientului, depunerea se face pe baza autorizării date din SPV și retrase oricând, iar footerul spune direct că serviciul „nu are nicio legătură instituțională cu ANAF".
StatusPlanurile pornesc de la unul gratuit, cu o firmă, un site și un plafon lunar de facturi, și urcă până la unul corporate, cu firme, site-uri și facturi nelimitate. Sandbox-ul este inclus pe toate, iar facturile de test nu consumă din plafon. Prețurile curente sunt pe alerteanaf.ro.
Ce face
Toată factura, într-un singur apel
Un POST cu datele cumpărătorului și liniile comenzii primește 202 Accepted și un identificator. Numerotarea, XML-ul, PDF-ul, emailul și depunerea la ANAF se fac apoi în fundal, prin cozi.
Regulile RO-CIUS verificate înainte de trimitere
O factură respinsă de ANAF se întoarce la emitent, nu la client, iar motivul se află abia atunci. Regulile se verifică local, iar cererea se oprește cu câmpul și regula care au blocat-o.
Serie fiscală fără goluri
Validarea rulează pe un număr de probă și numărul real se alocă abia după ce factura trece. Alocarea se face sub blocare, deci două comenzi simultane nu pot primi același număr.
Sandbox pe orice plan, inclusiv cel gratuit
Un singur câmp emite dintr-o serie de test, marcată vizibil peste tot, fără valoare fiscală și fără să consume din limita lunară. Trecerea în producție este o setare pe sursă, nu o modificare de cod.
Un token pentru fiecare site
Fiecare magazin are cheia lui, seria lui și setările lui de trimitere, iar revocarea unui token oprește exact acel site. Tokenul se arată o singură dată — aplicația păstrează doar un HMAC al lui.
Idempotență pe identificatorul comenzii
Aceeași cheie cu același conținut întoarce răspunsul original, deci un client HTTP care a dat timeout poate reîncerca fără să emită a doua factură. Aceeași cheie cu alt conținut primește 409, nu un document duplicat.
Stornarea ca document propriu
O factură emisă nu se șterge și nu se modifică. Stornul este un document nou, pe aceeași serie, cu referință obligatorie către factura corectată — inclusiv pentru rambursări parțiale, care se adună până la totalul facturii.
Webhook-uri semnate și arhivă exportabilă
Acceptarea sau respingerea de la ANAF ajunge prin webhook, pe planurile care îl includ, în locul interogării în buclă. Exportul este un ZIP organizat pe CIF și pe locație, cu PDF-urile și XML-urile la un loc.
Vrei un produs construit așa?
Aceeași echipă care ține aceste aplicații în producție poate construi și ce ai tu nevoie. Spune-ne unde ești și primești o evaluare concretă.
Solicită Ofertă