Articol Facturare

Completare e-Factura ANAF - top 10 erori frecvente și soluții

Foaie de hârtie navy cu X portocaliu mare reprezentând erorile frecvente la completarea e-Facturii

De la 1 ianuarie 2024, e-Factura este obligatorie pentru toate operatiunile B2B din Romania, iar din 1 ianuarie 2025 si pentru B2C. Sistemul valideaza fiecare XML prin regulile RO_CIUS suprapuse peste standardul european SR EN 16931 - iar majoritatea respingerilor vin din cateva reguli usor de evitat daca le cunosti.

Acest ghid trece prin top 10 erori reale intalnite la transmiterea facturilor in Spatiul Privat Virtual (SPV) ANAF, cum le identifici prin validatorul public anaf.ro/uploadxmi si cum le corectezi pentru a evita amenzile prevazute de OUG nr. 120/2021 (1.000 - 10.000 RON in functie de marimea contribuabilului).

Top 10 erori frecvente la transmiterea e-Factura

Codurile reale folosite de validatorul ANAF respecta nomenclatura EN 16931: prefix BR-CO-* (calculation rules), BR-CL-* (code list rules), BR-S-*/BR-AE-*/BR-Z-* (VAT category rules) si BR-RO-* pentru regulile specifice CIUS Romania. Mesajele text apar in raport asa cum sunt definite in schema oficiala.

Tabel: cele 10 erori cu cauza si fix rapid

# Cod regula Cauza concreta Fix imediat
1 BR-CO-09 CIF vanzator/cumparator fara prefix tara ISO 3166-1 alpha-2 Adauga prefix RO (sau EL pentru Grecia) la BT-31/BT-48
2 BR-CO-17 TVA pe categorie != baza × cota / 100, rotunjit la 2 zecimale Recalculeaza per categorie TVA (NU per linie), rotunjire half-to-even
3 BR-CO-14 Total TVA (BT-110) != suma TVA per categorie (BT-117) Verifica agregarea pe categorii inainte de generare
4 BR-CO-15 Total cu TVA (BT-112) != total fara TVA (BT-109) + TVA (BT-110) Recalculeaza PayableAmount la nivel document
5 BR-CO-10 Suma neta linii (BT-106) != Σ valori nete pe linie (BT-131) Verifica agregare LineExtensionAmount
6 BR-RO-100 / BR-RO-110 Cod subdiviziune Romania lipsa sau invalid (ex. judet "Cluj" in loc de "RO-CJ") Foloseste codurile ISO 3166-2:RO (RO-B pentru Bucuresti, RO-CJ pentru Cluj etc.)
7 BR-RO-101 Adresa in Bucuresti fara sector mentionat in CityName Adauga "Sector X" sau "Sectorul X" la CityName
8 BR-RO-120 / BR-07 Identificator legal cumparator lipsa (CIF/CNP) Completeaza BT-47 sau pentru persoane fizice fara CNP foloseste codul standard de 13 zerouri
9 BR-CL-* Cod unitate de masura invalid (ex. "buc" liber in loc de cod UN/ECE rec 20) Inlocuieste cu codul oficial (H87 pentru bucata, KGM pentru kilogram, MTR pentru metru)
10 Schema / signature XML nu respecta UBL 2.1 sau semnatura invalida Regenereaza din software certificat ANAF, NU edita manual XML-ul

Important de stiut: validatorul anaf.ro/uploadxmi returneaza acelasi tip de mesaje ca validatorul oficial folosit la primirea facturilor in SPV. Daca XML-ul trece prin validatorul public, are sanse foarte mari sa fie acceptat si la transmisia reala - foloseste-l ca pre-check inainte de upload.

Eroarea #1 detaliata: BR-CO-09 (prefix tara la CIF)

Regula EN 16931 cere ca identificatorii de TVA pentru vanzator (BT-31), reprezentant fiscal (BT-63) si cumparator (BT-48) sa contina prefix conform ISO 3166-1 alpha-2 (RO pentru Romania, DE pentru Germania, FR pentru Franta etc.). Singura exceptie: Grecia foloseste "EL" in loc de "GR".

Atentie - aici se greseste des: pentru cumparatorul roman platitor de TVA scrii RO12345678 (fara spatii, fara cratime). Pentru un cumparator persoana juridica neplatitor de TVA, identificatorul nu intra in BT-48 (VAT identifier) ci in BT-47 (legal registration identifier) - si acolo NU pui prefix RO.

