Skip to content

Fatal

UBL-SR-27: Only one payment means code per payment block

In short

Fatal: fails the selected checks.

UBL-SR-27 means a payment means block has more than one payment means code (BT-81). Keep one code, the one that matches how the invoice is to be paid, and export again.

On this page

What it means

Each payment means block (cac:PaymentMeans) may hold the payment means code (BT-81), such as 58 for a SEPA bank transfer, only once. The official text speaks of the payment means text (BT-82), but the test counts the cbc:PaymentMeansCode element, which carries the code and, in its name attribute, the text.

Why it matters

EN 16931 allows at most one payment means code in each payment means block.

How to fix it

Check the payment methods in your invoicing software and make sure each payment means block contains at most one code. If you want to describe the method in words, use the payment means text rather than a second code. In the XML, keep at most one cbc:PaymentMeansCode in each cac:PaymentMeans and put any text in its name attribute.

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

Payment means text shall occur maximum once

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

Updated 6 November 2026