# BR-22: Cantitatea facturată lipsește

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

 Cantitatea facturată lipsește — cauză, câmp XML, corecție și probe complete.

  Ce înseamnă și cum corectezi

 Cantitatea facturată, BT-129, se transmite în InvoicedQuantity pentru o linie UBL Invoice. Testul elimină acest element, păstrând identificatorul liniei, valoarea netă, articolul și prețul. Schema UBL poate permite lipsa unor componente pe care regulile semantice le cer; de aceea trecerea de XSD nu încheie validarea facturii. Varianta bună conține cantitatea 1 și codul de unitate C62. Cantitatea este un număr zecimal; unitatea este un atribut separat și trebuie aleasă potrivit bunului sau serviciului. Nu scrie unitatea ca text în interiorul valorii numerice. Într-un document CreditNote, câmpul corespunzător este CreditedQuantity, iar linia are alt nume. Acest exemplu demonstrează numai ramura Invoice, nu o mutație făcută arbitrar în ambele sintaxe. Citește calea raportată și tipul rădăcinii înainte de a căuta elementul în XML. În aplicația sursă, verifică dacă o cantitate zero sau necompletată este omisă de serializator și dacă transformarea păstrează atributul unitCode. Completarea cantității trebuie urmată de recalcularea valorii nete a liniei pe baza prețului și a eventualelor ajustări. O valoare introdusă doar pentru a trece regula nu dovedește cantitatea livrată. Folosește datele operațiunii și repetă controlul documentului integral după regenerarea exportului.



  Câmpul și condiția din sursă

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

  [
  {
    "file": "expanded.sch (generated from original ANAF includes)",
    "kind": "assert",
    "context": "cac:InvoiceLine | cac:CreditNoteLine",
    "test": "exists(cbc:InvoicedQuantity) or exists(cbc:CreditedQuantity)",
    "message": "[BR-22]-Each Invoice line (BG-25) shall have an Invoiced quantity (BT-129)."
  }
] 



  Fragment greșit

  <!-- element absent: /*/cac:InvoiceLine/cbc:InvoicedQuantity --> 



  Fragment corectat

  <cbc:InvoicedQuantity 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" unitCode="C62">1</cbc:InvoicedQuantity> 



  Reproducere cu motorul fixat

 Fișierul br-22-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-22",
    "message": "[BR-22]-Each Invoice line (BG-25) shall have an Invoiced quantity (BT-129).",
    "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-22 apare împreună cu BR-23.

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



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


