Rule at a Glance
| ID | Severity | Context (XPath) |
|---|---|---|
| Series ref. BR-61 | Fatal (error) | Invoice | CreditNote |
| Schematron ID: ibr-076 | Field: Business process (ibt-023), cbc:ProfileID | ||
Classification
Master Data — the business process identifier is set once per document and governs how the receiving system routes and processes the invoice, rather than describing a specific transaction line.
What the Rule Is Checking
The document-level cbc:ProfileID element must exist on every invoice and credit note. This element carries the Peppol business process identifier — the URN that tells the receiving corner which document exchange profile the invoice was created under.
Why This Rule Exists
In a five-corner Peppol network, the same UBL schema carries documents for genuinely different business processes, and the receiving access point cannot infer which one applies just by parsing the invoice fields. The business process identifier is the routing instruction that sits above the invoice content itself — it is how a Peppol access point or the FTA platform knows to treat this document as a standard invoice response rather than, say, a billing process variant with different downstream handling. Omit it, and the document is syntactically an invoice but operationally ambiguous about which process it belongs to.
Standard / Code List
Values follow the Peppol BIS Billing process identifiers, formatted as URNs (for example urn:peppol:bis:billing). PINT-AE constrains this to the specific profile identifiers recognised under the UAE implementation of the PINT specification.
UAE Data Example
PASSES ✓: <cbc:ProfileID>urn:peppol:bis:billing</cbc:ProfileID> present as the first business identifier in the document header, ahead of the customization ID.
FAILS ✗: An ERP template built by copying an older UBL export that predates the Peppol profile requirement, where the customization ID is present but the profile ID element was never added to the template. The document validates against the base UBL schema but fails this business rule.
What Your ERP / IT Team Must Ensure
Confirm the invoice generation template hardcodes the correct profile ID for your registered business process rather than leaving it optional in the mapping specification. Where more than one type of outbound document exists — standard invoices, self-billed invoices, corrections — verify each template carries the profile ID appropriate to its own process, since defaulting every template to the same value can silently mislabel a document class that should route differently.
Related Rules
The customization ID that sits alongside the profile ID in the document header is covered in the early series posts starting at BR-01; together the two identifiers tell a receiving corner both which specification and which process a document was built under.
