Erori e-Factura

EN16931

Documentul suport atașat nu are referință de document

Codul regulii este BR-52.

Mesajul exact din validatorul ANAF

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

Ce înseamnă

Când atașezi un document suport la factura (contract, comandă, proces-verbal, aviz), grupul BG-24 trebuie să conțină obligatoriu referința documentului (BT-122) — numărul sau identificatorul lui. Validatorul nu se uită la descriere: un grup cu doar text explicativ, fără referință, pică la BR-52. Descrierea (BT-123) și fișierul atașat (BT-125) rămân opționale.

Cum repari

În programul de facturare, la documentele suport completează întotdeauna și câmpul de identificator (numărul contractului, al comenzii), nu doar descrierea. În XML, cbc:ID se scrie primul în cac:AdditionalDocumentReference; grupul se inserează între cbc:DocumentCurrencyCode și cac:AccountingSupplierParty.

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">
  <cbc:DocumentCurrencyCode>RON</cbc:DocumentCurrencyCode>
  <cac:AdditionalDocumentReference>
    <cbc:DocumentDescription>Contract de prestari servicii</cbc:DocumentDescription>
  </cac:AdditionalDocumentReference>
  <cac:AccountingSupplierParty>
    <!-- restul ramane cel din factura de referinta -->
  </cac:AccountingSupplierParty>
</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">
  <cbc:DocumentCurrencyCode>RON</cbc:DocumentCurrencyCode>
  <cac:AdditionalDocumentReference>
    <cbc:ID>Contract 123/2024</cbc:ID>
    <cbc:DocumentDescription>Contract de prestari servicii</cbc:DocumentDescription>
  </cac:AdditionalDocumentReference>
  <cac:AccountingSupplierParty>
    <!-- restul ramane cel din factura de referinta -->
  </cac:AccountingSupplierParty>
</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ă

Each Additional supporting document (BG-24) shall contain a Supporting document reference (BT-122).

Unde se aplică

$Additional_supporting_documents

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

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

Valorile din exemplu ("Contract 123/2024", "Contract de prestări servicii") sunt de umplutură, nu date reale - înlocuiește-le cu ale tale. Prefixul ubl: și declarațiile de namespace de pe elementul rădăcină le-am adăugat eu, pentru că fragmentul să fie XML valid de sine stătător; factura de referință folosește namespace-ul implicit pe elementul Invoice.