PEPPOL-EN16931-R054: VAT amount in accounting currency (BT-111) missing or superfluous
Official message
[PEPPOL-EN16931-R054] Only 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] Only one tax total without tax subtotals MUST be provided when tax currency code is provided.
- Severity
- Error The invoice is invalid and may be rejected by the recipient.
- Applies to
- XRechnung (CII), XRechnung (UBL)
- Affected fields
- BT-6
What does this mean?
If a VAT accounting currency code (BT-6) is provided, the invoice total VAT amount in accounting currency (BT-111) must be present exactly once. Without BT-6 there must be no such amount. The invoice does not meet this.
The rule originates from Peppol BIS Billing 3.0 and is applied in the XRechnung validation. CII: ram:TaxTotalAmount with a currencyID other than the invoice currency (BT-5) is counted. UBL: cac:TaxTotal without cac:TaxSubtotal is counted.
Typical causes
BT-6 is given, BT-111 is missing.
BT-111 is given, but BT-6 is not.
BT-111 occurs more than once or was output with the invoice currency instead of the VAT accounting currency.
How to fix the error
With BT-6: state BT-111 exactly once with currencyID equal to BT-6. CII: a second ram:TaxTotalAmount, UBL: a second cac:TaxTotal with cbc:TaxAmount only, without cac:TaxSubtotal.
Without BT-6: omit BT-111.
BT-6 must differ from BT-5 (PEPPOL-EN16931-R005).
Generate and validate the invoice again.
In E-Rechnungsfreund
In the invoice form, "Experte" view, if a "Steuerwährung (BT-6)" (VAT accounting currency) is selected, fill in the field "Steuer in Buchungswährung (BT-111)" (VAT in accounting currency) in section "Belegsummen (BG-22)" (document totals). If no different VAT currency is needed, choose "– nicht angegeben –" (not specified) for "Steuerwährung (BT-6)" in section "Rechnungsdetails" (invoice details).
Example
Wrong
<ram:ApplicableHeaderTradeSettlement>
<ram:TaxCurrencyCode>CHF</ram:TaxCurrencyCode>
<ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
...
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
...
<ram:TaxTotalAmount currencyID="EUR">63.75</ram:TaxTotalAmount>
...
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement>
Correct
<ram:ApplicableHeaderTradeSettlement>
<ram:TaxCurrencyCode>CHF</ram:TaxCurrencyCode>
<ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
...
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
...
<ram:TaxTotalAmount currencyID="EUR">63.75</ram:TaxTotalAmount>
<ram:TaxTotalAmount currencyID="CHF">59.90</ram:TaxTotalAmount>
...
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement>
For developers: test expression per syntax
XRechnung (CII) (CII)
Context: ram:ApplicableHeaderTradeSettlement
count(ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID != $documentCurrencyCode]) = (if (ram:TaxCurrencyCode) then 1 else 0)
XRechnung (UBL) (UBL)
Context: ubl-creditnote:CreditNote | ubl-invoice:Invoice
count(cac:TaxTotal[not(cac:TaxSubtotal)]) = (if (cbc:TaxCurrencyCode) then 1 else 0)
Related validation rules
- PEPPOL-EN16931-R001: Business process type (BT-23) is missing
- PEPPOL-EN16931-R005: VAT accounting currency (BT-6) equals the invoice currency (BT-5)
- PEPPOL-EN16931-R008: The invoice contains empty elements
- PEPPOL-EN16931-R010: Buyer electronic address (BT-49) is missing
- PEPPOL-EN16931-R020: Seller electronic address (BT-34) is missing
- PEPPOL-EN16931-R040: Allowance or charge amount does not match base amount and percentage
Last updated:
Explanation of the validation rule, not legal or tax advice.