Sari la conținut

RO esential

Integrare ANAF e-Factura — UBL 2.1, SPV API, OAuth2 cu certificat

Integrare e-Factura obligatorie B2B din 2024 conform OUG 120/2021. Generam XML UBL 2.1, facem upload automat la SPV via API ANAF, urmarim status si descarcam raspuns semnat. De la 400€ implementare, fara abonament obligatoriu.

XML UBL 2.1 CIUS-RO
OAuth2 certificat ANAF
Status tracking auto
Conform OUG 120/2021

Ce primesti

Modul e-Factura complet — de la generare XML pana la arhiva raspunsuri ANAF

Generator XML UBL 2.1 conform CIUS-RO

Modul care primeste datele facturii din aplicatia ta (header, linii, TVA, total, cumparator) si produce XML UBL 2.1 conform specificatiei CIUS-RO publicata de ANAF. Validare schema XSD locala inainte de upload, mapping automat cote TVA (19%, 9%, 5%, 0%, scutire), gestiune storno cu referinta la factura originala.

OAuth2 cu certificat ANAF

Setup autentificare OAuth2 cu certificatul tau digital calificat (certSIGN, DigiSign, Trans Sped). Token cu valabilitate 90 zile, refresh automat cu 7 zile inainte de expirare. Stocare certificat criptat AES-256 in secrets manager. Daca nu ai certificat digital, te ghidam la obtinere (cost 50-100€/an la autoritatea de certificare).

Upload automat la SPV ANAF

POST autenticat la api.anaf.ro/prod/FCTEL/rest/upload cu Authorization Bearer si XML body UBL 2.1. Idempotency cu hash factura sa nu trimitem duplicate. Coada cu retry exponential pentru erori 5xx (SPV down frecvent zilele 25-30 ale lunii). Logare completa request/response pentru audit.

Status tracking facturi

Cron job verifica /stareMesaj?id_incarcare={id} la 30 minute pana primeste stare finala (in procesare, acceptata, respinsa). Dashboard in admin cu lista facturilor si status real-time. Alertare email/SMS la respingeri pentru interventie rapida. Reincercare automata pentru anumite tipuri de erori temporare.

Descarcare si arhiva raspuns ANAF

La acceptare, descarcam automat factura semnata XML + PDF generat de ANAF si le salvam in arhiva ta (S3, local, sau Google Drive). Retentie configurabila (legal minim 10 ani). Cautare rapida dupa numar factura, CIF cumparator, data, suma. Export bulk pentru contabil sau audit.

Gestiune erori si respingeri

Mapping coduri eroare ANAF in mesaje umane romaneste (ex: E_INVALID_CIF -> 'CUI cumparator invalid, verifica formatul'). Notificare imediata catre echipa contabila cu instructiuni de corectie. Daca eroarea e fixabila automat (rotunjire TVA, format CIF), corectam si retrimitem fara interventie.

Cod sursa livrat + documentatie

Primesti tot codul sursa (TypeScript / PHP / Python, dupa stack). Documentatie tehnica scrisa cum functioneaza fiecare modul, cum se configureaza, cum se testeaza pe SPV TEST. Diagrama de flux factura de la creare la arhivare. Daca maine schimbi furnizor de development, oricine poate prelua.

Monitoring si alertare

Dashboard cu metrici: facturi trimise/zi, rata acceptare, timp mediu raspuns ANAF, erori per cod. Alertare automata daca rata respingere depaseste 5% intr-o zi (semnaleaza probleme schema sau date sursa). Alerta la SPV down de peste 4h. Status page intern pentru echipa.

Cum functioneaza

De la kick-off la prima factura acceptata la ANAF — 5-10 zile lucratoare

Zilele 1-2

Setup certificat OAuth2 ANAF

Verificam ca ai certificatul digital calificat (certSIGN, DigiSign sau Trans Sped). Daca nu, te ghidam la obtinere si platim noi cererea (50-100€ care intra in factura finala). Setam OAuth2 flow cu certificat client, obtinem primul token de productie, validam ca SPV ne accepta.

Zilele 3-5

Generator XML UBL 2.1

