If the VAT accounting currency code (BT-6) is present, then the Invoice total VAT amount in accounting currency (BT-111) shall be provided.
If ram:TaxCurrencyCode is present, ram:TaxTotalAmount must have a currencyID matching that currency code. The accounting currency must also differ from ram:InvoiceCurrencyCode. The condition is not met if the corresponding VAT amount in the accounting currency is missing.
When VAT is accounted for in a currency different from the invoice currency, the total VAT amount must also be stated in that accounting currency.
The invoice specifies an accounting currency, but the corresponding VAT amount in that currency is missing or not identified with the matching currency code. Provide the amount in the specified accounting currency.
- Check
ram:TaxCurrencyCodeandram:InvoiceCurrencyCodeinram:ApplicableHeaderTradeSettlement. - Make sure the accounting currency differs from the invoice currency.
- Provide
ram:TaxTotalAmountwith acurrencyIDmatchingram:TaxCurrencyCode. - Check the values passed to
SetTaxTotalInAccountingCurrency(...)orSetTaxCurrencyExchange(...). - Generate the invoice again and validate it again.
<rsm:CrossIndustryInvoice> <rsm:SupplyChainTradeTransaction> <ram:ApplicableHeaderTradeSettlement> <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode> <ram:TaxCurrencyCode>USD</ram:TaxCurrencyCode> <ram:SpecifiedTradeSettlementHeaderMonetarySummation/> </ram:ApplicableHeaderTradeSettlement> </rsm:SupplyChainTradeTransaction> </rsm:CrossIndustryInvoice>
<rsm:CrossIndustryInvoice> <rsm:SupplyChainTradeTransaction> <ram:ApplicableHeaderTradeSettlement> <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode> <ram:TaxCurrencyCode>USD</ram:TaxCurrencyCode> <ram:SpecifiedTradeSettlementHeaderMonetarySummation> <ram:TaxTotalAmount currencyID="USD">20.00</ram:TaxTotalAmount> </ram:SpecifiedTradeSettlementHeaderMonetarySummation> </ram:ApplicableHeaderTradeSettlement> </rsm:SupplyChainTradeTransaction> </rsm:CrossIndustryInvoice>
FacturXInvoice.SetTaxTotalInAccountingCurrency(taxTotalInAccountingCurrency, accountingCurrency)(BT-111; BT-6)FacturXInvoice.SetTaxCurrencyExchange(taxTotalInAccountingCurrency, accountingCurrency, conversionRate, conversionRateTimestamp)(taxTotalInAccountingCurrency: BT-111; accountingCurrency: BT-6)FacturXInvoice.TaxCurrency(BT-6)FacturXInvoice.TaxTotalAmountInAccountingCurrency(BT-111)
Technical details
The XPath permits ram:TaxCurrencyCode to be absent. If it is present, it requires ram:TaxTotalAmount/@currencyID to match it and to differ from ram:InvoiceCurrencyCode.
The rule applies to the invoice header VAT total when ram:TaxCurrencyCode is provided in ram:ApplicableHeaderTradeSettlement.
rule/@context)assert/@test)- 2023-11-152023-11-15 · AddedUnit test on BR-53 with BT-5, BT-6 and BT-110 and BT-111 in CII.
- 2022-07-152022-07-15 · AddedTests for BR-53 and BR-CO-15 in CII with same BT-5 and BT-6