# BR-CL-16

Source: https://xmlvalid.com/rules/BR-CL-16

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

- Level: error
- Rule sets: EN 16931 rules (UBL) 1.3.17, EN 16931 rules 1.3.16 (UBL), EXTENDED-CTC-FR rules (UBL) 1.4.0.04
- Context: `cac:PaymentMeans/cbc:PaymentMeansCode`
- Test: `( ( 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(.),' ') ) ) )`

> Payment means in an invoice MUST be coded using UNTDID 4461 code list

- Level: error
- Rule sets: EN 16931 rules (CII) 1.3.17, EN 16931 rules 1.3.16 (CII), EXTENDED-CTC-FR rules (CII) 1.4.0.04
- Context: `ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode`
- Test: `((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(.), ' '))))`

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

- Level: error
- Rule sets: Romanian RO e-Factura rules (UBL) 1.0.9
- Context: `cac:PaymentMeans/cbc:PaymentMeansCode`
- Test: `( ( 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(.),' ') ) ) )`

## Why it fails

- The payment means code is not from UNCL 4461, for example a text such as `SEPA`.

## How to fix it

- Use the numeric code: `58` SEPA credit transfer, `59` SEPA direct debit, `30` credit transfer, `48` bank card, `10` cash.

Validate a document against these rules: https://xmlvalid.com/validate
