VRBL-INV-CORE-66

Basic Info

Rule If both Invoicing Period Start Date and Invoicing Period End Date are given then the Invoicing Period End Date must be later or equal to the Invoicing Period Start Date.
Context /ubl:Invoice/cac:InvoicePeriod
Pattern vrbl-invoice-core
Severity fatal

Used Template: EndDateEqualOrLaterStartDate

Parameter Value
StartDate = cbc:StartDate
EndDate = cbc:EndDate

Implementation

not(boolean(cbc:StartDate)) 
or 
not(boolean(cbc:EndDate))
or 
number(
	concat(
		substring(cbc:EndDate, 1, 4),
		substring(cbc:EndDate, 6, 2),
		substring(cbc:EndDate, 9, 2)
	)
)
>=
number(
	concat(
		substring(cbc:StartDate, 1, 4),
		substring(cbc:StartDate, 6, 2),
		substring(cbc:StartDate, 9, 2)
	)
)