Counterfoil rule note
Quoted from a public specification. This page is not a validator, and it is not tax, legal, or accounting advice.
Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.
Source: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-CO-03/
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.
The value added tax point date (BT-7) and the value added tax point date code (BT-8) are mutually exclusive. The statement ends with a period and does not say MUST or shall. The context is the invoice or the credit note, with spaces around the bar. The test allows the date alone, the code alone, or neither. It fails when both are present. The present branch calls exists. The absent branch is not() and does not call exists.
Send the VAT point date (BT-7) or the VAT point date code (BT-8), or neither. Do not send both.
Illustration of the condition in the official statement. Not an example published by the source.
Fails the stated condition. The invoice has both a VAT point date (BT-7) and a VAT point date code (BT-8).
Passes the stated condition. The invoice has a VAT point date (BT-7) and no VAT point date code (BT-8).
Copied from the source. Not reimplemented on this page.
/ubl:Invoice | /cn:CreditNote
(exists(cbc:TaxPointDate) and not(cac:InvoicePeriod/cbc:DescriptionCode)) or (not(cbc:TaxPointDate) and exists(cac:InvoicePeriod/cbc:DescriptionCode)) or (not(cbc:TaxPointDate) and not(cac:InvoicePeriod/cbc:DescriptionCode))
All rule notes · JSON · Markdown · llms.txt · Invoice page · Privacy