Skip to main content

BR-CO-16 Amount due for payment must equal total with VAT minus paid plus rounding

Amount due for payment (BT-115) must equal Invoice total amount with VAT (BT-112) minus Paid amount (BT-113) plus Rounding amount (BT-114).

Problem Description

ERROR

EN 16931 calculation and consistency rule (BR-CO)

Interactive pipeline

Click a stage to see what it checks, or type a rule ID to light up the stage that reports it.

Try:

BR-CO-16 EN 16931 calculation rule

Reported in stage 2: EN 16931 rules.

Level error: the report recommends rejecting the invoice.

Stage 2 · What it checks

  • The core business terms are present (BR-01 to BR-65).
  • Totals add up and related fields agree (BR-CO); codes and decimals are valid (BR-CL, BR-DEC).
  • Each VAT category is consistent: S, Z, E, AE, K, G, O, L, M (BR-S, BR-Z, BR-AE, BR-IC …).

Example codes

Typical fix

Recalculate totals and VAT from the line data, and correct the VAT category in the source data.

A validator checks an e-invoice in stages. First the file must be well-formed XML that matches the UBL or CII schema (XSD). Then the EN 16931 business rules run: BR core rules, BR-CO calculations, BR-CL code lists, BR-DEC decimals and VAT-category rules such as BR-S. Next come the national or network rules that BT-24 selects: BR-DE for XRechnung, PEPPOL-EN16931 for Peppol BIS Billing. The report lists every failed rule: one error means reject, warnings alone still mean accept. BR-CO-16: EN 16931 calculation rule, reported in the stage “EN 16931 rules”. Rule sets: KoSIT validator 1.6.3 with the XRechnung configuration of 31 Aug 2026 (EN 16931 artefacts 1.3.16), Peppol BIS Billing 3.0.21.

Context and Significance

The validator checks this equation exactly, without tolerance. Failures usually come from prepayments or rounding: the ERP deducts an advance payment from the amount due but does not export it as BT-113, or it rounds the amount due without stating the difference in BT-114.

Solution

Recompute BT-115 = BT-112 − BT-113 + BT-114, treating BT-113 and BT-114 as zero when absent. UBL: cbc:PayableAmount, cbc:PrepaidAmount, cbc:PayableRoundingAmount; CII: ram:DuePayableAmount, ram:TotalPrepaidAmount, ram:RoundingAmount.

Quick actions

Valid Examples

  • BT-112 = 119.00, BT-113 = 50.00, BT-114 = 0.00 → BT-115 = 69.00
  • BT-112 = 99.98, BT-113 absent, BT-114 = 0.02 → BT-115 = 100.00

Invalid Examples

  • BT-115 = BT-112 even though BT-113 = 50.00 prepaid
  • BT-115 ignores BT-114 rounding adjustment of 0.02

Affected Fields

Validation Tools