All explained rules

BR-CO-16: The amount due does not match the invoice total. How to fix it

The amount due (BT-115) does not equal the gross total minus what has already been paid, plus rounding.

Error: the invoice is refusedFrom the European norm EN 16931

The rule, in its own words

Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114).

Fields involved: BT-115, BT-112, BT-113, BT-114

What the rule checks

The rule works out the amount due: the gross total, less any prepayment already made, plus a rounding amount. This too is checked to the cent.

Why files fail it

  • A prepayment was deducted from the amount due but not recorded in the field meant for it, "paid amount" (BT-113).
  • The amount due was typed by hand while the other totals were calculated.
  • An early-payment discount has already been deducted. That belongs in the payment terms, not in the amount due.
  • A rounding amount was applied without being declared in BT-114.

How to fix it

  1. If a prepayment was made, put it in the "paid amount" field (BT-113) rather than silently subtracting it.
  2. Do not deduct an early-payment discount from the amount due. It belongs in the payment terms as text; the amount due is the figure before any such discount.
  3. Let the amount due be calculated rather than overwriting it.
  4. With no prepayment and no rounding the rule is simply: amount due equals the gross total.

Check your file

Upload your invoice. It runs through the same official validator that applies this rule, and you see immediately whether it passes now.

Check an invoice

or drop it here

XRechnung XML, or a ZUGFeRD / Factur-X PDF. Up to 10 MB.

  • Run against the official EN 16931 and XRechnung rules
  • Your file is deleted the moment the result appears
  • No sign-up, and a result in seconds

What to do next

An invoice with errors will be rejected. Build a compliant one from the PDF you already have, or enter the details yourself. Either way you get a file that passes.