# PEPPOL-EN16931-R040

> Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists

Checked against Peppol BIS Billing 3.0 2026.5

Canonical: https://einvoicecheck.eu/rules/peppol-en16931-r040

## Official rule text

Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists

## Why did my invoice fail PEPPOL-EN16931-R040?

For any allowance or charge, when both a base amount (BT-93/BT-100) and a percentage (BT-94/BT-101) are given, the allowance/charge amount (BT-92/BT-99) must equal base amount * percentage / 100. This arithmetic check ensures the stated amount is consistent with the declared basis and rate.

## Common causes

- Rounding the computed amount to a different precision than base*percentage/100.
- Percentage stored as a fraction (0.10) instead of a whole percent (10).
- Amount hard-coded or taken from a different calculation than the base and percentage.

## How do I fix it?

```
For a 10% discount on a base of 100.00: <cbc:BaseAmount currencyID="EUR">100.00</cbc:BaseAmount>, <cbc:MultiplierFactorNumeric>10</cbc:MultiplierFactorNumeric>, <cbc:Amount currencyID="EUR">10.00</cbc:Amount> (100 * 10 / 100 = 10.00).
```
