# BR-29

Quoted from a public specification. This page is not a validator, and it is not tax, legal, or accounting advice.

- Country: EU
- Syntax: UBL
- Severity: fatal
- Statement language: en
- Last verified: 2026-10-18

## Official statement

> If both Invoicing period start date (BT-73) and Invoicing period end date (BT-74) are given then the Invoicing period end date (BT-74) shall be later or equal to the Invoicing period start date (BT-73).

Source: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-29/

Peppol BIS Billing 3.0, May 2026 release, EN 16931 model bound to UBL

Severity note: fatal, from the Flag column of the Peppol BIS Billing 3.0 UBL rules index retrieved 2026-10-18.

## Plain-language reading

If both the invoicing period start date (BT-73) and the invoicing period end date (BT-74) are given, the invoicing period end date (BT-74) must be later or equal to the invoicing period start date (BT-73). The message says "shall be later or equal to" and ends with a period. The context is the invoice period, not an invoice line period. The published test compares the two dates with xs:date and passes when either date is absent. The comparison has spaces around >=. Both absent branches call exists.

## What to change

When both invoicing period dates are present, set the end date (BT-74) on or after the start date (BT-73).

## Illustration

Illustration of the condition in the official statement. Not an example published by the source.

**Fails the stated condition.** Both invoicing period dates are present, and the end date is before the start date.

**Passes the stated condition.** The end date is on or after the start date, or at least one of the two dates is absent.

## Published context and test

Copied from the source. Not reimplemented on this page.

```
cac:InvoicePeriod
```

```
(exists(cbc:EndDate) and exists(cbc:StartDate) and xs:date(cbc:EndDate) >= xs:date(cbc:StartDate)) or not(exists(cbc:StartDate)) or not(exists(cbc:EndDate))
```

[All rule notes](https://einvoicegoblin.com/rules/index.md) · [JSON](https://einvoicegoblin.com/rules/BR-29.json) · [HTML](https://einvoicegoblin.com/rules/BR-29/) · [llms.txt](https://einvoicegoblin.com/llms.txt) · [Invoice page](https://einvoicegoblin.com/) · [Privacy](https://einvoicegoblin.com/privacy.html)
