Erori e-Factura

coduri

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 înseamnă

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

Așa pică

<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>

Așa 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 două fragmente într-o factură completă și le-am trecut prin validatorul oficial ANAF, versiunea ro16931-ubl-1.0.9. Factura cu fragmentul din stânga a fost respinsă cu exact mesajul de mai sus; cea cu fragmentul din dreapta a trecut fără nicio eroare. Verificarea s-a făcut pe 14.09.2026.
Regula așa cum e scrisă în schematronul oficial

Textul oficial, în engleză

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

Unde se aplică

cac:OriginCountry/cbc:IdentificationCode

Condiția care trebuie să fie adevărată

((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 rezultă 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.