Integrare e-Factura ANAF: Ghid Complet pentru Companii
Tot ce trebuie să știi despre sistemul RO e-Factura: obligativitate, termene, integrare API, format XML UBL și cum să eviți amenzile. Ghid actualizat 2026 pentru antreprenori și dezvoltatori.
Pe scurt (Key Takeaways):
- Obligatoriu din 2024: Toate tranzacțiile B2B trebuie raportate în sistemul RO e-Factura
- B2C din 2025: Facturile către consumatori finali sunt obligatorii de la 1 ianuarie 2025
- Termen transmitere: 5 zile lucrătoare de la emiterea facturii
- Amenzi: 1.000 - 10.000 lei în funcție de categoria contribuabilului
- Format acceptat: XML în sintaxă UBL 2.1 sau CII, conform standardului EN16931
- Acces: Prin SPV (Spațiul Privat Virtual) sau prin API pentru integrare automată
Ce Este Sistemul RO e-Factura?
RO e-Factura este sistemul național de facturare electronică creat de ANAF pentru a digitaliza și standardiza procesul de facturare în România. Prin acest sistem, facturile sunt transmise electronic către ANAF, validate automat și puse la dispoziția destinatarului.
De ce a fost introdus?
- Reducerea evaziunii fiscale - facturile sunt verificate în timp real
- Digitalizarea economiei - eliminarea documentelor pe hârtie
- Conformitate UE - alinierea la standardele europene de facturare electronică
- Eficiență administrativă - automatizarea proceselor fiscale
Cum funcționează?
- Emitentul generează factura în format XML
- Transmite factura către ANAF prin SPV sau API
- ANAF validează factura (verifică structura, datele fiscale)
- Destinatarul primește factura în SPV sau o preia prin API
- Arhivare - facturile rămân în SPV 60 de zile
Cine Trebuie să Folosească e-Factura?
Obligativitate B2B (din 1 ianuarie 2024)
Toate persoanele impozabile stabilite în România trebuie să raporteze facturile emise în relația B2B (business-to-business), indiferent dacă sunt sau nu înregistrate în scopuri de TVA.
Include:
- SRL, SA, SNC și alte forme juridice
- PFA și Întreprinderi Individuale
- Profesii liberale (avocați, contabili, notari)
- ONG-uri care desfășoară activități economice
Obligativitate B2C (din 1 ianuarie 2025)
Din 2025, toate facturile către consumatori finali trebuie raportate în RO e-Factura. Aceasta include:
- Facturi pentru persoane fizice
- Bonuri fiscale simplificate transformate în facturi
- Facturi pentru livrări către populație
Excepții
- Tranzacții internaționale (export, livrări intracomunitare) - au regim separat
- Facturi simplificate sub 100 EUR (în anumite condiții)
- Operațiuni scutite fără drept de deducere
Termene și Sancțiuni
Termenul de transmitere
Facturile trebuie transmise în sistemul RO e-Factura în 5 zile lucrătoare de la:
- Data emiterii facturii, SAU
- Data-limită prevăzută pentru emiterea facturii (conform art. 319 alin. 16 din Codul Fiscal)
Amenzi pentru neconformare
| Categorie contribuabil | Amendă minimă | Amendă maximă |
|---|---|---|
| Contribuabili mari | 5.000 lei | 10.000 lei |
| Contribuabili mijlocii | 2.500 lei | 5.000 lei |
| Alte persoane juridice | 1.000 lei | 2.500 lei |
Important: Amenzile se aplică pentru fiecare factură netransmisă în termen!
Formatul XML și Standardele Tehnice
Sintaxe acceptate
ANAF acceptă două formate XML:
- UBL 2.1 (Universal Business Language) - cel mai folosit
- CII (Cross Industry Invoice) - alternativă
Ambele trebuie să respecte specificațiile RO_CIUS (Core Invoice Usage Specification), care sunt conforme cu standardul european EN16931.
Structura unui fișier XML e-Factura
<?xml version="1.0" encoding="UTF-8"?> <Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"> <CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:efactura.mfinante.ro:CIUS-RO:1.0.1</CustomizationID> <ID>FACT-2026-001</ID> <IssueDate>2026-01-14</IssueDate> <InvoiceTypeCode>380</InvoiceTypeCode> <DocumentCurrencyCode>RON</DocumentCurrencyCode> <!-- Furnizor --> <AccountingSupplierParty> <Party> <PartyTaxScheme> <CompanyID>RO12345678</CompanyID> </PartyTaxScheme> <PartyLegalEntity> <RegistrationName>Furnizor SRL</RegistrationName> </PartyLegalEntity> </Party> </AccountingSupplierParty> <!-- Client --> <AccountingCustomerParty> <Party> <PartyTaxScheme> <CompanyID>RO87654321</CompanyID> </PartyTaxScheme> <PartyLegalEntity> <RegistrationName>Client SRL</RegistrationName> </PartyLegalEntity> </Party> </AccountingCustomerParty> <!-- Linii factură --> <InvoiceLine> <ID>1</ID> <InvoicedQuantity unitCode="C62">10</InvoicedQuantity> <LineExtensionAmount currencyID="RON">1000.00</LineExtensionAmount> <Item> <Name>Produs exemplu</Name> </Item> <Price> <PriceAmount currencyID="RON">100.00</PriceAmount> </Price> </InvoiceLine> <!-- Totaluri --> <LegalMonetaryTotal> <TaxExclusiveAmount currencyID="RON">1000.00</TaxExclusiveAmount> <TaxInclusiveAmount currencyID="RON">1190.00</TaxInclusiveAmount> <PayableAmount currencyID="RON">1190.00</PayableAmount> </LegalMonetaryTotal> </Invoice>
Câmpuri obligatorii
- ID - numărul facturii
- IssueDate - data emiterii
- InvoiceTypeCode - tipul documentului (380 = factură, 381 = notă credit)
- DocumentCurrencyCode - moneda (RON, EUR, etc.)
- AccountingSupplierParty - datele furnizorului (CUI, denumire, adresă)
- AccountingCustomerParty - datele clientului
- InvoiceLine - liniile facturii (produse/servicii)
- TaxTotal - totalul TVA
- LegalMonetaryTotal - totalurile facturii
Validare
ANAF oferă instrumente de validare:
- Online: https://www.anaf.ro/uploadxmi/
- Aplicație completare: https://www.anaf.ro/CompletareFactura/
Versiunea curentă a artefactelor de validare: ro16931-ubl-1.0.9 (din 05.06.2024)
Metode de Transmitere
1. Manual prin SPV (Spațiul Privat Virtual)
Potrivit pentru: Companii cu volum mic de facturi (sub 50/lună)
Pași:
- Accesează https://www.anaf.ro/spv/
- Autentifică-te cu certificat digital sau user/parolă
- Navighează la secțiunea e-Factura
- Încarcă fișierul XML
- Verifică starea transmiterii
Avantaje:
- Gratuit
- Nu necesită cunoștințe tehnice
Dezavantaje:
- Proces manual, consumator de timp
- Risc de erori umane
- Nu scalează pentru volume mari
2. Integrare API (Automatizat)
Potrivit pentru: Companii cu volum mare de facturi sau care vor automatizare
Arhitectură:
[ERP/Facturare] → [Aplicație proprie] → [API ANAF] → [RO e-Factura]
↓
Autentificare OAuth 2.0
Endpoint-uri principale:
| Operație | Endpoint | Metodă |
|---|---|---|
| Upload factură | /upload/CIUS-RO/{cif} | POST |
| Verificare stare | /stareMesaj/{id} | GET |
| Descărcare răspuns | /descarcare/{id} | GET |
| Lista mesaje | /listaMesajeFactura | GET |
Flux de autentificare OAuth 2.0:
- Obține autorizare de la utilizator (redirect către ANAF)
- Primește authorization code
- Schimbă code-ul pentru access token + refresh token
- Folosește access token pentru apeluri API
- Reînnoiește token-ul când expiră
¿Necesitas ayuda con la implementación?
Completa el formulario y recibe una consulta gratuita en máximo 24 horas.
3. Soluții SaaS (Terți certificați)
Potrivit pentru: Companii care nu vor să dezvolte integrare proprie
Exemple de furnizori:
- SmartBill
- Facturis
- Oblio
- SeniorERP
- Nexus
Avantaje:
- Implementare rapidă
- Suport și actualizări incluse
- Fără dezvoltare internă
Dezavantaje:
- Cost lunar/per factură
- Dependență de furnizor
Integrare API: Ghid Tehnic Detaliat
Cerințe preliminare
- Înregistrare în SPV - compania trebuie să aibă acces la Spațiul Privat Virtual
- Certificat digital - pentru autentificare sau OAuth 2.0 configurate
- Cunoștințe XML/UBL - pentru generarea facturilor
- Mediu de dezvoltare - pentru testare (ANAF oferă sandbox)
Medii disponibile
| Mediu | URL de bază | Scop |
|---|---|---|
| Test | https://api.anaf.ro/test/FCTEL/rest/ | Dezvoltare și testare |
| Producție | https://api.anaf.ro/prod/FCTEL/rest/ | Facturi reale |
Exemplu de implementare (Node.js)
const axios = require('axios'); const fs = require('fs'); class EFacturaClient { constructor(accessToken, cif) { this.baseUrl = 'https://api.anaf.ro/prod/FCTEL/rest'; this.accessToken = accessToken; this.cif = cif; } async uploadInvoice(xmlContent, standard = 'UBL') { const response = await axios.post( `${this.baseUrl}/upload/CIUS-RO/${this.cif}`, xmlContent, { headers: { 'Authorization': `Bearer ${this.accessToken}`, 'Content-Type': 'application/xml' }, params: { standard: standard // 'UBL' sau 'CII' } } ); return response.data; } async checkStatus(uploadIndex) { const response = await axios.get( `${this.baseUrl}/stareMesaj/${uploadIndex}`, { headers: { 'Authorization': `Bearer ${this.accessToken}` } } ); return response.data; } async downloadResponse(downloadId) { const response = await axios.get( `${this.baseUrl}/descarcare/${downloadId}`, { headers: { 'Authorization': `Bearer ${this.accessToken}` } } ); return response.data; } async listMessages(days = 60, filter = 'E') { const response = await axios.get( `${this.baseUrl}/listaMesajeFactura`, { headers: { 'Authorization': `Bearer ${this.accessToken}` }, params: { cif: this.cif, zile: days, filtru: filter // E=emise, P=primite, T=toate } } ); return response.data; } } // Utilizare const client = new EFacturaClient('access_token_here', '12345678'); // Upload factură const xmlContent = fs.readFileSync('factura.xml', 'utf-8'); const result = await client.uploadInvoice(xmlContent); console.log('Upload ID:', result.index_incarcare); // Verificare stare const status = await client.checkStatus(result.index_incarcare); console.log('Stare:', status.stare); // 'ok', 'nok', 'in prelucrare'
Gestionarea erorilor comune
| Cod eroare | Descriere | Soluție |
|---|---|---|
| E001 | XML invalid | Verifică structura XML cu validatorul ANAF |
| E002 | CUI furnizor incorect | Verifică că CUI-ul corespunde certificatului |
| E003 | Factură duplicată | Numărul facturii există deja |
| E004 | Token expirat | Reînnoiește access token-ul |
| E005 | Lipsă câmpuri obligatorii | Completează toate câmpurile cerute |
Checklist de Implementare
Faza 1: Pregătire (1-2 săptămâni)
- Înregistrare în SPV ANAF
- Obținere certificat digital (dacă e necesar)
- Inventariere facturi (volum, tipuri, clienți)
- Alegere metodă transmitere (manual/API/SaaS)
- Buget pentru implementare
Faza 2: Implementare (2-4 săptămâni)
- Configurare sistem de facturare pentru export XML UBL
- Testare în mediul sandbox ANAF
- Validare XML cu instrumentele ANAF
- Integrare API (dacă e cazul)
- Training echipă contabilitate
Faza 3: Producție (continuu)
- Migrare în mediul de producție
- Monitorizare transmitere și erori
- Proces pentru facturi respinse
- Backup și arhivare
- Actualizare la schimbări legislative
Întrebări Frecvente (FAQ)
Ce se întâmplă dacă nu transmit factura în termen?
Riscați amendă între 1.000 și 10.000 lei, în funcție de categoria de contribuabil. Amenda se aplică per factură netransmisă.
Pot folosi în continuare facturi pe hârtie?
Facturile pe hârtie nu mai sunt valide pentru deducerea cheltuielilor în relația B2B. Clientul are nevoie de factura din RO e-Factura pentru a-și deduce TVA-ul.
Cum primesc facturile de la furnizori?
Facturile primite apar în SPV, în secțiunea "Mesaje primite". Trebuie să le descărcați și arhivați, deoarece ANAF le păstrează doar 60 de zile.
Trebuie să păstrez și factura PDF?
Fișierul XML din RO e-Factura este documentul fiscal oficial. PDF-ul este doar pentru vizualizare. Păstrați XML-ul pentru conformitate.
Ce fac dacă am erori la validare?
Verificați XML-ul cu validatorul ANAF online, corectați erorile raportate și retransmiteți. Erorile comune sunt: CUI invalid, câmpuri lipsă, format dată incorect.
Pot anula o factură transmisă?
Nu puteți anula o factură în sistem. Trebuie să emiteți o notă de credit (storno) care se transmite tot prin RO e-Factura.
Resurse Oficiale
- Ghid oficial ANAF RO e-Factura
- Informații tehnice - Ministerul Finanțelor
- Aplicație completare factură XML
- Validator XML online
- Portal e-Factura
Cum Te Poate Ajuta UP2DATE SOFTWARE
La UP2DATE SOFTWARE, oferim soluții complete pentru integrarea cu sistemul RO e-Factura:
Servicii disponibile:
- Integrare API e-Factura - conectăm ERP-ul sau sistemul tău de facturare direct la ANAF
- Generare automată XML UBL - transformăm facturile tale în format e-Factura
- Dashboard monitorizare - vezi starea facturilor, erori, confirmări
- Automatizare completă - de la emitere la confirmare, fără intervenție manuală
- Consultanță tehnică - alegem cea mai bună soluție pentru business-ul tău
De ce să lucrezi cu noi:
- Experiență în integrări API complexe
- Înțelegem atât partea tehnică, cât și cerințele fiscale
- Suport continuu și actualizări la schimbări legislative
- Implementare rapidă (2-4 săptămâni)
Solicită o consultație gratuită pentru integrare e-Factura →
UP2DATE Software – Partener pentru digitalizarea business-ului tău
Ghid actualizat: Ianuarie 2026
Etiquetas
Empresa de desarrollo de software de Rumanía con experiencia en aplicaciones móviles, aplicaciones web y automatizaciones con IA para negocios.