Erori e-Factura

EN16931

Factura trebuie să aibă cel puțin o linie de factură

Codul regulii este BR-16.

Mesajul exact din validatorul ANAF

org.xml.sax.SAXParseException; lineNumber: 157; columnNumber: 13; cvc-complex-type.2.4.b: The content of element 'Invoice' is not complete. One of '{"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2":InvoiceLine}' is expected.

Ce înseamnă

BR-16 verifică faptul că factura conține cel puțin un element cac:InvoiceLine (grupul BG-25). O factură cu antet și totaluri, dar fără nicio linie, nu descrie niciun bun livrat sau serviciu prestat, deci nu poate fi validată. Regula se aplică la nivel de factură, nu la nivel de linie: dacă lipsește chiar și singura linie, factura pică.

Cum repari

Caută cauza: cel mai des apar facturi fără linii la stornări, la facturile generate automat din alt program sau când liniile au fost șterse manual înainte de încărcare. Adaugă în factură cel puțin o linie completă (ID, cantitate cu unitate de măsură, valoare în RON, denumire articol, categorie de TVA și preț unitar) și reia trimiterea.

Exemplu

Așa pică

<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">
</ubl:Invoice>

Așa 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:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>19.00</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="RON">100.00</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>
</ubl:Invoice>

În practică nu ajungi să vezi codul regulii: valoarea e respinsă mai devreme, de schema XML, iar mesajul arată cum scrie mai sus. Regula există și ea, dar prinde doar cazurile pe care schema le lasă să treacă.

Verificat. Am pus fiecare din cele două fragmente într-o factură completă și le-am trecut prin validatorul oficial ANAF, versiunea ro16931-ubl-1.0.9. Factura cu fragmentul din stânga a fost respinsă cu mesajul de mai sus; cea cu fragmentul din dreapta a trecut fără nicio eroare. Verificarea s-a făcut pe 14.09.2026.
Regula așa cum e scrisă în schematronul oficial

Textul oficial, în engleză

An Invoice shall have at least one Invoice line (BG-25)

Unde se aplică

$Invoice

Condiția care trebuie să fie adevărată

$BR-16
Ce nu rezultă din textul oficial al regulii

Nu am putut confirma din datele primite textul exact afișat de validatorul ANAF pentru BR-16.