Erori e-Factura

EN16931

Factura respinsă: lipsește codul modului de plată din BG-16

Codul regulii este BR-49.

Mesajul exact din validatorul ANAF

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

Ce înseamnă

Dacă factura conține un grup de instrucțiuni de plată (BG-16), acesta trebuie să spună obligatoriu și prin ce se face plata, adică să aibă codul modului de plată BT-81 (31 = virament, 10 = numerar, 42 = cont propriu etc.). Un IBAN, o mențiune de tipul "achitat cu cardul" sau data scadenței nu țin locul acestui cod. Validatorul dă eroare BR-49 exact în situația în care există grupul de plată, dar codul lipsește.

Cum repari

În programul de facturare, completează codul modului de plată pentru fiecare factură care are date de plată; în practică, 31 pentru virament. Dacă nu vrei să dai niciun detaliu de plată pe factură, șterge complet grupul de instrucțiuni de plată, nu doar codul din el.

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">
  <cac:PaymentMeans>
  </cac:PaymentMeans>
</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:PaymentMeans>
    <cbc:PaymentMeansCode>31</cbc:PaymentMeansCode>
  </cac:PaymentMeans>
</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ă

A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).

Unde se aplică

$Payment_instructions

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

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

Nu am confirmat dacă ANAF restrânge lista codurilor de mod de plată acceptate dincolo de cele uzuale; în factura de referință codul 31 trece validatorul fără erori.