Back to the error catalogue
PEPPOL-EN16931-R053BT-110
blocked

More than one tax total is provided in the invoice currency

There can be only one total VAT amount (BT-110) in the invoice currency.

A financial field: the expected value is computed and offered, never written into the document — the correction is the issuer's to make. Test your invoice to find out whether it is affected.

The message your validator prints

Copied verbatim from the sealed artefact: this is the exact sentence the check prints when this rule fails.

cii

No more than one tax total amount must be provided where currency id equals document currency code.

ubl

Only one tax total with tax subtotals MUST be provided.

Quoted from schematron-xrechnung 3.0.2, licensed under Apache-2.0.

Common searches around this code

These phrases mirror what an integrator searches for: code, syntax, rule, business field and correction.

PEPPOL-EN16931-R053 More than one tax total is provided in the invoice currencyPEPPOL-EN16931-R053 XRechnung Schematron package (KoSIT)PEPPOL-EN16931-R053 BT-110No more than one tax total amount must be provided where currency id equals document currency code.PEPPOL-EN16931-R053 correction

Test your file with this error in mind

Upload the invoice involved: the report will say whether this code appears, where it appears in the document, and whether Factlint can only report it or also fix it.

To automate this check in an ERP flow, call the validation API and link every returned code to its public page.

Why this error happens

Two VAT totals in the same currency leave the recipient to choose which to book — so two possible amounts due for a single invoice. The duplicate often comes from a per-rate subtotal written where a single total is expected.

How to fix it

Fix the structure of the totals in the system producing the invoice. Factlint removes neither: a VAT total is a financial field, and choosing which to drop would amount to deciding the amount due (rule 1).

Reason it is blocked:

financial_field_policy

XML correction example

BEFORE (invalid)
<ram:TaxTotalAmount currencyID="EUR">200.00</ram:TaxTotalAmount> … puis 40.00, en EUR aussi
AFTER (compliant)
<ram:TaxTotalAmount currencyID="EUR">240.00</ram:TaxTotalAmount>