Official rule text
[PEPPOL-EN16931-R053] Only one tax total with tax subtotals MUST be provided.
Why this error occurs
Peppol requires exactly one VAT total block that carries the breakdown: in UBL one cac:TaxTotal containing cac:TaxSubtotal elements, in CII exactly one ram:TaxTotalAmount with currencyID equal to the invoice currency. A second block may exist only for the VAT total in accounting currency (BT-111) and must have no subtotals. The rule fails when software emits one cac:TaxTotal per VAT rate, when the subtotals are missing entirely, or in CII when ram:TaxTotalAmount lacks the currencyID attribute.
How to fix it
In UBL build a single cac:TaxTotal with cbc:TaxAmount (sum, BT-110) and one cac:TaxSubtotal per VAT category and rate; if you use a VAT accounting currency, add a second cac:TaxTotal with only cbc:TaxAmount in that currency. In CII write exactly one ram:TaxTotalAmount with currencyID equal to ram:InvoiceCurrencyCode in ram:SpecifiedTradeSettlementHeaderMonetarySummation, plus optionally one in the tax currency; the breakdown itself goes into ram:ApplicableTradeTax elements. Never omit the currencyID on these amounts.
Example (valid)
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">26.00</cbc:TaxAmount>
<cac:TaxSubtotal>...19 %...</cac:TaxSubtotal>
<cac:TaxSubtotal>...7 %...</cac:TaxSubtotal>
</cac:TaxTotal>
What the validator checks
Checked element (context):
UBL
ubl-creditnote:CreditNote | ubl-invoice:InvoiceTest (XPath):
count(cac:TaxTotal[cac:TaxSubtotal]) = 1CII
ram:ApplicableHeaderTradeSettlementTest (XPath):
count(ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID = $documentCurrencyCode]) = 1
Check your invoice
Drop your XML or PDF on the validator and every failed rule is linked to its page here. Free, no account, the file is not stored.
Same check via API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRelated rules
PEPPOL-EN16931-R001Business process identifier (BT-23) is missingPEPPOL-EN16931-R002No more than one note is allowed on document level, unless both the buyer and seller…PEPPOL-EN16931-R003Neither buyer reference nor purchase order reference givenPEPPOL-EN16931-R004Specification identifier is not the Peppol BIS Billing 3.0 identifierPEPPOL-EN16931-R005VAT accounting currency equals the invoice currencyPEPPOL-EN16931-R006Only one invoiced object is allowed on document levelPEPPOL-EN16931-R007Business process identifier has the wrong formatPEPPOL-EN16931-R008Document contains empty elements
Frequently asked questions
What does PEPPOL-EN16931-R053 mean?
PEPPOL-EN16931-R053 is a peppol bis billing 3.0 rule: Only one tax total with tax subtotals MUST be provided.
Will my invoice be rejected because of PEPPOL-EN16931-R053?
Yes. PEPPOL-EN16931-R053 is flagged "fatal"; validators (KoSIT, Peppol access points, the German ZRE/OZG-RE portals) reject the invoice until it is fixed.
Which formats does PEPPOL-EN16931-R053 apply to?
Invoices and credit notes sent over the Peppol network (UBL) and, because XRechnung embeds the Peppol rule set, every XRechnung as well. Syntax: UBL and CII.
Source: Peppol BIS Billing 3.0.20 (November 2025). Catalogue generated from the official schematron on 2026-10-14.