Construim modul de generare XML conform CIUS-RO. Mapping datele facturii tale (BD, CRM, ERP) -> structura UBL. Validare locala cu schema XSD ANAF. Testam cu DUKIntegrator (utilitarul oficial ANAF) sa fim siguri ca XML-ul trece validarea inainte de upload.

Zilele 6-7

Integrare upload SPV + status

Implementam endpoint POST catre api.anaf.ro/prod/FCTEL/rest/upload, cron job pentru /stareMesaj?id_incarcare={id}, coada cu retry exponential, idempotency cu hash. Descarcam si stocam id_incarcare si raspunsurile ANAF.

Zilele 8-9

Testare pe SPV TEST

Rulam 20-50 facturi de test pe mediul de testare ANAF (api.anaf.ro/test). Verificam fiecare scenariu: factura standard, storno, multiple cote TVA, scutiri, valuta, cumparator persoana fizica. Corectam erorile descoperite.

Zilele 9-10

Trecere pe PROD + monitoring

Switchover pe endpoint-ul de productie, primele 50 facturi reale cu monitoring activ. Alertare imediata la respingeri pentru corectie rapida. Dashboard cu metrici, training echipa contabila 30 min, documentatie predata. 30 zile monitoring activ inclus.

Detaliu tehnic

Cum arata exact apelul la ANAF

Upload-ul facturii foloseste POST api.anaf.ro/prod/FCTEL/rest/upload cu header Authorization: Bearer <token> si body XML UBL 2.1. Status check ulterior la /stareMesaj?id_incarcare={id}. Token-ul OAuth2 e obtinut cu certificatul digital calificat ANAF, valabilitate 90 zile, refresh automat in modulul nostru.

Endpoint upload

POST /prod/FCTEL/rest/upload

Status check

GET /stareMesaj?id_incarcare={id}

Format payload

XML UBL 2.1 (CIUS-RO)

Autentificare

OAuth2 Bearer + cert digital

Limite

Max 5MB / factura

Raspuns final

XML semnat ANAF + PDF

Stack suportat

Integram cu orice stack care poate face HTTP requests si parsa XML

WooCommerce

Plugin PHP custom — 60% din clienti SMB

Shopify

Via webhook + middleware Node.js

PrestaShop

Modul PHP dedicat, override classes

Magento 2

Extension cu service contracts

Next.js custom

Server actions + Zod validation

Astro

API routes Node adapter

WordPress headless

REST API + worker dedicat

PHP / Laravel custom

Jobs Laravel + queue Redis

Nu suportam: AS/400, COBOL, sisteme fara conectivitate HTTP outbound. Pentru ERP-uri legacy (NextUp, Charisma) facem integrare via middleware dedicat.

Preturi

Trei tier-uri implementare + mentenanta optionala

Simplu

400-600€

livrare 5-7 zile lucratoare

  • Pana la 200 facturi/luna
  • Format facturi standard B2B
  • 1 cota TVA principala (19%)
  • Fara TVA la incasare
  • Storno simplu
  • Cod sursa + documentatie
  • 90 zile suport bug-uri
Cere oferta

Mediu

700-1000€

livrare 7-10 zile lucratoare

  • Peste 500 facturi/luna
  • Multiple cote TVA (19, 9, 5)
  • Scutiri TVA si valuta
  • Storno cu referinta originala
  • Dashboard status real-time
  • Alertare email/SMS respingeri
  • Monitoring activ 30 zile
  • 90 zile suport bug-uri
Cere oferta

Complex

1100-1500€

livrare 10-15 zile lucratoare

  • Multi-tenant (mai multe firme)
  • Produse cu accize
  • Integrare ERP (NextUp, Charisma)
  • Reconciliere extras de cont
  • Rapoarte contabilitate custom
  • SLA mentenanta dedicat
  • Monitoring activ 60 zile
  • 90 zile suport bug-uri
Cere oferta

Ce influenteaza pretul real

Volum facturi/luna: sub 200 (simplu), 200-1000 (mediu), peste 1000 (complex, nevoie de coada robusta).

Diversitatea facturilor: o cota TVA = simplu; cote multiple, scutiri, valuta, accize = complex.

Sistemul sursa: aplicatie noua (simplu), WooCommerce (mediu), ERP legacy (complex).

