VRBL-INV-PEPPOL-PINT-101

Basic Info

Rule If both Invoice Line Period Start Date and Invoice Line Period End Date are given then the Invoice Line Period End Date must be later or equal to the Invoice Line Period Start Date.
Context /ubl:Invoice/cac:InvoiceLine/cac:InvoicePeriod
Pattern vrbl-invoice-peppol-pint
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)
	)
)