GR-R-001-2: When the Supplier is Greek, the Invoice Id first segment must be a valid TIN Number and…
Peppol BIS Billing 3.0.21 · UBL
Original rule text
[GR-R-001-2]-When the Supplier is Greek, the Invoice Id first segment must be a valid TIN Number and match either the Supplier's or the Tax Representative's Tin Number
string-length(normalize-space($IdSegments[1])) = 9
and u:TinVerification($IdSegments[1])
and ($IdSegments[1] = /*/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/substring(cbc:CompanyID, 3, 9)
or $IdSegments[1] = /*/cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/substring(cbc:CompanyID, 3, 9) )GR-R-001-2 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 a Greek supplier (country code GR or EL), the rule applies to the Invoice ID / CreditNote ID (cbc:ID). The ID is split into segments by |; the first segment must be exactly 9 characters long, pass u:TinVerification (a Greek TIN check), and must equal either the 9-character substring starting at position 3 of the supplier's VAT cbc:CompanyID or the same substring of the tax representative's VAT cbc:CompanyID. At least one of those two matches is required.
How to fix
Make sure the first segment of cbc:ID (before any |) is exactly 9 characters and is a valid Greek TIN. It must be identical to the 9 characters starting at position 3 of either cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/cbc:CompanyID or cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/cbc:CompanyID. If neither matches, correct the ID to use a matching TIN, or ensure the correct tax representative TIN is present where used.
Guidance on this rule. The original text above is authoritative.
Where to go next
GR-R-001-2 changed in 1 published Peppol BIS Billing UBL release comparison:
- GR-R-001-2 in 3.0.2 → 3.0.10: New rule
Validate an invoice against these rules · All release changes