Skip to content

PEPPOL-EN16931-R053: Invoice total VAT amount in invoice currency present more than once

Official message

[PEPPOL-EN16931-R053] No more than one tax total amount must be provided where currency id equals document currency code.

XRechnung (CII) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

[PEPPOL-EN16931-R053] Only one tax total with tax subtotals MUST be provided.

XRechnung (UBL) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31
Severity
Error The invoice is invalid and may be rejected by the recipient.
Applies to
XRechnung (CII), XRechnung (UBL)

What does this mean?

The invoice total VAT amount in invoice currency (BT-110) may only occur once. The invoice contains it more than once or, in UBL, not exactly once.
The rule originates from Peppol BIS Billing 3.0 and is applied in the XRechnung validation. CII: no more than one ram:TaxTotalAmount with currencyID equal to the invoice currency (BT-5). UBL: only one cac:TaxTotal with cac:TaxSubtotal must be provided.

Typical causes

CII: the VAT amount in accounting currency (BT-111) was output with the same currency as BT-5, e.g. because the VAT accounting currency (BT-6) equals the invoice currency.
UBL: a separate cac:TaxTotal was created for each VAT rate instead of several cac:TaxSubtotal in one cac:TaxTotal.
UBL: the VAT breakdown (cac:TaxSubtotal) is missing completely.

How to fix the error

State BT-110 exactly once in invoice currency.
Only state BT-6 and BT-111 if the VAT has to be stated additionally in a different currency (see PEPPOL-EN16931-R005).
UBL: combine all VAT breakdowns (BG-23) as cac:TaxSubtotal in one common cac:TaxTotal.
Generate and validate the invoice again.

In E-Rechnungsfreund

In the invoice form, "Experte" view, section "Rechnungsdetails" (invoice details), choose "– nicht angegeben –" (not specified) in the field "Steuerwährung (BT-6)" if the VAT is only stated in the invoice currency, and do not choose a VAT accounting currency equal to "Währung (BT-5)".

Example

Wrong

<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  ...
  <ram:TaxTotalAmount currencyID="EUR">63.75</ram:TaxTotalAmount>
  <ram:TaxTotalAmount currencyID="EUR">63.75</ram:TaxTotalAmount>
  ...
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>

Correct

<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  ...
  <ram:TaxTotalAmount currencyID="EUR">63.75</ram:TaxTotalAmount>
  ...
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
For developers: test expression per syntax

XRechnung (CII) (CII)

Context: ram:ApplicableHeaderTradeSettlement

count(ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID = $documentCurrencyCode]) <=1

XRechnung (UBL) (UBL)

Context: ubl-creditnote:CreditNote | ubl-invoice:Invoice

count(cac:TaxTotal[cac:TaxSubtotal]) = 1

Related validation rules

Last updated:
Explanation of the validation rule, not legal or tax advice.