XSDHub

BR-RO-L155: Numărul facturii depășește limita de caractere

Numărul facturii depășește limita de caractere — cauză, câmp XML, corecție și probe complete.

Ce înseamnă și cum corectezi

Numărul facturii, BT-1, se transmite prin ID aflat direct sub rădăcina documentului. În pachetul național, testul BR-RO-L155 permite cel mult 200 de caractere după normalize-space. Identificatorul tehnic al regulii a rămas L155, deși mesajul descrie limita de 200; nu deduce pragul numeric numai din numele codului. Exemplul greșit înlocuiește numărul fictiv TEST-RO-2026-001 cu un șir de 201 caractere X. Varianta corectată revine la numărul scurt, fără să schimbe ID al liniei ori identificatorii partenerilor. Calea rădăcinii diferențiază BT-1 de celelalte elemente ID care apar în factură. La exportul real, verifică dacă sistemul concatenează accidental note, identificatori interni sau prefixe repetate în câmpul numărului. Nu trunchia automat o valoare până la limită dacă astfel ai modifica numărul comercial folosit în evidență. Corectează regula de generare și păstrează corespondența cu documentul emis. Normalizarea spațiilor poate schimba lungimea evaluată, dar nu constituie o metodă de a comprima arbitrar identificatorul. Testul nu verifică unicitatea numărului în alte facturi și nu îl înregistrează în SPV. O valoare suficient de scurtă poate trece limita fără să fie numărul corect al operațiunii. Confirmă datele în sursa emitentului și apoi validează întregul XML regenerat.

Câmpul și condiția din sursă

Mutația pentru BR-RO-L155 vizează calea /*/cbc:ID.

[
  {
    "file": "expanded.sch (generated from original ANAF includes)",
    "kind": "assert",
    "context": "/ubl:Invoice | /cn:CreditNote",
    "test": "string-length(normalize-space(cbc:ID)) <= 200",
    "message": "[BR-RO-L200]-Numarul maxim permis de caractere pentru Numarul facturii (BT-1) este 200. #The allowed maximum number of characters for the Invoice number (BT-1) is 200."
  }
]

Fragment greșit

<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">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</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">TEST-RO-2026-001</cbc:ID>

Reproducere cu motorul fixat

Fișierul br-ro-l155-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-L155",
    "message": "[BR-RO-L200]-Numarul maxim permis de caractere pentru Numarul facturii (BT-1) este 200.\n\t\t\t\t\t\t\t#The allowed maximum number of characters for the Invoice number (BT-1) is 200.",
    "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-L155 apare împreună cu BR-RO-010.

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

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