Erori e-Factura

CIUS-RO

Subdiviziunea țării vânzătorului trebuie codificată ISO 3166-2:RO

Codul regulii este BR-RO-110.

Mesajul exact din validatorul ANAF

textEroare=[BR-RO-110]-Daca Codul tarii Vanzatorului (BT-40) este RO, atunci Subdiviziunea tarii Vanzatorului (BT-39) 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 Seller's country Code (BT-40) is RO, then the Seller's country subdivision (BT-39) must be coded using the ISO 3166-2: RO code list (ex. RO-B for Bucharest, RO-AB for Alba County...).

Ce înseamnă

Când vânzătorul are țară RO (BT-40), județul din adresa lui (BT-39, elementul CountrySubentity) nu se scrie ca text liber, ci doar cu codul oficial din lista ISO 3166-2:RO: RO-AB, RO-AR, RO-B, RO-CJ ș.a.m.d. Regula se aplică și dacă elementul lipsește complet, pentru că lista nu conține șirul vid. Ea privește exclusiv vânzătorul; la cumpărător codul nu e verificat de această regulă.

Cum repari

Înlocuiește în datele firmei tale, la adresa sediului, județul scris cu nume ("București", "Cluj", "Sector 1") cu codul corespunzător din lista oficială, de exemplu RO-B pentru București sau RO-CJ pentru Cluj. În programul de facturare, transformă câmpul de județ într-o listă derulantă cu aceste 42 de coduri, ca să nu se mai poată scrie text liber. Codul ajunge în XML în CountrySubentity, nu în CityName.

Exemplu

Așa pică

<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:AccountingSupplierParty>
    <cac:Party>
      <cac:PostalAddress>
        <cbc:CityName>SECTOR1</cbc:CityName>
        <cbc:PostalZone>010101</cbc:PostalZone>
        <cbc:CountrySubentity>Bucuresti</cbc:CountrySubentity>
        <cac:Country>
          <cbc:IdentificationCode>RO</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
    </cac:Party>
  </cac:AccountingSupplierParty>
</ubl:Invoice>

Așa 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:AccountingSupplierParty>
    <cac:Party>
      <cac:PostalAddress>
        <cbc:CityName>SECTOR1</cbc:CityName>
        <cbc:PostalZone>010101</cbc:PostalZone>
        <cbc:CountrySubentity>RO-B</cbc:CountrySubentity>
        <cac:Country>
          <cbc:IdentificationCode>RO</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
    </cac:Party>
  </cac:AccountingSupplierParty>
</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.

Alte reguli pe care ANAF le raportează tot ca BR-RO-110

Regula așa cum e scrisă în schematronul oficial

Textul oficial, în română

Daca Codul tarii Vanzatorului (BT-40) este RO, atunci Subdiviziunea tarii Vanzatorului (BT-39) 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, în engleză

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

Unde se aplică

/ubl:Invoice | /cn:CreditNote

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

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

Lista primită nu conține coduri de sector (RO-B1 etc.), deci pentru București singurul cod acceptat de această regulă este RO-B. Nu pot confirma din datele primite dacă validatorul ANAF impune în plus o anumită formă a localității (BT-37, CityName) pentru București; aceea ar fi o altă regulă, separată.