Mentenanta lunara: 0€ (gestionezi singur), 25-50€ (monitoring + updates schema), 80€+ (SLA contractual).

Cui se potriveste

  • Firme cu peste 200 facturi/luna care vor automatizare totala fluxul SPV
  • Site-uri e-commerce care emit facturi B2B din comenzi (WooCommerce, Shopify)
  • Companii cu ERP propriu sau facturare custom care nu vor sa migreze
  • Multi-tenant care factureaza pentru mai multe entitati juridice
  • Firme cu logica specifica de facturare (abonamente, proportional, discount complex)
  • Cei care au incercat upload manual SPV si pierd ore lunar cu el

Cui NU se potriveste

  • Firme sub 50 facturi/luna — SmartBill Basic 14€/luna sau Oblio Gratuit sunt mai bune
  • Cei care nu au inca sistem propriu de facturare — mai bine cumpara SaaS romanesc
  • Firme fara dezvoltator intern care nu vor dependenta lunga de furnizor extern
  • Companii cu fluxul de baza inca neasezat (CRM, stocuri) — rezolva intai aceea
  • Cei care emit doar facturi B2C — e-Factura B2B obligatorie nu se aplica la fel
  • Sisteme legacy fara conectivitate HTTP outbound (AS/400, COBOL pur)

Intrebari frecvente

Ce ne intreaba firmele inainte sa aleaga integrare ANAF e-Factura custom

Cat costa real integrarea ANAF e-Factura si ce influenteaza pretul?

Implementare one-off: 400-1500€ in functie de complexitate. Cazul simplu (400-600€): site cu pana la 200 facturi/luna, format facturi standard, fara TVA la incasare, fara facturi storno frecvente. Cazul mediu (700-1000€): peste 500 facturi/luna, multiple cote TVA, scutiri TVA, facturi in valuta. Cazul complex (1100-1500€): multi-tenant (mai multe firme), produse cu accize, integrare cu ERP existent (NextUp, Charisma), reconciliere automata cu extras de cont. Mentenanta lunara optionala 0-50€/luna pentru monitoring API ANAF si update-uri la schimbari de schema UBL.

De ce sa fac integrarea custom in loc sa folosesc SmartBill sau Oblio direct?

SmartBill si Oblio sunt excelente daca esti OK sa muti tot fluxul de facturare in aplicatia lor (35-100€/luna). Integrare custom directa cu ANAF e justificata cand: 1) Ai deja un sistem de facturare custom sau ERP propriu pe care nu vrei sa-l inlocuiesti. 2) Volumul depaseste 1000 facturi/luna si abonamentele SaaS devin scumpe. 3) Ai logica specifica (discounturi complexe, abonamente recurente, facturare proportionala) care nu se mapeaza pe template-urile lor. 4) Vrei control total asupra datelor (GDPR, audit intern). Pentru majoritatea SMB-urilor, SmartBill ramane mai pragmatic — recomandam onest.

Cat dureaza implementarea de la kick-off la prima factura trimisa cu succes la ANAF?

Tipic 5-10 zile lucratoare. Ziua 1-2: setup OAuth2 cu certificatul tau digital ANAF (trebuie obtinut de la o autoritate de certificare romaneasca — certSIGN, DigiSign, Trans Sped — daca nu il ai deja). Ziua 3-5: dezvoltare generator XML UBL 2.1, mapping CIF/CUI, validare locala cu DUKIntegrator (utilitarul oficial ANAF). Ziua 6-8: integrare endpoint upload SPV, gestionare raspunsuri, status tracking, descarcare PDF semnat. Ziua 9-10: testare pe SPV TEST (api.anaf.ro/test), trecere pe PROD, monitoring primele 50 facturi. Daca nu ai certificat digital, adauga 3-5 zile pentru obtinere.

Ce face exact integrarea — pas cu pas, ce primesc?

