Counterfoil rule note
Quoted from a public specification. This page is not a validator, and it is not tax, legal, or accounting advice.
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.
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.
When both invoicing period dates are present, set the end date (BT-74) on or after the start date (BT-73).
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.
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 · JSON · Markdown · llms.txt · Invoice page · Privacy