The allowed maximum number of decimals for the Invoice total VAT amount (BT-110) is 2.
When TaxTotalAmount is in the invoice currency specified by InvoiceCurrencyCode, the amount has more than two decimal places. This rule does not check decimal places when it is in another currency.
The VAT total in the invoice currency may have no more than two decimal places.
TaxTotalAmount is expressed in the invoice currency and has more than two decimal places. You can adjust the amount to no more than two decimal places.
- Compare
TaxTotalAmountwith the invoice currency inInvoiceCurrencyCode. - If the currencies match, limit
TaxTotalAmountto no more than two decimal places. - Check the
TaxTotalAmountproperty. - Generate the invoice again and validate it once more.
<rsm:CrossIndustryInvoice> <rsm:SupplyChainTradeTransaction> <ram:ApplicableHeaderTradeSettlement> <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode> <ram:SpecifiedTradeSettlementHeaderMonetarySummation> <ram:TaxTotalAmount currencyID="EUR">12.345</ram:TaxTotalAmount> </ram:SpecifiedTradeSettlementHeaderMonetarySummation> </ram:ApplicableHeaderTradeSettlement> </rsm:SupplyChainTradeTransaction> </rsm:CrossIndustryInvoice>
<rsm:CrossIndustryInvoice> <rsm:SupplyChainTradeTransaction> <ram:ApplicableHeaderTradeSettlement> <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode> <ram:SpecifiedTradeSettlementHeaderMonetarySummation> <ram:TaxTotalAmount currencyID="EUR">12.34</ram:TaxTotalAmount> </ram:SpecifiedTradeSettlementHeaderMonetarySummation> </ram:ApplicableHeaderTradeSettlement> </rsm:SupplyChainTradeTransaction> </rsm:CrossIndustryInvoice>
FacturXInvoice.TaxTotalAmount(BT-110)
Technical details
The XPath accepts a missing TaxTotalAmount. If currencyID matches InvoiceCurrencyCode, the amount must equal its value rounded to two decimal places; this check does not apply when the currencies differ.
The rule applies to TaxTotalAmount in SpecifiedTradeSettlementHeaderMonetarySummation. It checks decimal places when the amount currency matches the invoice currency in InvoiceCurrencyCode.
rule/@context)assert/@test)