# BR-CO-25 Positive amount due requires payment due date or payment terms

EN 16931 validation artefacts 1.3.16 removed this rule, and current validators (XRechnung configuration 2026-08-31, Peppol BIS 3.0.21) no longer report it. Older rule sets required: when Amount due for payment (BT-115) is greater than zero, either the Payment due date (BT-9) or the Payment terms (BT-20) must be present.

## Problem Description

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

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

## Context and Significance

Without a due date or payment terms, the buyer’s accounts payable system cannot schedule the payment. The validator looks for cbc:DueDate or cac:PaymentTerms/cbc:Note in UBL, and for ram:DueDateDateTime or ram:Description in ram:SpecifiedTradePaymentTerms in CII. The error often occurs when the payment terms appear only on the PDF and are not exported to the XML. The rule does not apply when BT-115 is zero or negative, for example for a fully prepaid invoice.

## Solution

Whenever BT-115 is greater than zero, add BT-9 (a fixed due date) or BT-20 (payment terms text such as "Payable within 30 days net").

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

## Valid Examples

- BT-115 = 119.00, BT-9 = 2026-05-30
- BT-115 = 119.00, BT-20 = "Payable within 14 days net"

## Invalid Examples

- BT-115 = 119.00 with neither BT-9 nor BT-20 present
- BT-115 > 0 and BT-9 left empty while BT-20 is also empty

## Affected Fields

- [BT-115 Amount due for payment](/resources/xrechnung/bt-115-amount-due-for-payment)
- [BT-9 Payment due date](/resources/xrechnung/bt-9-payment-due-date)
- [BT-20 Payment terms](/resources/xrechnung/bt-20-payment-terms)

## Related Rules

- [BR-CO-16](/resources/kosit-validator-errors/br-co-16-amount-due-for-payment-must-match)
- [BR-DE-18](/resources/kosit-validator-errors/br-de-18-skonto-payment-terms-syntax)

## 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.
