BR-RO-091: Localitatea vânzătorului lipsește
Localitatea vânzătorului lipsește — cauză, câmp XML, corecție și probe complete.
Ce înseamnă și cum corectezi
BT-37 indică localitatea din adresa vânzătorului. Regula BR-RO-091 cere un CityName cu text nevid după normalizarea spațiilor, sub PostalAddress al furnizorului. Proba greșită păstrează elementul, dar îi elimină textul. Aceasta arată că simpla prezență a unui tag CityName nu este suficientă pentru cerința semantică. Datele cumpărătorului rămân identice, astfel încât raportul poate fi urmărit fără ambiguitate până la emitent. Varianta corectată revine la SECTOR1, deoarece scenariul are țara RO și subdiviziunea RO-B. Într-un asemenea context nu este suficient să introduci numele liber București: regula separată BR-RO-100 cere un cod de sector. Pentru o adresă din alt județ, folosește localitatea reală și codificarea adecvată contextului său. Mesajul oficial al acestei verificări începe cu BR-RO-090, dar atributul id din sursă și din raport este BR-RO-091. Ghidul păstrează distincția dintre identificatorul mașinii și prefixul din text. Dacă primești două erori pentru localitate, una poate privi prezența și cealaltă valoarea impusă de subdiviziune. Corectează datele sursă și regenerează factura, fără să schimbi țara pentru a evita condiția. Motorul verifică existența și unele restricții de codificare, nu confirmă realitatea geografică a adresei emitentului.
Câmpul și condiția din sursă
Mutația pentru BR-RO-091 vizează calea /*/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CityName.
[
{
"file": "expanded.sch (generated from original ANAF includes)",
"kind": "assert",
"context": "/ubl:Invoice | /cn:CreditNote",
"test": "cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CityName[boolean(normalize-space(.))]",
"message": "[BR-RO-090]-Localitatea Vanzatorului (BT-37) trebuie furnizata. #Seller city(BT-37) must be provided."
}
]Fragment greșit
<cbc:CityName 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"/>Fragment corectat
<cbc:CityName 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">SECTOR1</cbc:CityName>Reproducere cu motorul fixat
Fișierul br-ro-091-bad.xml nu trece verificarea și produce 2 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-091",
"message": "[BR-RO-090]-Localitatea Vanzatorului (BT-37) trebuie furnizata.\n\t\t\t\t\t\t\t#Seller city(BT-37) must be provided.",
"path": "/*:Invoice[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'][1]",
"svrl_kind": "failed-assert"
}
]Alte mesaje în aceeași probă
În acest test BR-RO-091 apare împreună cu BR-RO-100.
Aceste rezultate descriu facturile sintetice publicate, nu frecvența erorilor din facturile vizitatorilor.
Verifică propriul XML · Înapoi la index · Surse, metodă și limite