Erori e-FacturaBR-RO-L301

Termenii de plată (BT-20) nu pot depăși 300 de caractere

Codul regulii este BR-RO-L301. In raspunsul de la ANAF vezi insa BR-RO-L300: eticheta din mesaj nu coincide cu identificatorul regulii. Nu cauta dupa codul regulii, ci dupa textul mesajului.

Mesajul exact din validatorul ANAF

textEroare=[BR-RO-L300]-Numarul maxim permis de caractere pentru Termeni de plata (BT-20) este 300. #The allowed maximum number of characters for the Payment terms (BT-20) is 300.
textEroare=[BR-RO-L300]-Numarul maxim permis de caractere pentru Comentariu în factura (BT-22) este 300. #The allowed maximum number of characters for the Invoice note (BT-22) is 300.

Ce inseamna

În răspunsul ANAF regula apare sub etichetă [BR-RO-L300], deși în schematronul oficial are id-ul BR-RO-L301 — după etichetă o caută contabilul. Ea limitează la 300 de caractere textul din cac:PaymentTerms/cbc:Note, adică termenii de plată tipăriți pe factură (BT-20). Se numără textul după normalize-space, deci spațiile de la început/sfârșit și spațiile multiple dintre cuvinte nu contează; 300 de caractere exact este acceptat. Dacă textul e mai lung, factura pică la validare chiar dacă toate sumele sunt corecte.

Cum repari

Scurtează textul din câmpul „Termeni de plată” / „Condiții de plată” din programul de facturare până la maximum 300 de caractere. Condițiile detaliate (penalități, suspendare servicii, recuperare creanțe) mută-le în contract sau într-un document atașat, nu în nota de plată din factură.

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:PaymentMeans>
    <cbc:PaymentMeansCode>31</cbc:PaymentMeansCode>
    <cac:PayeeFinancialAccount>
      <cbc:ID>RO49AAAA1B31007593840000</cbc:ID>
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>
  <cac:PaymentTerms>
    <cbc:Note>Plata se face prin virament bancar in contul RO49AAAA1B31007593840000, in termen de 30 de zile de la data emiterii facturii. Intarzierea atrage penalitati de 0,05% pe zi. Factura se achita prin ordin de plata cu mentiunea numarului facturii. Neachitarea la scadenta atrage suspendarea serviciilor contractate si penalitati suplimentare stabilite prin contract, precum si recuperarea creantelor pe cale legala, cu cheltuieli de judecata suportate de client.</cbc:Note>
  </cac:PaymentTerms>
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="RON">190.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="RON">1000.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="RON">190.00</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>19.00</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
</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:PaymentMeans>
    <cbc:PaymentMeansCode>31</cbc:PaymentMeansCode>
    <cac:PayeeFinancialAccount>
      <cbc:ID>RO49AAAA1B31007593840000</cbc:ID>
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>
  <cac:PaymentTerms>
    <cbc:Note>Plata se face prin virament bancar in contul RO49AAAA1B31007593840000, in termen de 30 de zile de la data emiterii facturii. Intarzierea atrage penalitati de 0,05% pe zi. Factura se achita prin ordin de plata cu mentiunea numarului facturii.</cbc:Note>
  </cac:PaymentTerms>
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="RON">190.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="RON">1000.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="RON">190.00</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>19.00</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
</ubl:Invoice>

Greseala asta strica si alte verificari, deci in acelasi raspuns vei gasi si: BR-RO-L302. Le repari pe toate odata cu asta.

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 exact mesajul de mai sus; cea cu fragmentul din dreapta a trecut fara nicio eroare. Verificarea s-a facut pe 14.09.2026.

ANAF raporteaza sub aceeasi eticheta BR-RO-L300 si

Regula asa cum e scrisa in schematronul oficial

Textul oficial, in romana

Numarul maxim permis de caractere pentru Termeni de plata (BT-20) este 300

Textul oficial, in engleza

The allowed maximum number of characters for the Payment terms (BT-20) is 300.

Unde se aplica

/ubl:Invoice | /cn:CreditNote

Conditia care trebuie sa fie adevarata

string-length(normalize-space(cac:PaymentTerms/cbc:Note)) <= 300
Ce nu rezulta din textul oficial al regulii

Grupul cac:PaymentTerms nu există în factura de referință, așa că l-am inserat între cac:PaymentMeans și cac:TaxTotal, ordinea din secvența UBL (nu există cac:PrepaidPayment sau cac:AllowanceCharge în factura de referință). Nu pot confirma din datele primite dacă mesajul ANAF afișează ca atare etichetă [BR-RO-L300]; pragul de 300 de caractere și modul de numărare (normalize-space, 300 inclusiv) sunt cele din testul oficial.