Eroarea #2 detaliata: BR-CO-17 (calcul TVA pe categorie)

Regula BR-CO-17 verifica formula: VAT category tax amount = VAT category taxable amount × VAT rate / 100, rotunjit la 2 zecimale. Nu se aplica pe linie, ci pe categorie TVA agregata - aceasta este sursa #1 de confuzie pentru software-uri care fac suma rotunjirilor per linie.

Concret: daca ai 3 linii cu baza 33,33 + 33,33 + 33,34 la cota 21%, calculul corect este (33,33 + 33,33 + 33,34) × 21 / 100 = 100,00 × 0,21 = 21,00 RON pe categorie. Daca rotunjesti per linie si aduni (7,00 + 7,00 + 7,00 = 21,00) poti obtine acelasi rezultat - dar in cazuri cu mai multe zecimale apar diferente de 1-2 bani care declanseaza respingerea.

Cum diagnostichezi erorile

Ai doua cai paralele: validatorul public ANAF (rapid, anonim, inainte de transmisie) si raportul oficial din SPV (dupa o respingere).

Validare pre-transmisie cu anaf.ro/uploadxmi

  1. Acceseaza validatorul public ANAF (link in sectiunea Surse)
  2. Incarca fisierul XML generat de software-ul tau de facturare
  3. Selecteaza tipul: factura, factura simplificata sau bon fiscal autoadministrare
  4. Apasa "Validare" - rezultatul apare imediat
  5. Daca apar erori, fiecare contine codul regulii (ex. BR-CO-09) si descrierea text
  6. Corectezi in software si revalidezi pana la mesaj "Fisier corect"

Diagnostic din raportul SPV (dupa respingere)

  1. Autentifica-te in SPV cu certificat digital calificat
  2. Mergi la sectiunea "Factura electronica" - "Mesaje primite"
  3. Filtreaza dupa status respins
  4. Descarca arhiva ZIP cu raportul de erori (contine XML-ul respins si fisierul de erori)
  5. Citeste elementele de eroare cu codul regulii si descrierea
  6. Corecteaza in software si retransmite cu acelasi numar de factura

Tabel: status raspuns ANAF la transmisie

Stare Inseamna Ce faci
in prelucrare Factura receptionata, validare in curs Astepti (de obicei sub 1 minut, poate ajunge la cateva ore in zilele de varf)
index incarcare validata Validare OK, factura inregistrata fiscal Nimic, factura este oficial transmisa
index incarcare nevalidata Eroare de validare (XSD, BR-CO-, BR-RO-) Descarci raportul, corectezi, retransmiti cu acelasi numar

Atentie - aici se greseste des: lipsa unui status "warning" inseamna ca orice abatere de la reguli duce direct la respingere. Nu exista categoria "acceptat cu observatii" in raspunsul ANAF e-Factura - ori factura este validata, ori este respinsa.

Cum corectezi o factura: respinsa vs validata

Aici este sursa #1 de confuzie pentru contabili: regulile difera radical intre factura respinsa la validare (care nu exista fiscal) si factura validata (care exista fiscal si nu mai poate fi stearsa).

Caz A: factura RESPINSA la validare (nevalidata)

Factura respinsa la validare nu exista fiscal - sistemul a refuzat-o complet inainte de inregistrare. Concret:

  • Nu generezi nota de credit
  • Nu generezi storno
  • Corectezi XML-ul si retrimiti cu acelasi numar de factura
  • Termen: maximum 5 zile calendaristice de la data emiterii facturii pentru transmiterea in SPV

Caz B: factura VALIDATA cu erori descoperite ulterior

Factura valida fiscal nu se mai poate sterge sau modifica. Singura cale de corectie este emiterea unui document fiscal nou care face referinta la factura originala prin campul BillingReference.

Instrument Cod tip factura (InvoiceTypeCode) Cand folosesti
Nota de credit 381 Reducere partiala sau totala a sumei (discount post-facturare, returnare marfa, eroare de valoare)
Nota de debit 383 Crestere a sumei facturate (penalitate, cheltuieli suplimentare)
Factura storno 384 Anulare completa a facturii (factura emisa gresit catre alt client, erori grave)

