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 Invoice line period start date (BT-134) and Invoice line period end date (BT-135) are given then the Invoice line period end date (BT-135) shall be later or equal to the Invoice line period start date (BT-134).
Source: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-30/
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 invoice line period start date (BT-134) and the invoice line period end date (BT-135) are given, the invoice line period end date (BT-135) must be later or equal to the invoice line period start date (BT-134). The message says "Invoice line period", not "Invoicing period". The context is the invoice line period or the credit note 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 invoice line period dates are present, set the end date (BT-135) on or after the start date (BT-134).
Illustration of the condition in the official statement. Not an example published by the source.
Fails the stated condition. Both invoice line 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:InvoiceLine/cac:InvoicePeriod | cac:CreditNoteLine/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