Erori e-FacturaBR-RO-111

Codul județului din factura unui cumpărător RO: RO-AR, nu Arad

Codul regulii este BR-RO-111. In raspunsul de la ANAF vezi insa BR-RO-110: eticheta din mesaj nu coincide cu identificatorul regulii. Nu cauta dupa codul regulii, ci dupa textul mesajului.

Mesajul exact din validatorul ANAF

textEroare=[BR-RO-110]-Daca Codul tarii Cumparatorului (BT-55) este RO, atunci Subdiviziunea tarii Cumparatorului (BT-54) trebuie sa fie codificata folosind lista de coduri ISO 3166-2:RO (ex. RO-B pentru Municipiul Bucuresti, RO-AB pentru judetul Alba...). #If the Buyer's country Code (BT-55) is RO, then the Buyer's country subdivision (BT-54) must be coded using the ISO 3166-2: RO code list (ex. RO-B for Bucharest, RO-AB for Alba County...).

Ce inseamna

Dacă factura are codul de țară al cumpărătorului RO (BT-55), atunci subdiviziunea de țară a cumpărătorului (BT-54) nu se scrie liber: trebuie să fie exact unul dintre cele 42 de coduri ISO 3166-2:RO, adică RO- plus codul județului. În răspunsul ANAF regula apare sub eticheta [BR-RO-110], nu sub id-ul BR-RO-111, deci o cauți după eticheta din răspuns. „Arad”, „Județul Arad”, „AR” sau câmpul gol pică toate, chiar dacă restul facturii e corect.

Cum repari

În datele clientului din programul de facturare, înlocuiește numele județului cu codul ISO: Arad -> RO-AR, București -> RO-B, Cluj -> RO-CJ, Timiș -> RO-TM, Argeș -> RO-AG etc. Nu pune prefixul „Județul” și nu lăsa câmpul gol; dacă clientul nu e din România (BT-55 diferit de RO), regula nu se aplică.

Exemplu

Asa pica

<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
             xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
             xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cac:AccountingCustomerParty>
    <cac:Party>
      <cac:PostalAddress>
        <cbc:CountrySubentity>Arad</cbc:CountrySubentity>
        <cac:Country>
          <cbc:IdentificationCode>RO</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
    </cac:Party>
  </cac:AccountingCustomerParty>
</ubl:Invoice>

Asa trece

<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
             xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
             xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cac:AccountingCustomerParty>
    <cac:Party>
      <cac:PostalAddress>
        <cbc:CountrySubentity>RO-AR</cbc:CountrySubentity>
        <cac:Country>
          <cbc:IdentificationCode>RO</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
    </cac:Party>
  </cac:AccountingCustomerParty>
</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.

ANAF raporteaza sub aceeasi eticheta BR-RO-110 si

Regula asa cum e scrisa in schematronul oficial

Textul oficial, in romana

Daca Codul tarii Cumparatorului (BT-55) este RO, atunci Subdiviziunea tarii Cumparatorului (BT-54) trebuie sa fie codificata folosind lista de coduri ISO 3166-2:RO (ex. "RO-B" pentru Municipiul Bucuresti, "RO-AB" pentru judetul Alba...)

Textul oficial, in engleza

If the Buyer's country Code (BT-55) is RO, then the Buyer's country subdivision (BT-54) must be coded using the ISO 3166-2: RO code list (ex. "RO-B" for Bucharest, "RO-AB" for Alba County...).

Unde se aplica

/ubl:Invoice | /cn:CreditNote

Conditia care trebuie sa fie adevarata

normalize-space(cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode) = 'RO' and not(normalize-space(cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CountrySubentity) = $ISO-3166-RO-CODES)
Ce nu rezulta din textul oficial al regulii

Nu am verificat regulile conexe pentru subdiviziunea de țară a vânzătorului (BT-39) și nici dacă validatorul acceptă litere mici: lista din schematron are codurile cu majuscule, scrie-le exact așa (RO-AR, RO-B). Pentru București lista dată conține doar RO-B, nu și coduri de sector.