Skip to content

Fatal

UBL-SR-47: All payment means codes on an invoice must be the same

In short

Fatal: fails the selected checks.

UBL-SR-47 means the invoice has payment means blocks with different payment means codes (BT-81). Use the same code in all of them, or keep only one payment means block.

On this page

What it means

The payment means code (BT-81) says how the invoice is to be paid, for example 58 for a SEPA bank transfer or 59 for a SEPA direct debit. If the file has more than one cbc:PaymentMeansCode, all of them must have the same value.

Why it matters

EN 16931 requires the same payment means code wherever it appears in the document.

How to fix it

In your invoicing software, check the payment details and choose a single payment method. If you offer two bank accounts for the same payment method, both should share the same code. If you build the XML yourself, give every cbc:PaymentMeansCode in the file the same value.

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

When there are more than one payment means code, they shall be equal

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-SR-47 still fails, and which other rules do.

Updated 6 November 2026