Erori e-FacturaBR-CL-15

Codul țării de origine trebuie să fie cod ISO 3166-1 din două litere

Codul regulii este BR-CL-15.

Mesajul exact din validatorul ANAF

textEroare=[BR-CL-15]-Country codes in an invoice MUST be coded using ISO code list 3166-1

Ce inseamna

BR-CL-15 se uită la elementul cac:OriginCountry/cbc:IdentificationCode din linia facturii, adică la țara de origine a bunului (BT-159), și cere să conțină exclusiv un cod ISO 3166-1 alpha-2, fără spații, fără cratimă, fără punct. Dacă acolo scrie numele țării în clar ("România", "Germania") sau un cod de trei litere, factura este respinsă, chiar dacă restul datelor sunt corecte. În factura de referință acest element nu există deloc, deci regula nu se aplică; se aplică doar în momentul în care îl completați.

Cum repari

În programul de facturare, câmpul "țara de origine" de pe linie trebuie să fie o listă derulantă cu coduri ISO de două litere, nu un câmp liber de text. Dacă îl lăsați necompletat, ștergeți complet grupul cac:OriginCountry din linie; dacă îl completați, puneți doar codul, de exemplu RO, DE, IT.

Exemplu

Asa pica

<ubl:Invoice>
  <cac:InvoiceLine>
    <cac:Item>
      <cbc:Name>Serviciu de consultanta</cbc:Name>
      <cac:OriginCountry>
        <cbc:IdentificationCode>Romania</cbc:IdentificationCode>
      </cac:OriginCountry>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>19.00</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
  </cac:InvoiceLine>
</ubl:Invoice>

Asa trece

<ubl:Invoice>
  <cac:InvoiceLine>
    <cac:Item>
      <cbc:Name>Serviciu de consultanta</cbc:Name>
      <cac:OriginCountry>
        <cbc:IdentificationCode>RO</cbc:IdentificationCode>
      </cac:OriginCountry>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>19.00</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
  </cac:InvoiceLine>
</ubl:Invoice>
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

Country codes in an invoice MUST be coded using ISO code list 3166-1

Unde se aplica

cac:OriginCountry/cbc:IdentificationCode

Conditia care trebuie sa fie adevarata

((not(contains(normalize-space(.), ' ')) and contains(' 1A AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BL BM BN BO BQ BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ DE DJ DK DM DO DZ EC EE EG EH ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR SS ST SV SX SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS XI YE YT ZA ZM ZW ', concat(' ', normalize-space(.), ' '))))
Ce nu rezulta din textul oficial al regulii

În factura de referință cac:OriginCountry nu apare nicăieri, așa că l-am adăugat în ambele fragmente pe poziția din secvența UBL 2.1 a lui cac:Item, adică după cbc:Name și înainte de cac:ClassifiedTaxCategory (între ele ar mai putea sta cac:StandardItemIdentification, care la noi lipsește). Nu am putut confirma dacă validatorul ANAF verifică și ordinea XSD, nu doar schematronul, deci dacă îl inserați în alt loc vă rog să verificați. De asemenea, nu am informații sigure dacă CIUS-RO impune completarea BT-159 în anumite situații; BR-CL-15 reglementează doar formatul codului, nu obligația de a-l completa.