Primesti un modul complet care: 1) Genereaza XML UBL 2.1 din datele facturii (header, linii, TVA, total) conform schema CIUS-RO. 2) Valideaza local XML inainte de upload folosind reguli ANAF (CIF format, cote TVA permise, totaluri corecte). 3) Face POST autenticat la api.anaf.ro/prod/FCTEL/rest/upload cu Bearer token OAuth2 si XML in body. 4) Salveaza id_incarcare returnat in baza ta. 5) Cron job verifica /stareMesaj?id_incarcare={id} la 30 min pana primeste stare finala. 6) Descarca raspuns ANAF (factura semnata XML + PDF) si salveaza in arhiva. 7) Dashboard cu statusuri (in procesare, acceptata, respinsa cu motiv). Plus retry automat la erori temporare 5xx.

Ce stack-uri tehnice suportati pentru integrare?

Integram cu orice tehnologie care poate face HTTP requests si parsa XML. Cele mai frecvente: Next.js / Node.js (API routes sau server actions) — preferat pentru proiecte noi, modul TypeScript cu Zod pentru validare. PHP / Laravel sau WordPress custom (cu WooCommerce sau plugin propriu) — pentru 60% din clientii nostri SMB. Python / Django / FastAPI — pentru integrari cu sisteme analytics existente. .NET / ASP.NET — pentru ERP-uri legacy gen Charisma sau NextUp. Shopify — via webhook + middleware Node.js (Shopify nu permite cod server-side direct). PrestaShop si Magento — module PHP dedicate. WordPress headless cu API custom. Nu suportam: AS/400, COBOL, sisteme fara conectivitate HTTP outbound.

Care sunt erorile comune la upload e-Factura si cum le rezolvati?

Cele mai frecvente in productie: 1) E_INVALID_CIF — CIF cumparator gresit format (lipsa RO sau cifre invalide), solutie: validare locala cu algoritm CUI inainte de upload. 2) E_INVALID_TVA — totalul TVA nu se potriveste cu suma liniilor (diferente de rotunjire), solutie: calcul TVA per linie cu rotunjire la 2 zecimale apoi suma, nu invers. 3) E_DUPLICATE — factura cu acelasi numar deja trimisa, solutie: idempotency cu hash factura + tracking trimiteri. 4) HTTP 401 — token OAuth expirat (valabilitate 90 zile pentru certificat), solutie: refresh automat cu 7 zile inainte de expirare. 5) HTTP 503 — SPV down (frecvent in zilele 25-30 ale lunii), solutie: coada cu retry exponential si alertare daca depaseste 4h.

Ce suport tehnic includeti dupa go-live si pentru cat timp?

Inclus standard: 90 zile suport bug-uri post-livrare (orice nu functioneaza conform spec, reparam gratuit). Monitoring activ primele 30 zile cu alertare email/SMS daca rata de respingere ANAF depaseste 5%. Documentatie scrisa cum se foloseste modulul + video training 30 min cu echipa ta contabila. Optional: pachet mentenanta 50€/luna cu monitoring continuu, updates la schimbari schema UBL anuntate de ANAF (de obicei 1-2 ori pe an), prioritate la incidente (raspuns sub 4h ore lucratoare). Pentru clientii fara mentenanta lunara: interventii ad-hoc la 60€/ora cu programare in 48h.

Cand NU e potrivita integrarea custom cu ANAF e-Factura?

Nu ti-o recomandam in 4 situatii. 1) Daca emiti sub 50 facturi/luna — SmartBill Basic 14€/luna sau Oblio Gratuit pana la 12 facturi/luna sunt mult mai ieftine si la fel de legal. 2) Daca nu ai un sistem propriu de facturare si vrei sa-l construiesti de la zero — mai bine cumperi SmartBill/Oblio decat sa reinventezi facturarea + integrare ANAF. 3) Daca firma nu are dezvoltator intern si nu vrei dependenta lunga de noi — SaaS-urile romanesti au suport telefonic in romana, custom-ul depinde de noi. 4) Daca tocmai te lupti cu fluxul de baza al firmei (CRM, stocuri, comenzi) — rezolva intai aceea, e-Factura e ultimul pas. Iti spunem direct in sesiunea de discovery daca esti in vreuna din situatii.

Integrari conexe

Daca SmartBill sau Oblio sunt mai potrivite — recomandam onest

Vrei integrare ANAF e-Factura?

Trimite-ne stack-ul tau (Next.js, WooCommerce, ERP) si volumul lunar de facturi. In 4 ore primesti oferta detaliata cu tier-ul potrivit si timeline realist.