Back to the error catalogue
PEPPOL-EN16931-R054BT-111
blocked

The tax total in the accounting currency is missing or duplicated

When `VAT accounting currency code` (BT-6) is present there must be exactly one total VAT amount (BT-111) in that currency; when it is absent, none.

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

Only one tax total amount must be provided where currency id equals tax currency code, if tax currency code (BT-6) is provided.

ubl

Only one tax total without tax subtotals MUST be provided when tax currency code is 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-R054 The tax total in the accounting currency is missing or duplicatedPEPPOL-EN16931-R054 XRechnung Schematron package (KoSIT)PEPPOL-EN16931-R054 BT-111Only one tax total amount must be provided where currency id equals tax currency code, if tax currency code (BT-6) is provided.PEPPOL-EN16931-R054 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

The rule ties together two fields that generators handle separately: declaring an accounting currency without the matching amount, or the reverse, leaves the VAT declaration incomplete in the country where it is owed.

How to fix it

Fix the structure of the totals in the system producing the invoice. Factlint neither writes nor removes a VAT total (rule 1).

Reason it is blocked:

financial_field_policy

XML correction example

BEFORE (invalid)
<ram:TaxCurrencyCode>SEK</ram:TaxCurrencyCode>  <!-- aucun ram:TaxTotalAmount en SEK -->
AFTER (compliant)
<ram:TaxTotalAmount currencyID="SEK">2400.00</ram:TaxTotalAmount>