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:
| Pack | Schematrons | Description |
|---|---|---|
| Billing Invoice | 2 (preprocessed + jurisdiction-aligned) | Standard tax invoice validation |
| Billing Credit Note | 2 | Credit note validation |
| Self-Billing Invoice | 2 | Self-billing invoice validation |
| Self-Billing Credit Note | 2 | Self-billing credit note validation |
| TDD | 1 | Tax 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:
| Rule | Page |
|---|---|
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 invoice | Credit notes and the preceding invoice |
IBR-177-OM โ where self-billing is allowed | Document types and codes |
IBR-002-OM โ the deterministic invoice UUID | The deterministic invoice UUID |
IBR-034-OM โ non-OMR invoices | Currency and non-OMR invoices |
IBR-069-OM and the reason codes a zero-rated or exempt line needs | VAT, zero-rating and exemption codes |
Validationโ
GoRoute applies multi-layer validation to Oman invoices:
| Layer | Check | Rule |
|---|---|---|
| 1 | UBL 2.1 XSD | Structural XML validity |
| 2 | Business rules | Totals, calculations, required fields |
| 3 | eDEC Code Lists | Participant schemes, currencies, process IDs |
| 3B | PINT OM Schematron | Official OpenPeppol jurisdiction rules (IBR-OM) |
| 3C | TDD Schematron | Tax Data Document validation (CTC reporting) |
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.