VRBL-INV-DK-OIOUBL-2p0-52

Basic Info

Rule If all Invoice Start Date, Invoice Period Start Time, Invoice End Date and Invoice Period End Time are given, then the combination of Invoice End Date and Invoice Period End Time must be later or equal to the Invoice Start Date and Invoice Period Start Time.
Context /ubl:Invoice/cac:InvoicePeriod
Pattern vrbl-invoice-dk-oioubl-2p0
Severity fatal

Used Template: EndDateTimeEqualOrLaterStartDateTime

Parameter Value
StartDate = cbc:StartDate
StartTime = cbc:StartTime
EndDate = cbc:EndDate
EndTime = cbc:EndTime

Implementation

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