InvoiceValidator.eu

BR-CL-16

fatalEN 16931code list ruleCIIUBL

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

Why it fails

The payment means type code (BT-81) is not in UNCL 4461.

How to fix it

Use 1 (not defined), 10 (cash), 20 (cheque), 30 (credit transfer), 48 (card), 49 (direct debit), 57 (standing order), 58 (SEPA credit transfer), 59 (SEPA direct debit), or 97 (netting).

What the validator checks

CII — context ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode

((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 98 ZZZ ', concat(' ', normalize-space(.), ' '))))

UBL — context cac:PaymentMeans/cbc:PaymentMeansCode

( ( 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 98 ZZZ ',concat(' ',normalize-space(.),' ') ) ) )

Related rules

Part of BR-CL — Code list rules.

Check your own invoice against BR-CL-16

…or paste the XML instead

Nothing is stored, and the whole invoice is checked, not just this rule. A PDF only works if it is Factur-X / ZUGFeRD — a PDF with the invoice XML inside it.