In documentele de la ANAF, varianta cea mai des recomandata pentru a "anula" o factura validata este storno integral (cod 384) cu valori negative pe toate liniile si BillingReference catre factura originala, urmat - daca este cazul - de emiterea facturii corecte.

Pasi pentru corectie prin nota de credit (cazul cel mai frecvent)

  1. Deschide software-ul de facturare, alege emitere nota de credit
  2. Selecteaza factura originala ca referinta (obligatoriu: BillingReference cu numarul si data facturii initiale)
  3. Introdu suma de stornat (partiala sau totala, in valori pozitive - semnul minus apare la nivelul calculelor finale)
  4. Codifica tip factura 381 in campul InvoiceTypeCode
  5. Transmite in SPV ANAF prin aceeasi procedura ca factura normala
  6. Nota de credit are propria ei serie si numar, distincte de factura originala

Consulta contabilul daca: stornezi o factura dintr-un an fiscal inchis (necesita ajustare retroactiva) sau daca factura originala a fost deja platita si banca refuza rambursarea.

Cazuri speciale: storno tehnic, retransmitere, valoare 0

Storno tehnic

Cand factura validata contine doar o eroare formala (ex. adresa cumparatorului scrisa cu greseala de tipar, fara impact pe TVA) si nu se vrea afectarea soldurilor contabile, se foloseste "storno tehnic": se emite factura storno cu valori negative urmata imediat de o factura noua cu datele corecte, ambele transmise in SPV. Soldul net catre client ramane neschimbat, dar trasabilitatea documentelor este pastrata.

Retransmitere dupa respingere

Daca factura a fost respinsa la validare din motiv tehnic (XML invalid, semnatura coruperta, encoding gresit):

  • Pastrezi acelasi numar de factura si serie
  • Regenerezi XML-ul din software-ul certificat
  • Retrimiti in SPV - ANAF trateaza retransmiterea ca o noua incercare, nu ca factura noua

Tip: pastreaza un log local al fiecarei facturi transmise (numar, data, status SPV, index incarcare). Aceasta evidenta iti salveaza saptamani de munca in cazul unui control ANAF retroactiv - perioada de prescriptie fiscala generala este 5 ani.

Factura intre operatori straini si rezidenti

Pentru clientii din UE inregistrati in VIES, transmiterea e-Factura nu este obligatorie pentru operatiunile intracomunitare scutite cu drept de deducere - folosesti factura normala cu CIF intracomunitar VIES. Pentru clientii din afara UE (export), e-Factura nu se aplica.

Verificare pre-transmisie: checklist obligatoriu

Inainte de a apasa transmite la ANAF, verifica:

  • CIF cumparator cu prefix RO la BT-48 (pentru platitori de TVA) sau identificator legal la BT-47 (pentru neplatitori)
  • Toate datele in format ISO 8601 (YYYY-MM-DD)
  • Cota TVA actualizata la 21% standard sau 11% redusa (de la 1 august 2025, Legea 141/2025)
  • Calcul TVA per categorie (BR-CO-17), nu per linie
  • Total cu TVA = total fara TVA + TVA (BR-CO-15), toleranta 0,00 RON la nivel agregat
  • Cod subdiviziune ISO 3166-2:RO la judet (RO-B, RO-CJ etc.)
  • Pentru Bucuresti: sector mentionat in CityName
  • Coduri unitate de masura UN/ECE rec 20 (H87 pentru bucata, KGM, MTR etc.)
  • BillingReference completat pentru nota de credit / storno / nota de debit
  • XML semnat in software certificat ANAF, NU editat manual
  • Pre-validare cu anaf.ro/uploadxmi inainte de upload in SPV

Pentru detalii despre structura XML si schema UBL 2.1 folosita de ANAF, vezi ghidul dedicat de validare XML din cluster-ul nostru e-Factura.

Intrebari frecvente

Cat timp am la dispozitie sa transmit factura in SPV?

Conform OUG nr. 120/2021 modificata, termenul este de 5 zile calendaristice de la data emiterii facturii. Depasirea termenului atrage amenda intre 1.000 si 10.000 RON, diferentiat pe categorii de contribuabili (mici, mijlocii, mari).

Pot anula o factura deja validata de ANAF prin stergere?

