BR-RO-020_1: Codul tipului Invoice nu este admis
Codul tipului Invoice nu este admis — cauză, câmp XML, corecție și probe complete.
Ce înseamnă și cum corectezi
În ramura UBL Invoice, predicatul ANAF pentru BT-3 acceptă codurile 380, 384, 389 și 751. Mesajul textual oficial enumeră și 381, însă expresia aplicată elementului InvoiceTypeCode nu îl include. Codul 381 este verificat într-o regulă separată pentru CreditNoteTypeCode, pe documentul CreditNote. Această diferență dintre explicația mesajului și predicat este relevantă la diagnosticare: nu este suficient ca un cod să apară în textul general al erorii. Fișierul greșit păstrează rădăcina Invoice și introduce 381 în InvoiceTypeCode. Fișierul bun păstrează aceeași structură și revine la 380, corespunzător facturii comerciale fictive. Aceasta este o demonstrație a listei de coduri, nu o instrucțiune de a transforma o notă de creditare reală în factură. Dacă operațiunea cere CreditNote, generează documentul și elementele acelei sintaxe, inclusiv CreditNoteLine și CreditedQuantity. Regula respinge și valori care includ spații interne nepermise de predicat. Verifică maparea tipului de document în aplicația sursă înainte de a modifica un singur câmp în XML. Identificatorul efectiv din raport este BR-RO-020_1; textul mesajului începe cu forma mai generală BR-RO-020. Ghidul și legătura din interfață folosesc identificatorul emis de SVRL, astfel încât diagnosticul să ducă la explicația corectă.
Câmpul și condiția din sursă
Mutația pentru BR-RO-020_1 vizează calea /*/cbc:InvoiceTypeCode.
[
{
"file": "expanded.sch (generated from original ANAF includes)",
"kind": "assert",
"context": "cbc:InvoiceTypeCode",
"test": "(. and ((not(contains(normalize-space(.), ' ')) and contains(' 380 384 389 751 ', concat(' ', normalize-space(.), ' ')))))",
"message": "[BR-RO-020]-Codul tipului facturii (BT-3) trebuie sa fie unul dintre urmatoarele coduri din lista de coduri UNTDID 1001: 380 (Factura), 389 (Autofactura), 384 (Factura corectata), 381 (Nota de creditare), 751 (Factura — informatii în scopuri contabile). #The invoice type code (BT-3) must be one of the following codes in the UNTDID 1001 code list: 380 (Invoice), 389 (Self-invoice), 384 (Corrected invoice), 381 (Credit note), 751 (Invoice - information for accounting purposes)."
}
]Fragment greșit
<cbc:InvoiceTypeCode 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">381</cbc:InvoiceTypeCode>Fragment corectat
<cbc:InvoiceTypeCode 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">380</cbc:InvoiceTypeCode>Reproducere cu motorul fixat
Fișierul br-ro-020_1-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-020_1",
"message": "[BR-RO-020]-Codul tipului facturii (BT-3) trebuie sa fie unul dintre urmatoarele coduri din lista de coduri UNTDID 1001: 380 (Factura), 389 (Autofactura), 384 (Factura corectata), 381 (Nota de creditare), 751 (Factura — informatii în scopuri contabile).\n\t\t\t#The invoice type code (BT-3) must be one of the following codes in the UNTDID 1001 code list: 380 (Invoice), 389 (Self-invoice), 384 (Corrected invoice), 381 (Credit note), 751 (Invoice - information for accounting purposes).",
"path": "/*:Invoice[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'][1]/*:InvoiceTypeCode[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2'][1]",
"svrl_kind": "failed-assert"
}
]Alte mesaje în aceeași probă
În acest test BR-RO-020_1 apare împreună cu BR-CL-01.
Aceste rezultate descriu facturile sintetice publicate, nu frecvența erorilor din facturile vizitatorilor.
Verifică propriul XML · Înapoi la index · Surse, metodă și limite