Skip to content

Warning

UBL-CR-661: The payment means code should have no listID attribute

In short

Warning: worth checking.

UBL-CR-661 means the payment means code (BT-81) has a listID attribute, which EN 16931 does not use. Remove the attribute and keep the code.

On this page

What it means

This rule checks the payment means code (BT-81), the cbc:PaymentMeansCode inside cac:PaymentMeans, and flags it if it has a listID attribute. The code says how the invoice is to be paid, such as 58 for a SEPA bank transfer or 30 for a bank transfer, from the UNTDID 4461 list. EN 16931 fixes that list, so naming it with listID is not used.

Why it matters

EN 16931 uses the payment means code without a listID attribute. This rule does not check the payment method code value.

How to fix it

Remove listID from cbc:PaymentMeansCode inside cac:PaymentMeans and keep the code unchanged. If your software adds the attribute, ask its supplier to correct the export, then check the new file again.

Once the file is corrected, check it again for free: Validate an invoice against EN 16931

Or fix the invoice in a form and download the corrected file, for 1 credit: Fix a rejected e-invoice

The rule as published

A UBL invoice should not include the PaymentMeansCode listID

Where this rule applies

Rule set Version
EN 16931 (UBL) 1.3.17
EN 16931 (UBL credit note) 1.3.17
XRechnung 3.0 (UBL) 3.0.2
XRechnung 3.0 (UBL credit note) 3.0.2
Peppol BIS Billing 3.0 (invoice) 2026.5
Peppol BIS Billing 3.0 (credit note) 2026.5
SI-UBL 2.0 / NLCIUS (invoice) 2.0.3.13
SI-UBL 2.0 / NLCIUS (credit note) 2.0.3.13
France CTC (UBL invoice) 1.4.0-04
France CTC (UBL credit note) 1.4.0-04
CIUS-RO UBL Invoice 1.0.9 1.0.9
CIUS-RO UBL Credit Note 1.0.9 1.0.9
Rule text from phive-rules 4.6.4.

Check your file

Drop your e-invoice to see whether UBL-CR-661 still fails, and which other rules do.

Updated 6 November 2026