Nu. Sistemul e-Factura nu permite stergerea facturilor validate. Singurele optiuni sunt nota de credit (cod 381) pentru reducere partiala/totala, sau factura storno (cod 384) pentru anulare integrala. Ambele necesita BillingReference catre factura originala.

Ce cota TVA aplic?

De la 1 august 2025, prin Legea nr. 141/2025, cota standard de TVA este 21% (anterior 19%), iar cota redusa este 11% (consolidand fostele cote de 5% si 9% pentru majoritatea categoriilor). Cota de 9% se mai aplica temporar la locuintele cu conditii stricte de suprafata si valoare pana la 31 iulie 2026. Pentru anul 2026 nu sunt anuntate modificari suplimentare ale cotelor standard.

Cum verific daca cumparatorul meu B2B este inrolat in e-Factura?

Toti operatorii economici rezidenti in Romania sunt obligatoriu inrolati din 1 ianuarie 2024. Verifici existenta si validitatea CIF in registrul ANAF prin serviciul public de validare. Pentru persoane fizice care primesc factura B2C, daca nu au CIF/CNP cunoscut, regulile RO_CIUS permit transmiterea cu un identificator standard de 13 zerouri.

Trebuie sa transmit e-Factura si pentru avansuri incasate?

Da, avansurile fiscale sunt incluse in obligatia e-Factura. Emiti factura de avans la incasare si factura finala cu deducerea avansului la livrare, ambele transmise in SPV.

Concluzii si pasi urmatori

Pe scurt: cele mai frecvente cauze de respingere sunt BR-CO-09 (prefix CIF lipsa), BR-CO-17 (calcul TVA gresit din rotunjire pe linie in loc de categorie), BR-RO-100/110 (cod judet incorect) si BR-CO-14/15 (totaluri nepotrivite). Cunoasterea acestor coduri reduce drastic timpul de diagnostic - in loc sa cauti la intuitie, mergi direct la campul vizat.

Verifica checklist-ul pre-transmisie pentru fiecare factura in primele luni, iar dupa ce devine reflex elimini practic toate respingerile. Pentru integrarea automata cu software-ul tau de contabilitate, consulta ghidul nostru complet e-Factura ANAF din cluster-ul de facturare.

Linkuri utile din cluster-ul nostru e-Factura: ghidul complet e-Factura ANAF (parent pillar) si ghidul de validare XML pentru e-Factura (sibling tehnic) sunt disponibile in lista de surse de mai jos.


Despre autor: Maria Ionescu, redactor afaceri si facturare webghid.ro, expert contabil CECCAR cu 8 ani experienta consultanta IMM.

Ultima actualizare: 2026-05-24

Surse

  • Ghid complet e-Factura ANAF: /articole/e-factura-anaf-ghid-complet
  • Validare XML e-Factura: /articole/validare-xml-e-factura
  • Validator public ANAF (uploadxmi): https://www.anaf.ro/uploadxmi/
  • Informatii tehnice e-Factura - Ministerul Finantelor: https://mfinante.gov.ro/ro/web/efactura/informatii-tehnice
  • OUG nr. 120/2021 privind sistemul national RO e-Factura: https://legislatie.just.ro/Public/DetaliiDocument/247308
  • Codul Fiscal (Legea 227/2015) Art. 319 facturare electronica: https://legislatie.just.ro/Public/DetaliiDocument/171282
  • Legea nr. 141/2025 (modificare cote TVA, in vigoare 1 august 2025): https://legislatie.just.ro/
  • Ghid cod facturi ANAF (codes 380, 381, 383, 384, 386): https://static.anaf.ro/static/10/Anaf/Informatii_R/Ghid%20cod%20facturi_final%20v2.9.pdf
  • EN 16931 - Standard european factura electronica (calculation rules BR-CO-*): https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/
  • ISO 3166-2:RO - coduri subdiviziuni Romania: https://www.iso.org/obp/ui/#iso:code:3166:RO
  • UN/ECE Recommendation 20 - coduri unitati de masura: https://unece.org/trade/uncefact/cl-recommendations
  • Spatiul Privat Virtual ANAF: https://www.anaf.ro/anaf/internet/ANAF/servicii_online/inregistrare_rapida_persoane_fizice
  • Comisia Europeana - eInvoicing in Romania (CIUS-RO overview): https://ec.europa.eu/digital-building-blocks/sites/spaces/DIGITAL/pages/467108898/eInvoicing+in+Romania