fatalEN 16931EN 16931 business ruleCIIUBLBT-7BT-8
Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.
The invoice carries both a VAT point date (BT-7) and a VAT point date code (BT-8). EN 16931 treats them as two ways of saying the same thing, so only one may appear.
Keep whichever you actually mean and delete the other. Use BT-8 with a code (3 = invoice date, 35 = delivery date, 432 = payment date) when the tax point follows one of those events; use BT-7 only when the date is arbitrary and cannot be derived.
CII — context $VAT_breakdown
((//ram:TaxPointDate) and not(//ram:DueDateTypeCode)) or (not (//ram:TaxPointDate) and (//ram:DueDateTypeCode)) or (not (//ram:TaxPointDate) and not (//ram:DueDateTypeCode))
UBL — context /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))