Erori e-FacturaBR-67

O factură poate avea cel mult un mandat de plată

Codul regulii este BR-67.

Mesajul exact din validatorul ANAF

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

Ce inseamna

Grupul BG-19 (mandatul de plată) descrie debitarea directă: referința mandatului, identificatorul creditorului atribuit de bancă și contul debitat. EN 16931 îl admite o singură dată pe factură, pentru că altfel nu se poate ști care mandat se aplică la plată. Regula nu obligă să ai mandat, doar limitează numărul la unul. Dacă nu încasezi prin debit direct, poți să nu ai deloc acest grup.

Cum repari

Verifică în programul de facturare că blocul de mandat se generează o singură dată la nivel de factură, nu o dată pentru fiecare modalitate de plată sau pentru fiecare linie. Dacă ai mai multe mandate, păstrează unul singur, cel valabil, și șterge restul. Dacă factura nu se încasează prin debit direct, elimină complet elementul de mandat.

Exemplu

Asa pica

<ubl:Invoice>
  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>31</cbc:PaymentMeansCode>
    <cac:PayeeFinancialAccount>
      <cbc:ID>RO49AAAA1B31007593840000</cbc:ID>
    </cac:PayeeFinancialAccount>
    <cac:PaymentMandate>
      <cbc:ID>MANDAT-2024-001</cbc:ID>
    </cac:PaymentMandate>
    <cac:PaymentMandate>
      <cbc:ID>MANDAT-2024-002</cbc:ID>
    </cac:PaymentMandate>
  </cac:PaymentMeans>
</ubl:Invoice>

Asa trece

<ubl:Invoice>
  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>31</cbc:PaymentMeansCode>
    <cac:PayeeFinancialAccount>
      <cbc:ID>RO49AAAA1B31007593840000</cbc:ID>
    </cac:PayeeFinancialAccount>
    <cac:PaymentMandate>
      <cbc:ID>MANDAT-2024-001</cbc:ID>
    </cac:PaymentMandate>
  </cac:PaymentMeans>
</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

An Invoice shall contain maximum one Payment Mandate (BG-19).

Unde se aplica

$Invoice

Conditia care trebuie sa fie adevarata

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

Testul XPath a fost dat doar ca "$BR-67", fără expresia completă, așa că am presupus că se numără aparițiile elementului de mandat de plată la nivel de factură. Nu am putut confirma din datele primite poziția exactă a lui cac:PaymentMandate în secvența UBL 2.1 a lui cac:PaymentMeans (l-am așezat după cac:PayeeFinancialAccount) și nici maparea exactă a câmpurilor BT-89, BT-90, BT-91 pe elementele copil; conținutul folosit în exemplu este strict ilustrativ și trebuie înlocuit cu datele reale ale mandatului.