Erori e-FacturaBR-RO-L140

Avizul de plată (BT-83) nu poate depăși 140 de caractere

Codul regulii este BR-RO-L140.

Mesajul exact din validatorul ANAF

textEroare=[BR-RO-L140]-Numarul maxim permis de caractere pentru Aviz de plata (BT-83) este 140. #The allowed maximum number of characters for the Remittance information (BT-83) is 140.

Ce inseamna

Avizul de plată (BT-83) este textul liber pe care îl trimiți cu plată și care ajunge la cumpărător ca referință de plată. În CIUS-RO el se scrie în cbc:PaymentID din cadrul cac:PaymentMeans, iar validatorul numără caracterele după ce a tăiat spațiile de la început și de la sfârșit. Peste 140 de caractere factura se respinge, chiar dacă nu este o eroare de aritmetică sau de TVA.

Cum repari

Scurtează textul din câmpul de aviz de plată al facturii până la cel mult 140 de caractere, păstrând doar numărul facturii, numărul și data ordinului de plată. Nu adăuga șiruri lungi de condiții contractuale sau coduri interne în acest câmp; dacă ai nevoie de ele, pune-le într-un câmp de note interne care nu se trimite în XML.

Exemplu

Asa pica

<Invoice xmlns="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><!-- BG-16 -->
    <cbc:PaymentMeansCode>31</cbc:PaymentMeansCode><!-- BT-81 virament -->
    <cbc:PaymentID>Plata facturii FCT-2024-0001 conform contractului de prestari servicii nr. 1234/2024, aviz de plata emis in data de 05.06.2024, termen scadent 05.07.2024</cbc:PaymentID><!-- BT-83 prea lung -->
    <cac:PayeeFinancialAccount>
      <cbc:ID>RO49AAAA1B31007593840000</cbc:ID><!-- BT-84 IBAN -->
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>
</Invoice>

Asa trece

<Invoice xmlns="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><!-- BG-16 -->
    <cbc:PaymentMeansCode>31</cbc:PaymentMeansCode><!-- BT-81 virament -->
    <cbc:PaymentID>Plata factura FCT-2024-0001</cbc:PaymentID><!-- BT-83, sub 140 de caractere -->
    <cac:PayeeFinancialAccount>
      <cbc:ID>RO49AAAA1B31007593840000</cbc:ID><!-- BT-84 IBAN -->
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>
</Invoice>
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.
Regula asa cum e scrisa in schematronul oficial

Textul oficial, in romana

Numarul maxim permis de caractere pentru Aviz de plata (BT-83) este 140

Textul oficial, in engleza

The allowed maximum number of characters for the Remittance information (BT-83) is 140.

Unde se aplica

//cac:PaymentMeans

Conditia care trebuie sa fie adevarata

string-length(normalize-space(cbc:PaymentID)) <= 140
Ce nu rezulta din textul oficial al regulii

Factura de referință nu conține deloc BT-83 (cbc:PaymentID), deci am construit ambele fragmente adăugând elementul pe poziția lui din secvența UBL, între cbc:PaymentMeansCode și cac:PayeeFinancialAccount. Nu am putut confirma din datele primite dacă ANAF numără diacriticele ca un singur caracter, dar în XPath string-length numără caractere, nu octeți. De asemenea, nu am verificat dacă CIUS-RO limitează la o singură apariție a lui cbc:PaymentID în cac:PaymentMeans.