Erori e-FacturaBR-CL-16

Modalitatea de plată trebuie codificată din lista UNCL4461

Codul regulii este BR-CL-16.

Mesajul exact din validatorul ANAF

textEroare=[BR-CL-16]-Payment means in an invoice MUST be coded using UNCL4461 code list

Ce inseamna

BT-81 (PaymentMeansCode) nu este text liber: trebuie să fie un cod din lista UNCL4461, singura pe care o acceptă validatorul. Sunt acceptate doar valorile 1-70, 74-78, 91-97 și ZZZ, scrise fără spații în interior. Dacă în acest câmp ajunge denumirea în clar a plății (de exemplu "OP" sau "Transfer bancar"), factura se respinge, chiar dacă restul facturii este corect.

Cum repari

În programul de facturare, câmpul de modalitate de plată trebuie să fie o listă de valori UNCL4461, nu un câmp liber de text. Înlocuiește textul cu codul numeric corespunzător plății; pentru virament, factura de referință folosește 31. Verifică și facturile vechi, unde codul a putut fi salvat ca denumire.

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>OP</cbc:PaymentMeansCode>
  </cac:PaymentMeans>
</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:PaymentMeans>
</ubl: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 engleza

Payment means in an invoice MUST be coded using UNCL4461 code list

Unde se aplica

cac:PaymentMeans/cbc:PaymentMeansCode

Conditia care trebuie sa fie adevarata

( ( not(contains(normalize-space(.),' ')) and contains( ' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 74 75 76 77 78 91 92 93 94 95 96 97 ZZZ ',concat(' ',normalize-space(.),' ') ) ) )
Ce nu rezulta din textul oficial al regulii

Nu pot confirma din datele primite semnificația exactă a fiecărui cod din UNCL4461 (de exemplu diferența dintre 30 și 31, sau care cod corespunde numerarului); pentru alegerea codului potrivit situației dumneavoastră, verificați lista oficială UNCL4461.