XSDHub

BR-RO-111: Subdiviziunea țării cumpărătorului nu este codificată

Subdiviziunea țării cumpărătorului nu este codificată — cauză, câmp XML, corecție și probe complete.

Ce înseamnă și cum corectezi

BT-54 este subdiviziunea țării cumpărătorului. Când codul țării beneficiarului este RO, valoarea sa trebuie să aparțină listei naționale ISO 3166-2:RO. În exemplul nostru, codul corect este RO-B. Varianta greșită îl scurtează la B numai în adresa cumpărătorului, fără să modifice țara, localitatea ori datele vânzătorului. Astfel se poate verifica ramura destinată beneficiarului și nu doar o condiție generică pentru orice adresă. Nu transmite numele liber al județului în locul codului și nu adăuga prefixul RO- la câmpul țării. Elementele CountrySubentity și Country/IdentificationCode au funcții separate. Pentru un cumpărător din București, completarea RO-B activează și controlul localității prin lista sectoarelor; verifică împreună aceste câmpuri după regenerarea documentului. Identificatorul raportat este BR-RO-111, chiar dacă mesajul oficial folosește în text BR-RO-110. Legătura către ghid păstrează codul din atributul id al sursei, care distinge cumpărătorul de vânzător. Acest report are severitate fatal și nu reprezintă un simplu avertisment. Corectează codificarea pe baza adresei reale din sistemul sursă, fără să schimbi artificial țara pentru a evita testul. Acceptarea formatului unui cod nu confirmă existența adresei și nici înregistrarea fiscală a beneficiarului în registrele ANAF.

Câmpul și condiția din sursă

Mutația pentru BR-RO-111 vizează calea /*/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CountrySubentity.

[
  {
    "file": "expanded.sch (generated from original ANAF includes)",
    "kind": "report",
    "context": "/ubl:Invoice | /cn:CreditNote",
    "test": "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)",
    "message": "[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...)."
  }
]

Fragment greșit

<cbc:CountrySubentity xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cn="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2">B</cbc:CountrySubentity>

Fragment corectat

<cbc:CountrySubentity xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cn="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2">RO-B</cbc:CountrySubentity>

Reproducere cu motorul fixat

Fișierul br-ro-111-bad.xml nu trece verificarea și produce 1 diagnostice de eroare în această probă. Perechea corectată trece etapele XSD și regulile de afaceri din pachetul ANAF. Câmpul modificat este cel indicat mai sus; restul datelor fictive sunt păstrate.

XML greșit complet · XML corectat complet

[
  {
    "code": "BR-RO-111",
    "message": "[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...).\n\t\t\t\t#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...).",
    "path": "/*:Invoice[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'][1]",
    "svrl_kind": "successful-report"
  }
]

Alte mesaje în aceeași probă

În testul pentru BR-RO-111 nu s-au emis alte coduri de eroare.

Aceste rezultate descriu facturile sintetice publicate, nu frecvența erorilor din facturile vizitatorilor.

Verifică propriul XML · Înapoi la index · Surse, metodă și limite