Limit decimals in the invoice total excluding VAT

Error BR-DEC-12 EN 16931

The allowed maximum number of decimals for the Invoice total amount without VAT (BT-109) is 2.

Mandatory rule: As long as it is violated, the invoice is invalid and will be rejected by validators.
What is wrong

TaxBasisTotalAmount contains more than two digits after the decimal separator.

What the rule means

The invoice total excluding VAT may have no more than two decimal places.

Affected fields BT-109
Please limit the decimal places in the invoice total excluding VAT

TaxBasisTotalAmount has more decimal places than allowed for the invoice total excluding VAT. You can adjust the amount to no more than two decimal places.

What to do
  1. Check the value of TaxBasisTotalAmount.
  2. Limit it to no more than two decimal places.
  3. Check the TaxBasisAmount property.
  4. Generate the invoice again and validate it once more.
What it looks like
✗ Triggers the message
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:TaxBasisTotalAmount>100.123</ram:TaxBasisTotalAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
✓ Correct
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:TaxBasisTotalAmount>100.12</ram:TaxBasisTotalAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
Check in FactoorSharp
  • FacturXInvoice.TaxBasisAmount (BT-109)
Technical details

The XPath counts the characters after the decimal point in TaxBasisTotalAmount and allows no more than two.

Where the rule applies

The rule applies to TaxBasisTotalAmount, the invoice total excluding VAT in SpecifiedTradeSettlementHeaderMonetarySummation.

Context (rule/@context)
//ram:SpecifiedTradeSettlementHeaderMonetarySummation
Test expression (assert/@test)
string-length(substring-after(ram:TaxBasisTotalAmount,'.'))<=2