Erori e-Factura

CIUS-RO

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

Codul regulii este BR-RO-L301. În răspunsul de la ANAF vezi însă BR-RO-L300: eticheta din mesaj nu coincide cu identificatorul regulii. Nu căuta după codul regulii, ci după 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 înseamnă

Î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

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>
    <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>

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: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>

Greșeala asta strică și alte verificări, deci în același răspuns vei găsi și: BR-RO-L302. Le repari pe toate odată cu asta.

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

Alte reguli pe care ANAF le raportează tot ca BR-RO-L300

Regula așa cum e scrisă în schematronul oficial

Textul oficial, în română

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

Textul oficial, în engleză

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

Unde se aplică

/ubl:Invoice | /cn:CreditNote

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

string-length(normalize-space(cac:PaymentTerms/cbc:Note)) <= 300
Ce nu rezultă 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.