# BR-21: Identificatorul liniei este gol

Source: https://xsdhub.com/ro/reguli-e-factura/br-21

 Identificatorul liniei este gol — cauză, câmp XML, corecție și probe complete.

  Ce înseamnă și cum corectezi

 BT-126 identifică poziția facturii. Elementul ID aflat direct în InvoiceLine nu este numărul întregii facturi și nu reprezintă codul articolului. În test, elementul rămâne în structura XML, dar conținutul său este gol. Această alegere separă lipsa unei valori utilizabile de eliminarea unui element obligatoriu care ar putea opri procesarea la etapa XSD. Varianta corectă transmite 1 pentru singura poziție a facturii fictive. La exportul unei facturi reale, folosește identificatorii stabili ai liniilor din sistemul sursă; nu renumerota fără să verifici referințele dintre documente. Calea din raport arată exact linia afectată, inclusiv poziția sa printre elementele cu același nume. Verifică toate liniile când mesajul apare de mai multe ori. Un identificator prezent în antet, în comanda clientului ori în descrierea articolului nu satisface cerința pentru ID al liniei. Nu completa o valoare lipsă cu un spațiu, pentru că aceasta nu transmite un identificator comercial util. Diagnosticul reproduce comportamentul pachetului ANAF fixat în această versiune; controlul nu consultă numerele de linie din alte facturi și nu verifică registre externe. Dacă raportul mai conține erori de cantitate sau de valoare netă, acestea necesită propriile corecții, chiar după completarea identificatorului.



  Câmpul și condiția din sursă

 Mutația pentru BR-21 vizează calea /*/cac:InvoiceLine/cbc:ID.

  [
  {
    "file": "expanded.sch (generated from original ANAF includes)",
    "kind": "assert",
    "context": "cac:InvoiceLine | cac:CreditNoteLine",
    "test": "(cbc:ID) != ''",
    "message": "[BR-21]-Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126)."
  }
] 



  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"/> 



  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">1</cbc:ID> 



  Reproducere cu motorul fixat

 Fișierul br-21-bad.xml nu trece verificarea și produce 1 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-21",
    "message": "[BR-21]-Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126).",
    "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 testul pentru BR-21 nu s-au emis alte coduri de eroare.

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



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


