Erori e-FacturaBR-CL-04

Codul monedei trebuie să fie ISO 4217 din 3 litere: RON, nu LEI

Codul regulii este BR-CL-04.

Mesajul exact din validatorul ANAF

textEroare=[BR-CO-15]-Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).
textEroare=[BR-CL-04]-Invoice currency code MUST be coded using ISO code list 4217 alpha-3
textEroare=[BR-RO-030]-Daca Codul monedei facturii (BT-5) este altul decat RON, atunci Codul monedei de contabilizare a TVA (BT-6) trebuie sa fie RON. #If the Invoice currency code (BT-5) is other than RON, then the VAT accounting currency code(BT-6) must be RON.

Ce inseamna

BT-5 (DocumentCurrencyCode) acceptă doar coduri din lista închisă ISO 4217 alpha-3, exact așa cum sunt scrise în listă. ANAF respinge abrevierile locale (LEI), literele mici (ron) sau orice cod care nu apare în listă, chiar dacă factura e corectă din punct de vedere aritmetic. Regula se aplică o singură dată, pe elementul de la nivel de factură, nu pe atributele currencyID de pe sume.

Cum repari

În programul de facturare, câmpul de monedă trebuie să conțină codul ISO, nu denumirea populară: scrie RON, nu LEI și nu ron. Verifică și că nu ai spații înainte sau după cod și că lista de monede din aplicație folosește ISO 4217 (EUR, USD, RON etc.).

Exemplu

Asa pica

<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cbc:DocumentCurrencyCode>LEI</cbc:DocumentCurrencyCode>
</Invoice>

Asa trece

<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cbc:DocumentCurrencyCode>RON</cbc:DocumentCurrencyCode>
</Invoice>

Greseala asta strica si alte verificari, deci in acelasi raspuns vei gasi si: BR-CO-15, BR-RO-030. Le repari pe toate odata cu asta.

Verificat. Am pus fiecare din cele doua fragmente intr-o factura completa si le-am trecut prin validatorul oficial ANAF, versiunea ro16931-ubl-1.0.9. Factura cu fragmentul din stanga a fost respinsa cu exact mesajul de mai sus; cea cu fragmentul din dreapta a trecut fara nicio eroare. Verificarea s-a facut pe 14.09.2026.
Regula asa cum e scrisa in schematronul oficial

Textul oficial, in engleza

Invoice currency code MUST be coded using ISO code list 4217 alpha-3

Unde se aplica

cbc:DocumentCurrencyCode

Conditia care trebuie sa fie adevarata

((not(contains(normalize-space(.), ' ')) and contains(' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYN BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLL SOS SRD SSP STD SVC SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX USD USN UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XOF XPD XPF XPT XSU XTS XUA XXX YER ZAR ZMW ZWL ', concat(' ', normalize-space(.), ' '))))
Ce nu rezulta din textul oficial al regulii

Nu am putut confirma din datele primite dacă validatorul ANAF tratează identic spațiile: testul folosește normalize-space(), deci un cod scris „RON ” (cu spațiu la final) ar trece de această regulă — nu conta pe spații ca motiv de respingere. De asemenea, fragmentele respectă forma din factura de referință, unde elementul rădăcină este <Invoice> cu namespace implicit, nu <ubl:Invoice> cu prefix.