Skip to main content

Validation and the rules that reject

Oman PINT OM (Official Schematrons)โ€‹

The official OpenPeppol PINT OM specification replaces the earlier Fawtara CIUS. It includes billing, self-billing, and Tax Data Document (TDD) Schematrons.

Customization IDsโ€‹

<!-- PINT OM Billing -->
<cbc:CustomizationID>urn:peppol:pint:billing-1@om-1</cbc:CustomizationID>

<!-- PINT OM Self-Billing -->
<cbc:CustomizationID>urn:peppol:pint:selfbilling-1@om-1</cbc:CustomizationID>

<!-- TDD (Tax Data Document) -->
<cbc:CustomizationID>urn:peppol:taxdata:om-1</cbc:CustomizationID>

Profile IDsโ€‹

<!-- Billing / Self-Billing -->
<cbc:ProfileID>urn:peppol:bis:billing</cbc:ProfileID>

<!-- Tax Reporting -->
<cbc:ProfileID>urn:peppol:taxreporting</cbc:ProfileID>

Schematron Packsโ€‹

GoRoute runs the official OpenPeppol PINT OM Schematrons compiled with Saxon-HE 12.4:

PackSchematronsDescription
Billing Invoice2 (preprocessed + jurisdiction-aligned)Standard tax invoice validation
Billing Credit Note2Credit note validation
Self-Billing Invoice2Self-billing invoice validation
Self-Billing Credit Note2Self-billing credit note validation
TDD1Tax Data Document for CTC reporting

PINT OM documents are auto-detected by the urn:peppol:pint:billing-N@om-N or urn:peppol:pint:selfbilling-N@om-N CustomizationID pattern and skip baseline CEN+BIS Schematrons.

Ruleset 1.0.1 โ€” the rules that reject invoicesโ€‹

PINT OM 1.0.1 layers 120 Oman-specific rules (IBR-โ€ฆ-OM) on top of Peppol BIS Billing 3.0. Most are structural and you will never see them. These are the ones that actually fail in production, each on its own page:

RulePage
The document type codes and IBR-001-OM (the BTOM-001 bitmap)Document types and codes
IBR-032-OM โ€” a credit or debit note's preceding invoiceCredit notes and the preceding invoice
IBR-177-OM โ€” where self-billing is allowedDocument types and codes
IBR-002-OM โ€” the deterministic invoice UUIDThe deterministic invoice UUID
IBR-034-OM โ€” non-OMR invoicesCurrency and non-OMR invoices
IBR-069-OM and the reason codes a zero-rated or exempt line needsVAT, zero-rating and exemption codes

Validationโ€‹

GoRoute applies multi-layer validation to Oman invoices:

LayerCheckRule
1UBL 2.1 XSDStructural XML validity
2Business rulesTotals, calculations, required fields
3eDEC Code ListsParticipant schemes, currencies, process IDs
3BPINT OM SchematronOfficial OpenPeppol jurisdiction rules (IBR-OM)
3CTDD SchematronTax Data Document validation (CTC reporting)
PINT vs Baseline

PINT OM invoices (detected by urn:peppol:pint:billing-N@om-N in CustomizationID) skip the baseline CEN-EN16931 + Peppol BIS Schematrons. They run only the official PINT OM Schematrons, which already incorporate all required European and Peppol rules along with Oman-specific jurisdiction rules.

No signature, no hashโ€‹

Oman requires no digital signature and no document hash on the invoice. None of the Oman specifications โ€” the Solution Reference Architecture, PINT OM 1.0.1, the Peppol Authority Specific Requirements or the tax-reporting guides โ€” asks for one, and the PINT OM Schematron rejects the Saudi-style artefacts: a hash reference fails ibr-cl-24 and a signature envelope fails ibr-079. GoRoute adds neither. If you are porting a ZATCA integration, strip them.