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.
Î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.
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ă.
<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><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.
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.Comentariul facturii (BT-22) nu poate depăși 300 de caractere
Nota liniei facturii nu poate depăși 300 de caractere
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.
/ubl:Invoice | /cn:CreditNote
string-length(normalize-space(cac:PaymentTerms/cbc:Note)) <= 300
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.