BR-RO-092: Localitatea cumpărătorului lipsește
Localitatea cumpărătorului lipsește — cauză, câmp XML, corecție și probe complete.
Ce înseamnă și cum corectezi
Pentru adresa cumpărătorului, BT-52 trebuie transmis ca CityName cu un conținut nevid. Testul golește acest câmp numai în AccountingCustomerParty, în timp ce adresa vânzătorului și restul facturii rămân corecte. Acest detaliu contează atunci când două adrese similare apar în XML: completarea localității furnizorului nu repară informația lipsă a beneficiarului. În varianta corectată folosim SECTOR1, potrivit țării RO și subdiviziunii RO-B din factura fictivă. Pentru propria operațiune trebuie completat sectorul real sau localitatea corespunzătoare altei subdiviziuni. Predicatul normalizează spațiile și nu acceptă un câmp care conține doar separatori albi. Verifică dacă aplicația sursă exportă localitatea din fișa clientului ori o suprascrie cu o valoare goală în timpul conversiei. Textul oficial al mesajului este grupat sub BR-RO-090 și include o referință BT copiată neuniform; calea și identificatorul BR-RO-092 arată că aici este vorba despre cumpărător. Nu modifica mesajele originale pentru a ascunde această particularitate: ghidul explică separat câmpul vizat. Lipsa localității poate activa și verificarea de sector atunci când subdiviziunea este București. După completare, reia controlul pentru a vedea dacă valoarea respectă și lista națională. Validarea nu confirmă înregistrarea ori existența beneficiarului la adresa declarată.
Câmpul și condiția din sursă
Mutația pentru BR-RO-092 vizează calea /*/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CityName.
[
{
"file": "expanded.sch (generated from original ANAF includes)",
"kind": "assert",
"context": "/ubl:Invoice | /cn:CreditNote",
"test": "cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CityName[boolean(normalize-space(.))]",
"message": "[BR-RO-090]-Localitatea Cumparatorului (BT-52) trebuie furnizata. #Buyer 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-092-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-092",
"message": "[BR-RO-090]-Localitatea Cumparatorului (BT-52) trebuie furnizata.\n\t\t\t\t\t\t\t#Buyer 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-092 apare împreună cu BR-RO-101.
Aceste rezultate descriu facturile sintetice publicate, nu frecvența erorilor din facturile vizitatorilor.
Verifică propriul XML · Înapoi la index · Surse, metodă și limite