Release notes for PINT Self-Billing
Version 1.1.4
| Maintained by | PoAC |
|---|---|
Release Date |
2026-Q4 |
Status |
Review |
What’s new in this release?
The changes of this release are numbered Change 1 to Change 20. Each number links to the detailed description of the change; the change tables and the action items for implementers carry the same numbers, so that every change can be followed from this summary to its full explanation and back.
-
Change 1 – Decimal places in invoice amounts now follow the official ISO 4217 precision of the invoice currency, which fulfils the request for 3 decimal support in
OMRand covers the 3 and 4 decimal currencies generally. Validation is unchanged for every 2 decimal currency. -
Change 2 –
IBR-079, the rule stating that a document must not contain empty elements, is now linked to every business group that carries child entries, so that it is visible under the Rules tab. Individual business terms are not linked. -
Change 3 – Correction to
IBR-044, the reason requirement for Invoice line charges, so that it is evaluated at Invoice line level only, removing the overlap withIBR-038, which covers document level charges. -
Change 4 – Removal of
IBR-056and restriction ofIBR-SR-57to align the Seller tax representative tax identifier (ibt-063) with the Syntax Binding, which makes that identifier optional. -
Change 5 – Correction to the position of
IBR-079, the empty element check, in theUBL-modelpattern so that empty elements are always reported, including elements that are also checked by another rule. -
Change 6 – Extension of
IBR-073, the date format rule, to covercbc:ReceivedDate(ibt-181) andcbc:InstallmentDueDate(ibt-177). -
Change 7 – Extension of
IBR-126andIBR-CL-03, the document currency checks, to covercbc:PaidAmount(ibt-180) andcbc:PerUnitAmount(ibt-166). -
Change 8 – Decimal counting now follows XML Schema Part 2, 3.2.3: insignificant trailing zeros and surrounding whitespace no longer cause a false rejection of an amount.
-
Change 9 – Rework of
IBR-017, which requires the Payee to be different from the Seller, to compare the Payee (ibg-10) and the Seller (ibg-04) on identifiers before falling back to their names. -
Change 10 – Seven new
IBR-SRrules,IBR-SR-64toIBR-SR-70, enforcing Syntax Binding cardinalities that the UBL 2.1 schema leaves unbounded, each linked to the business term it constrains so that it appears on the Rules page. -
Corrected business term reference in the message of
IBR-081(Change 11) and corrected XPath inIBR-SR-23, which could never fail before (Change 12). -
Change 13 – Syntax Binding corrections to the Credit Note namespace, to several element selectors, and to the Seller tax representative name cardinality.
-
Regeneration of the Schematron XSLT validation artefact, which was missing nine rules entirely (Change 14), and removal of the Saxon warnings raised by the helper functions (Change 15).
-
Change 16 – Correction to
IBR-087, the Base quantity check, which was declared at document level where it could never fire. -
Change 17 – Alignment of
IBR-CO-15, the totals calculation check, with PINT General. -
Change 18 – Five corrections to the BIS documentation.
-
Change 19 – Correction to the rule context of
IBR-124andIBR-CO-14so that both rules are evaluated for Credit Notes, as intended for Shared rules. -
Two references to undefined business terms in the semantic models have been corrected (Change 20).
Overview
This release introduces corrections to the PINT Self-Billing Specification, covering the Data Model, Syntax Binding, BIS documentation, Code Lists, Schematron rules and validation artefacts. It applies the same corrections as PINT General v1.1.4. The objective is to align the Schematron rules with the Syntax Binding, to close cardinality gaps left open by the UBL 2.1 schema, and to improve validation accuracy.
Every change of this release carries a number, Change 1 to Change 20. The numbers connect the summary above, the change tables below, the detailed descriptions at the end of the Changes section and the Action Items for Implementers, and each rule and business term is linked to its page in the PINT Self-Billing documentation, so that every change can be read in context.
Version Information
| Version | 1.1.4 |
|---|---|
Applies to |
PINT Self-Billing (Self-billed Invoice and Self-billed Credit Note) |
Reviewed |
- |
Changes
Data Model
-
(Change 10) The seven rules added by this release have been linked to their business terms, so that each appears under the Rules page and on the page of the term it constrains: IBR-SR-64 under ibt-063, IBR-SR-65 under ibt-110, IBR-SR-66 under ibt-111, IBR-SR-67 under ibt-184, IBR-SR-68 under ibg-36, IBR-SR-69 under ibt-090, and IBR-SR-70 under ibt-031 and ibt-032.
-
(Change 10) IBR-SR-42 has been linked to ibt-031 and ibt-032 as well. The rule already existed in the Schematron but was never referenced from the semantic model, so it did not appear on the Rules page. It constrains the same element as IBR-SR-70.
-
Every assertion in the Schematron is now referenced from the semantic model of both the Invoice and the Credit Note.
-
(Change 2) IBR-079 has been linked to every business group of the Invoice and Credit Note semantic models that carries child entries: 37 groups in the Invoice and 36 in the Credit Note. The rule applies to every element of the document but was not attached to any business group, so it did not appear under the Rules tab. Individual business terms are not linked.
-
(Change 4) The reference to the removed rule IBR-056 has been deleted from the Invoice and Credit Note semantic models.
-
(Change 20) Two references to business terms that are not defined have been corrected. Under ibt-115, IBR-CO-16 related to
iibt-112; corrected to ibt-112. Under ibt-113 in the Credit Note semantic model, IBR-093 related to ibt-180, which is not defined for Credit Notes and has nocac:PrepaidPaymentin the Credit Note Syntax Binding; the reference has been removed.
Syntax Binding
The corrections of this section together form Change 13.
-
In the Credit Note Syntax Binding, the
ublnamespace in the metadata block was declared asurn:oasis:names:specification:ubl:schema:xsd:Invoice-2. This has been corrected tourn:oasis:names:specification:ubl:schema:xsd:CreditNote-2. -
In the Invoice Syntax Binding, the cardinality of
cac:TaxRepresentativeParty/cac:PartyNamehas been changed from 0..1 to 1..1, aligning it with IBR-018 and with the Credit Note Syntax Binding, which already stated 1..1. -
Several element selectors were incorrect and have been corrected in the Invoice, Credit Note and Billing transaction pages.
Selector Corrections
| Previous selector | Corrected selector | Element |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code Lists
No Change.
Documentation
The five corrections of this section together form Change 18. They align the BIS documentation with PINT General.
-
Despatch and receipt advice references — the Line Level subsection has been removed from the BIS. Line level despatch advice is aligned content and is not supported by every specialisation, so it belongs with the specialisations that support it. The alignment point
aligned-dispatchref.adocremains, and PINT General already has this shape. -
Tax information — the introductory sentence has been removed. The whole section is aligned content, so the introduction belongs to the specialisations. It has already been removed in PINT General.
-
Calculation of totals, Invoice line net amount and Shared rounding rules — references to semantic terms no longer carry the word self-billed, so that the formulas and lists name the business terms exactly as the semantic model does: ibt-106, ibt-109, ibt-110, ibt-112, ibt-131, ibt-136 and ibt-141. Prose describing the self-billed invoice as a document is unchanged.
Schematron Rules
Rule Correction and Documentation Improvements
| Rule ID | Syntax (XML location) | Change | Business Rule | Reason |
|---|---|---|---|---|
IBR-081 |
|
Fixed |
[ibr-081] – The Seller electronic address (ibt-034) MUST be provided. |
The message referenced ibt-049, which is the Buyer electronic address. Corrected to ibt-034. No change to validation logic. |
|
Fixed |
[ibr-sr-23] – Seller tax representative tax identifier (ibt-063) MUST occur maximum once, if the Seller has a tax representative. |
The test used |
|
|
Fixed |
[ibr-124] – Invoice total TAX amount (ibt-110) MUST have no more than 2 decimals. [ibr-co-14] – Invoice total Tax amount (ibt-110) = Σ Tax category tax amount (ibt-117). |
The rule context contained |
|
IBR-087 |
|
Fixed |
[ibr-087] – Base quantity (ibt-149) MUST be a positive number above zero. |
The rule was declared in the document level rule, where |
IBR-CO-15 |
|
Updated |
No change to the business rule text. |
The Self-Billing expression guarded against more than one tax total by skipping the check entirely. It now uses the same |
|
Moved |
[ibr-079] – Document MUST not contain empty elements. |
The rule was declared near the end of the |
Business Rule Logic Updates
| Rule ID | Syntax (XML location) | Change | Business Rule | Reason |
|---|---|---|---|---|
|
Updated |
[ibr-044] – Each Invoice line charge (ibg-28) MUST have an Invoice line charge reason (ibt-144) or an invoice line charge reason code (ibt-145). |
The rule was evaluated at document level as well as at line level and therefore duplicated IBR-038. A line level condition has been added, aligning the rule with the existing IBR-042 and IBR-043. |
|
|
Updated |
[ibr-sr-57] – Company identifier MUST exist in the party tax scheme class. |
The Syntax Binding gives |
|
|
Updated |
[ibr-073] – A date MUST be formatted YYYY-MM-DD in (ibt-002), (ibt-007), (ibt-009), (ibt-026), (ibt-072), (ibt-073), (ibt-074), (ibt-134), (ibt-135), (ibt-177), (ibt-181). |
|
|
|
Updated |
[ibr-126] – All currencyID attributes must have the same value as the Invoice currency code (ibt-005), except for amounts expected to be in Tax accounting currency (ibt-006). |
|
|
|
Updated |
[ibr-cl-03] – currencyID MUST be coded using ISO code list 4217 alpha-3. |
Added for consistency with IBR-126. The |
|
|
Updated |
[ibr-017] – If a Payee (ibg-10) is provided in the Invoice, then the Payee name (ibt-059) MUST be provided and the Payee MUST be different from the Seller (ibg-04). The Payee and the Seller are compared, in order of precedence, on their legal registration identifier (ibt-061), their party identifier (ibt-060) and, as a last resort, their name (ibt-059). |
The rule compared the Payee name with the Seller trading name (ibt-028) instead of the Seller name (ibt-027), and compared identifiers without their scheme identifier. Names alone are unreliable for comparison because of spelling, case and abbreviation variants. |
|
|
Updated |
[ibr-105] – The Payee identifier (ibt-060) MUST occur maximum once in the Invoice. [ibr-106] – The Payee legal identifier (ibt-061) MUST occur maximum once in the Invoice. [ibr-sr-19] – Payee name (ibt-059) MUST occur maximum once in the Invoice. |
Each rule contained an alternative condition that disabled the cardinality check whenever the Payee name matched the Seller name. The condition has been removed, as IBR-017 now requires the Payee to be different from the Seller. |
|
IBR-091, IBR-121, IBR-122, IBR-123, IBR-124, IBR-125 |
|
Updated |
[ibr-091], [ibr-121], [ibr-122], [ibr-123], [ibr-124], [ibr-125] – The amount MUST have no more decimals than the official precision of the Self-billed invoice currency (ibt-005). |
The fixed limit of 2 decimals prevented amounts that are legally correct in a 3 decimal currency. The limit is now the official ISO 4217 precision of the currency. Unchanged for the 2 decimal currencies. |
IBR-091, IBR-121, IBR-122, IBR-123, IBR-124, IBR-125 |
|
Updated |
No change to the business rule text. |
The number of decimals was counted from the characters following the decimal point. XML Schema Part 2, 3.2.3 makes trailing zeros insignificant, so |
IBR-CO-10, IBR-CO-11, IBR-CO-12, IBR-CO-13, IBR-CO-14, IBR-CO-15, IBR-CO-16 |
|
Updated |
No change to the business rule text. |
The totals arithmetic rounded to 2 decimals with a hard coded |
Removed Rules
| Rule ID | Syntax (XML location) | Change | Business Rule | Reason |
|---|---|---|---|---|
IBR-056 |
|
Removed |
[ibr-056] – The Seller tax representative party (ibg-11) MUST have a Seller tax representative Tax identifier (ibt-063). |
The Syntax Binding gives |
New Rules
| Rule ID | Syntax (XML location) | Change | Business Rule | Reason |
|---|---|---|---|---|
|
Added |
[ibr-sr-64] – The Seller tax representative party tax scheme (ibt-063) MUST occur maximum once, if the Seller has a tax representative. |
|
|
|
Added |
[ibr-sr-65] – Invoice total TAX amount (ibt-110) MUST occur maximum once. |
|
|
|
Added |
[ibr-sr-66] – Invoice total TAX amount in accounting currency (ibt-111) MUST occur maximum once. |
|
|
|
Added |
[ibr-sr-67] – Despatch advice reference (ibt-184) MUST occur maximum once per Invoice line. |
|
|
|
Added |
[ibr-sr-68] – Line document reference (ibg-36) MUST occur maximum once per Invoice line. |
|
|
|
Added |
[ibr-sr-69] – Bank assigned creditor identifier (ibt-090) MUST occur maximum once. |
|
|
|
Added |
[ibr-sr-70] – Seller Tax identifier (ibt-031) and Seller tax registration identifier (ibt-032) MUST each occur maximum once. |
IBR-SR-42 only limits the total number of |
Validation Artefact
| Artefact | Syntax (XML location) | Change | Description | Reason |
|---|---|---|---|---|
Complete artefact |
Regenerated |
The XSLT validation artefact has been regenerated from |
The distributed XSLT was generated from an older Schematron and did not contain nine of the rules published in the specification. |
|
|
|
Updated |
|
The helper functions are declared |
|
|
Added |
Three helper functions returning the official ISO 4217 precision of a currency, the matching scale factor, and an amount rounded to that precision. |
Required by the decimal places change. Keeping the currency precision in one place means a future ISO 4217 change is a single edit rather than an edit to thirteen rules. |
Detailed Change Descriptions
Action Items for Implementers
Each action item names the change it results from, so that the full background of an action is one link away.
-
(Change 1) Senders and receivers in Bahrain, Iraq, Jordan, Kuwait, Libya, Oman and Tunisia can state document level totals with the 3 decimals their currency defines. No action is required to keep sending 2 decimals.
-
(Change 1) Businesses invoicing in a 2 decimal currency, a 0 decimal currency, or under a code with no defined precision need to take no action: decimal validation is unchanged for them.
-
(Change 1) Note that Invoice line amounts continue to accept any number of decimals. Aligning line item precision with the currency is not part of this release.
-
(Change 1) Maintainers: the 3 decimal and 4 decimal currency sets in
u:currencyDecimalsare the ISO 4217 minor units and must be reviewed whenever the ISO 4217 code list is updated, in the same pass asIBR-CL-03,IBR-CL-04andIBR-CL-05. -
(Change 10) Review the new rules IBR-SR-64 to IBR-SR-70 and verify that outgoing documents respect the Syntax Binding cardinalities they enforce.
-
(Change 5) Verify that outgoing documents contain no empty elements. IBR-079 now reports every empty element, including elements that were previously matched by another rule.
-
(Change 9) Verify Payee (ibg-10) implementations. IBR-017 now compares the Payee and the Seller on their identifiers, and IBR-105, IBR-106 and IBR-SR-19 now always enforce their cardinality.
-
(Change 6, Change 7) Verify the format of
cbc:ReceivedDate(ibt-181) andcbc:InstallmentDueDate(ibt-177), and the currency ofcbc:PaidAmount(ibt-180) andcbc:PerUnitAmount(ibt-166). These elements are now validated by IBR-073, IBR-126 and IBR-CL-03. -
(Change 19) Verify Credit Note implementations against IBR-124 and IBR-CO-14, which are now evaluated for Credit Notes.
-
(Change 4) Note that IBR-056 has been removed. A Seller tax representative without a tax identifier (ibt-063) is now accepted, in line with the Syntax Binding.
Version 1.1.3
| Maintained by | PoAC |
|---|---|
Release Date |
2026-06-08 (8 June 2026) |
Status |
Review |
What’s new in this release?
-
Code lists updates (EAS, ICD, ISO 4217), including new identifier schemes and currency code changes.
-
Schematron validation artefacts updated to align with the latest code lists.
-
Update to the PINT specialization guide.
-
Text corrections in the Credit Note Semantic and Syntax pages.
-
Various Schematron updates.
-
Improved error message for
IBR-004to clearly distinguish invoice and credit note type code validation scenarios. -
Update to
IBR-126to excludecac:ItemPriceExtensionamounts from DocumentCurrencyCode validation.
Overview
This release introduces updates to the PINT Self-Billing General Specification, covering the Data Model, BIS documentation, Compliance, Specialisation, Code Lists, and Schematron rules. The objective is to improve semantic clarity, validation accuracy, and overall implementation guidance.
Version Information
| Version | 1.1.3 |
|---|---|
Applies to |
PINT Self-Billing (Invoice and Credit Note) |
Reviewed |
- |
Changes
Data Model
-
In the Credit Note Semantic and Syntax documentation, IBT-003 was previously described as Invoice type code. This has been corrected to Credit note type code.
-
Added missing element
cac:TaxScheme/cbc:IDundercac:TaxTotal[cbc:TaxAmount/@currency = ../cbc:TaxCurrencyCode]/cac:TaxSubtotal/cac:TaxCategory. According to the UBL 2.1 schema, this is a mandatory element and was missing from our specification.
Documentation
-
PINT Specialisation Guide:
-
Updated the Shared Content section to clarify restrictive cardinality on optional elements when required by local implementations.
-
Improved the definition of Shared Content in the Glossary and terminology section.
-
Added clarification under Data Model → Specialisations → Allowed cardinality restrictions.
-
Removed references to GitHub issue links.
-
Code Lists Updates
Electronic Address Scheme (EAS)
New Additions
| Code | Description | Justification |
|---|---|---|
0242 |
OpenPeppol Service Provider Identification Scheme (SPIS) |
Part of regular code list updates |
0245 |
Tax identification number (DIČ, Slovakia) |
New scheme introduced |
0246 |
German Electronic Business Address |
New scheme introduced |
0248 |
Oman VAT Identification Number (VATIN) |
New scheme introduced |
ICD (ISO 6523 Identifier Schemes)
New Additions
| Code | Description | Notes |
|---|---|---|
0245 |
Tax identification number (DIČ, Slovakia) |
Standard addition |
0246 |
German Electronic Business Address |
Standard addition |
0247 |
Name unknown |
No public documentation available |
0248 |
Oman VAT Identification Number (VATIN) |
Standard addition |
ISO 4217 Currency Codes
Changes Overview
| Code | Status | Description | Notes |
|---|---|---|---|
XCG |
Added |
East Caribbean Guilder |
New currency introduced |
ANG |
Removed |
Netherlands Antillean Guilder |
Deprecated |
BGN |
Removed |
Bulgarian Lev |
Removed per update |
Schematron Rules
Rule Visibility and Documentation Improvements
| Rule ID | Syntax (XML location) | Change | Business Rule | Reason |
|---|---|---|---|---|
IBR-127 |
|
Added (Rules tab) |
[ibr-127] – Swedish organization number MUST be stated in the correct format for endpoints (ibt-034), (ibt-049), party identification (ibt-029), (ibt-046), (ibt-060), and legal entities (ibt-030), (ibt-047), (ibt-061). |
The rule was previously not displayed under the Rules tab. |
IBR-082 |
|
Added (Rules tab) |
[ibr-082] – Allowance/charge indicator value MUST be either 'true' or 'false'. |
The rule was previously not visible under the Rules tab and is now correctly linked at both document and line level. |
IBR-004 |
|
Fixed |
[ibr-004] – Invoice or Credit note type code (ibt-003) MUST be present. |
Error message improved to explicitly distinguish invoice and credit note validation scenarios. No change to validation logic. |
Business Rule Logic Updates
| Rule ID | Syntax (XML location) | Change | Business Rule | Reason |
|---|---|---|---|---|
IBR-126 |
|
Updated |
[ibr-126] – All currencyID attributes must have the same value as the Invoice currency code (ibt-005), except for amounts expected to be in Tax accounting currency (ibt-006). |
Amounts inside |
Removed Rules
| Rule ID | Syntax (XML location) | Change | Business Rule | Reason |
|---|---|---|---|---|
IBR-SR-45 |
|
Removed |
[ibr-sr-45] – Due Date (ibt-009) MUST occur at most once. |
The UBL 2.1 schema already restricts this to zero or one occurrence, making the Schematron rule redundant. |
Code List Alignment
| Rule ID | Syntax (XML location) | Change | Business Rule | Reason |
|---|---|---|---|---|
IBR-CL-03, IBR-CL-04, IBR-CL-05 |
Currency code elements (ISO 4217) |
Change |
Currency code MUST belong to the ISO 4217 code list. |
Updated to reflect latest ISO 4217 changes (addition of XCG, removal of ANG and BGN). |
IBR-CL-10, IBR-CL-11, IBR-CL-21, IBR-CL-26 |
Identifier scheme (ICD) |
Change |
Scheme identifier MUST belong to the ISO 6523 ICD code list. |
Updated to include new scheme identifiers (0245, 0246, 0247, 0248) and correct formatting for 0244. |
IBR-CL-25 |
Electronic Address Scheme (EAS) |
Change |
Electronic address scheme identifier MUST belong to the EAS code list. |
Updated to include new scheme identifiers (0242, 0245, 0246, 0248). |
Action Items for Implementers
-
Review the updated visibility and linkage of Schematron rules in your validation environment.
-
Schematron validation artefacts have been updated to align with the latest Code Lists (EAS, ICD, ISO 4217). Ensure your validation environment reflects these updates.
-
Verify support for newly added identifier schemes (EAS and ICD) and currency codes (ISO 4217), and ensure deprecated values are no longer used.
-
Verify Credit Note implementations reference IBT-003 as Credit note type code.
-
No new Schematron constraints have been introduced; validation updates reflect alignment with maintained code lists and removal of redundant rules.
-
If your implementation uses
cac:ItemPriceExtensionto carry amounts in the Tax Accounting Currency, note thatIBR-126will no longer fire for those amounts. Currency validation forcac:ItemPriceExtensionis handled by your country extension rules.
Version 1.1.2
| Maintained by | PoAC |
|---|---|
Release Date |
TBD |
Status |
Review |
What’s new in this release?
-
This is an intital release.
Version Information
| PINT Self-Billing | 1.1.2 |
|---|---|
Applies to |
PINT Self-Billing (Invoice and Credit note) |
Reviewed |
- |