BR-CO-04: Categoria de TVA lipsește din linie
Categoria de TVA lipsește din linie — cauză, câmp XML, corecție și probe complete.
Ce înseamnă și cum corectezi
Fiecare linie trebuie să precizeze categoria de TVA a articolului prin BT-151. În factura UBL, aceasta este valoarea ID din Item/ClassifiedTaxCategory. Nu este același identificator cu ID al liniei sau cu TaxScheme/ID, care indică sistemul de taxare. Exemplul greșit elimină numai elementul categoriei; procentul 21 și codul VAT rămân prezente. Prin urmare, simpla existență a unui procent nu poate înlocui clasificarea fiscală a liniei. În exemplul corect, categoria este S, potrivit scenariului fictiv cu taxare standard. Alege însă categoria aferentă operațiunii reale, din lista admisă de pachet, în loc să introduci automat S la orice eroare. O categorie scutită sau cu taxare inversă poate impune alte identificatoare, explicații ori defalcări. Verifică legătura cu TaxSubtotal/TaxCategory din sumarul facturii. Fără o categorie coerentă, motorul poate raporta și imposibilitatea reconcilierii bazei impozabile. Eliminarea elementului diferă de păstrarea unui ID gol: testele de existență și cele privind lista de coduri pot produce diagnostice diferite. Fișierele complete publicate folosesc eliminarea controlată, astfel încât cauza să poată fi reprodusă. Corectează sursa clasificării în programul de facturare și păstrează descrierea, cantitatea și prețul articolului. O verificare tehnică reușită nu stabilește tratamentul fiscal corect al tranzacției.
Câmpul și condiția din sursă
Mutația pentru BR-CO-04 vizează calea /*/cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID.
[
{
"file": "expanded.sch (generated from original ANAF includes)",
"kind": "assert",
"context": "cac:InvoiceLine | cac:CreditNoteLine",
"test": "(cac:Item/cac:ClassifiedTaxCategory[cac:TaxScheme/(normalize-space(upper-case(cbc:ID))='VAT')]/cbc:ID)",
"message": "[BR-CO-04]-Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151)."
}
]Fragment greșit
<!-- element absent: /*/cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID -->Fragment corectat
<cbc:ID 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">S</cbc:ID>Reproducere cu motorul fixat
Fișierul br-co-04-bad.xml nu trece verificarea și produce 3 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-CO-04",
"message": "[BR-CO-04]-Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).",
"path": "/*:Invoice[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'][1]/*:InvoiceLine[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2'][1]",
"svrl_kind": "failed-assert"
}
]Alte mesaje în aceeași probă
În acest test BR-CO-04 apare împreună cu BR-S-01, BR-S-08.
Aceste rezultate descriu facturile sintetice publicate, nu frecvența erorilor din facturile vizitatorilor.
Verifică propriul XML · Înapoi la index · Surse, metodă și limite