GR-R-001-4: When Supplier is Greek, the Invoice Id third segment must be a positive integer
Peppol BIS Billing 3.0.21 · UBL
Original rule text
[GR-R-001-4]-When Supplier is Greek, the Invoice Id third segment must be a positive integer
string-length(normalize-space($IdSegments[3]))>0 and string(number($IdSegments[3])) != 'NaN' and xs:integer($IdSegments[3]) >= 0GR-R-001-4 is a fatal rule in the country layer of Peppol BIS Billing 3.0.21 · UBL. An invoice that breaks it is rejected.
What this rule requires
For invoices or credit notes where the supplier country is GR or EL ($isGreekSender), this rule checks cbc:ID. The ID is split on | and the third segment ($IdSegments[3]) must be a non-negative integer: not empty or whitespace-only, numeric, and xs:integer($IdSegments[3]) >= 0. The message says 'positive integer', but the test allows 0; a negative number, non-numeric value, missing third segment, or fewer than three segments fails validation.
How to fix
Set cbc:ID to contain at least three pipe-separated segments, for example seg1|seg2|1, and make the third segment a whole number. To satisfy both the message and the test, use a positive integer (1, 2, ...); the validator will also accept 0 because the test uses >= 0. Ensure the third segment is not empty or only whitespace, and if the existing ID is generated by a system, change it to produce a suitable numeric third segment.
Guidance on this rule. The original text above is authoritative.
Where to go next
GR-R-001-4 changed in 1 published Peppol BIS Billing UBL release comparison:
- GR-R-001-4 in 3.0.2 → 3.0.10: New rule
Validate an invoice against these rules · All release changes