# BR-CO-13 Invoice total without VAT must equal line total minus allowances plus charges

The Invoice total amount without VAT (BT-109) must equal the Sum of invoice line net amount (BT-106) minus the Sum of allowances on document level (BT-107) plus the Sum of charges on document level (BT-108).

## Problem Description

> **ERROR**: EN 16931 calculation and consistency rule (BR-CO)

> **Where BR-CO-13 is checked**
>
> 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-13: EN 16931 calculation rule, reported in the stage “EN 16931 rules”.

## Context and Significance

BR-CO-13 checks the invoice total without VAT (UBL: cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount; CII: ram:TaxBasisTotalAmount) exactly against BT-106 − BT-107 + BT-108. BR-CO-15 and BR-CO-16 each check their own equation with the BT-109 value stated in the file, so they do not fail automatically; a wrong BT-109 often leads to a wrong gross total or amount due as well. A typical cause is a document level allowance or charge that is included in BT-109 but missing from BT-107 or BT-108.

## Solution

Recompute BT-109 = BT-106 − BT-107 + BT-108 (treat a missing BT-107 or BT-108 as zero) and write the result into the totals block (UBL: cbc:TaxExclusiveAmount; CII: ram:TaxBasisTotalAmount).

- [Validate XML](/en/xrechnung-validator?source=resource&rule=BR-CO-13)
- [Convert invoice](/en/pdf-to-xrechnung?source=resource&rule=BR-CO-13)

## Valid Examples

- BT-106 = 200.00, BT-107 = 10.00, BT-108 = 5.00 → BT-109 = 195.00
- BT-106 = 100.00, no allowances or charges → BT-109 = 100.00

## Invalid Examples

- BT-106 = 200.00, BT-107 = 10.00, BT-108 = 5.00 but BT-109 = 200.00
- BT-109 left equal to BT-106 even though BT-107 > 0 and there are no charges

## Affected Fields

- [BT-109 Invoice total amount without VAT](/resources/xrechnung/bt-109-invoice-total-amount-without-vat)
- [BT-106 Sum of invoice line net amount](/resources/xrechnung/bt-106-sum-of-invoice-line-net-amount)
- [BT-107 Sum of allowances on document level](/resources/xrechnung/bt-107-sum-of-allowances-on-document-level)
- [BT-108 Sum of charges on document level](/resources/xrechnung/bt-108-sum-of-charges-on-document-level)

## Related Rules

- [BR-CO-10](/resources/kosit-validator-errors/br-co-10-sum-of-line-net-amounts-must-equal-line-total)
- [BR-CO-11](/resources/kosit-validator-errors/br-co-11-sum-of-document-allowances-must-match)
- [BR-CO-15](/resources/kosit-validator-errors/br-co-15-invoice-total-with-vat-must-match)

## Validation Tools

- [Official KoSIT Validator](https://github.com/itplr-kosit/validator): Run the official KoSIT validator with the XRechnung configuration to check EN 16931 and XRechnung rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Find validation errors during conversion and review each correction.

## Related Resources

- [Official Specification](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [All validation errors](/resources/kosit-validator-errors): Overview of the EN 16931, XRechnung and Peppol validation rules explained here.
