Erori e-FacturaBR-24

Fiecare linie de factură are nevoie de valoarea netă a liniei

Codul regulii este BR-24.

Mesajul exact din validatorul ANAF

org.xml.sax.SAXParseException; lineNumber: 161; columnNumber: 15; cvc-complex-type.2.4.a: Invalid content was found starting with element '{"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2":Item}'. One of '{"urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2":LineExtensionAmount}' is expected.

Ce inseamna

BR-24 spune că orice linie de factură (BG-25) trebuie să conțină valoarea netă a liniei (BT-131), adică baza impozabilă a liniei, fără TVA. Fără acest element, programul de validare nu poate verifica aritmetica facturii: nu știe dacă suma liniilor dă totalul fără TVA și nici din ce bază s-a calculat TVA-ul. În UBL, BT-131 se scrie în cbc:LineExtensionAmount, copil direct al lui cac:InvoiceLine.

Cum repari

În programul de facturare, verifică fiecare linie și asigură-te că are completată valoarea netă (cantitate x preț unitar net, fără TVA). Nu lăsa linii cu acest câmp gol; dacă ai linii cu valoare zero (de exemplu discount sau linii informative), scoate-le din factură sau mută-le în antet.

Exemplu

Asa pica

<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity>
    <cac:Item>
      <cbc:Name>Serviciu de consultanta</cbc:Name>
    </cac:Item>
  </cac:InvoiceLine>
</ubl:Invoice>

Asa trece

<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Name>Serviciu de consultanta</cbc:Name>
    </cac:Item>
  </cac:InvoiceLine>
</ubl:Invoice>

In practica nu ajungi sa vezi codul regulii: valoarea e respinsa mai devreme, de schema XML, iar mesajul arata cum scrie mai sus. Regula exista si ea, dar prinde doar cazurile pe care schema le lasa sa treaca.

Verificat. Am pus fiecare din cele doua fragmente intr-o factura completa si le-am trecut prin validatorul oficial ANAF, versiunea ro16931-ubl-1.0.9. Factura cu fragmentul din stanga a fost respinsa cu mesajul de mai sus; cea cu fragmentul din dreapta a trecut fara nicio eroare. Verificarea s-a facut pe 14.09.2026.
Regula asa cum e scrisa in schematronul oficial

Textul oficial, in engleza

Each Invoice line (BG-25) shall have an Invoice line net amount (BT-131).

Unde se aplica

$Invoice_Line

Conditia care trebuie sa fie adevarata

$BR-24
Ce nu rezulta din textul oficial al regulii

Nu am putut confirma dacă validatorul ANAF tratează separat cazul în care cbc:LineExtensionAmount există dar are valoarea 0.00 (unele validatoare îl acceptă formal, deși economic linia nu are sens). De asemenea, nu am verificat dacă o linie cu valoare 0 este respinsă de altă regulă din schematronul CIUS-RO.