Version 1.3.1
| Maintained by | Malaysia Digital Economy Corporation (MDEC) - Malaysia Peppol Authority |
|---|---|
Release Date |
2026-06-08 |
Status |
Final |
What’s new in this release?
-
PINT General Library Update
-
Updated from PINT General 1.1.2 to 1.1.3.
-
-
Code Lists Updates
-
Updated EAS, ICD, and ISO 4217 code lists inherited from PINT General.
-
Added new identifier schemes and updated currency code validation artefacts.
-
-
Schematron Updates
-
Removed redundant rule
IBR-SR-45(PaymentDueDate max occurrence) — already enforced by UBL 2.1 schema. -
Fixed
IBR-CL-26— added missing trailing space for ISO 6523 ICD code0244, preventing false validation failures. -
Improved error message for
IBR-004to distinguish Invoice and Credit Note validation scenarios. -
Updated
IBR-126to excludecac:ItemPriceExtensionamounts from DocumentCurrencyCode validation. -
Updated MY aligned rule
aligned-ibrp-e-08to validate only document-level exempt tax subtotals, preventing false checks on line-level tax totals. -
Improved rule visibility for
IBR-127(Swedish organization number) andIBR-082(Allowance/Charge indicator) in the Rules tab.
-
-
Data Model Corrections
-
Corrected
IBT-003from "Invoice type code" to "Credit note type code" in Credit Note semantic model and syntax pages. -
Added missing mandatory
cac:TaxScheme/cbc:IDunder VAT currency tax subtotal structures.
-
-
Documentation and Compliance
-
Updated PINT Specialisation Guide inherited from PINT General.
-
Removed "Reversing invoices (credit notes or negative invoices)" section.
-
Typographical corrections in Compliance section.
-
-
Example Updates
-
Added
TaxTotal-DocumentAndLineLevel.xmlto illustrate document-level and line-level exempt tax totals.
-
Overview
This release updates PINT MY Self-Billing to align with PINT General version 1.1.3. The release primarily introduces inherited updates from PINT General, including code list maintenance, Schematron validation improvements, semantic corrections, and documentation clarifications. It also includes a MY-specific aligned-rule correction for document-level exempt tax breakdown validation and a supporting example file.
No MY-specific syntax extensions or semantic data model changes are introduced in this release.
Version Information
| PINT General | 1.1.3 |
|---|---|
PINT MY |
1.3.1 |
Applies to |
PINT MY Self-Billing |
Reviewed |
Yes |
Changes
Data Model
| Element | Change | Description | Rationale |
|---|---|---|---|
IBT-003 (Credit Note) |
Corrected |
Renamed from "Invoice type code" to "Credit note type code" in Credit Note semantic and syntax documentation. |
Was incorrectly labelled as Invoice type code in inherited PINT General Credit Note documentation. |
|
Added |
Added missing mandatory |
Alignment with UBL 2.1 mandatory structure requirements inherited from PINT General. |
Documentation
| Document | Section | Change Description | Reason |
|---|---|---|---|
PINT Specialisation Guide |
Various |
Clarified restrictive cardinality rules for optional elements and improved Shared Content definitions. |
Alignment with updated PINT General guidance. |
Compliance |
Reversing invoices |
Removed the entire "Reversing invoices (credit notes or negative invoices)" section. |
Alignment with updated PINT General requirements. |
Compliance |
Various |
Typographical corrections. |
Documentation quality improvements. |
Examples |
Tax totals |
Added |
Supports implementers testing the updated MY aligned exempt tax breakdown rule. |
Code Lists
Electronic Address Scheme (EAS)
New Additions
| Code | Description |
|---|---|
0242 |
OpenPeppol Service Provider Identification Scheme (SPIS) |
0245 |
Tax identification number (DIČ, Slovakia) |
0246 |
German Electronic Business Address |
0248 |
Oman VAT Identification Number (VATIN) |
ICD (ISO 6523 Identifier Schemes)
New Additions
| Code | Description |
|---|---|
0245 |
Tax identification number (DIČ, Slovakia) |
0246 |
German Electronic Business Address |
0247 |
Name unknown |
0248 |
Oman VAT Identification Number (VATIN) |
ISO 4217 Currency Codes
| Code | Status | Description |
|---|---|---|
XCG |
Added |
Caribbean guilder |
CNH |
Added |
Renminbi (offshore) |
ANG |
Removed |
Netherlands Antillean guilder |
BGN |
Removed |
Bulgarian lev |
CUC |
Removed |
Cuban Convertible Peso |
Schematron Rules
Rule Visibility and Documentation Improvements
| Rule ID | Syntax (XML location) | Change | Business Rule | Reason |
|---|---|---|---|---|
IBR-127 |
|
Visibility |
[ibr-127] — Swedish organization number format validation. |
Rule now correctly displayed under the Rules tab. No logic change. |
IBR-082 |
|
Visibility |
[ibr-082] — Allowance/charge indicator value MUST be either 'true' or 'false'. |
Rule now linked at both document and line level in the Rules tab. No logic change. |
IBR-004 |
|
Fixed |
[ibr-004] — Invoice or Credit note type code (ibt-003) MUST be present. |
Error message improved to clearly distinguish Invoice and Credit Note validation scenarios. |
Business Rule Logic Updates
| Rule ID | Syntax (XML location) | Change | Business Rule | Reason |
|---|---|---|---|---|
aligned-ibrp-e-08 |
Document-level |
Updated |
[aligned-ibrp-e-08] — Exempt tax breakdown taxable amount MUST equal the sum of exempt lines, charges, and allowances. |
Restricted the rule context to document-level tax subtotals so line-level |
IBR-126 |
Amount elements with |
Updated |
[ibr-126] — All currencyID attributes must match the Invoice currency code except where Tax Accounting Currency applies. |
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. |
Redundant — UBL 2.1 schema already restricts PaymentDueDate to zero or one occurrence. |
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 (additions of XCG and CNH, removals of ANG, BGN, and CUC). |
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 corrected 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
-
Update validation environments to use the latest inherited EAS, ICD, and ISO 4217 code lists.
-
Ensure validation artefacts reflect the updated Schematron rules inherited from PINT General 1.1.3.
-
Verify support for newly added identifier schemes and updated currency codes.
-
Verify Credit Note implementations reference IBT-003 as Credit note type code.
-
Review exempt-tax scenarios that use both document-level and line-level
cac:TaxTotal; the MY aligned rulealigned-ibrp-e-08now validates only document-level tax breakdowns. -
Use the new
TaxTotal-DocumentAndLineLevel.xmlexample as reference when testing exempt-tax breakdown scenarios. -
No new MY-specific syntax extensions or semantic data model changes are introduced in this release.
-
If your implementation uses
cac:ItemPriceExtensionto carry amounts in Tax Accounting Currency, note thatIBR-126will no longer validate those amounts against the Document Currency Code.
Support
For support and clarification: OpenPeppol/MDEC support.
Version 1.3.0
| Maintained by | Peppol Technical Committee |
|---|---|
Release Date |
2025-12-08 |
Status |
Final |
What’s new in this release?
-
Syntax Binding Fixes
-
Added missing mandatory UBL 2.1 fields (
cbc:ID,@name,SourceCurrencyCode,TargetCurrencyCode) to resolve XSD validation errors.
-
-
Data Model Enhancements
-
Designated segments for FTA, K2 and CertEx.
-
Added
TaxTotalandItemPriceExtensionunder line items to align with LHDN requirements.
-
-
TTx Support
-
Documentation updated with usage steps.
-
Schematron rules added for
TTX(Tourism Tax). -
AALaccepted asTaxScheme ID.
-
-
Code List Updates
-
Deprecated generic code
T. UseSE,SA,HVG, orLVG.
-
-
Documentation Improvements
-
Minor sentence corrections and clarification for tax handling.
-
Section 4. Local Tax Information is updated with overview of TTx, SST, Tax Category Codes, and how to implement SST and TTx.
-
-
Updated XML Samples to reflect new rules and mappings.
-
A new Schematron rule on cbc:CustomizationID to restrict wildcard character.
Overview
This release includes updates to the Peppol specification covering the Data Model, BIS documentation, Compliance, Specialisation, Code Lists, and Schematron rules. The objective is to improve semantic clarity, validation precision, and implementation support.
Version Information
| PINT General | 1.1.2 |
|---|---|
PINT MY |
1.3.0 |
Applies to |
PINT MY Self-Billing. |
Reviewed |
- |
Changes
Data Model
| Element | Change | Description | Rationale |
|---|---|---|---|
|
Modified |
Made |
This is to make the structure inline with Semantic Model. |
|
Modified |
Explicitly included |
Improves visibility and consistency in syntax binding. |
|
Modified |
Added attribute |
Mandatory for LHDN reporting. |
|
Modified |
Added mandatory |
Required by UBL 2.1 XSD when using |
|
Modified |
Added mandatory |
Required by UBL 2.1 XSD when using |
|
Modified |
Added |
Both are mandatory by UBL 2.1 XSD when using |
|
Added |
Introduced |
Enables field mapping between PINT MY and LHDN. |
|
Added |
Introduced |
Mandatory field for LHDN compliance. |
|
Modified |
Change in Cardinality: from |
Enables fields compatibility between PINT MY and LHDN |
|
Added |
Introduced Attribute: |
Enables field mapping between PINT MY and LHDN. |
|
Added |
Introduced New mappings. |
Enables field mapping between PINT MY and LHDN. |
Documentation
| Document | Section | Change Description | Reason |
|---|---|---|---|
PINT Model for Billing |
4.8 |
The word |
Correction. |
PINT Model for Billing |
4.2 |
How to use |
Support for |
Code List
| Code List | Code | Change | Description | Justification |
|---|---|---|---|---|
TaxCat-cat |
T |
Removed |
The code |
It was conveyed in previous release that we encourage to use |
Schematron Rules
| Rule ID | Syntax (cac:TaxTotal/cac:TaxSubtotal/) |
Change | Business Rule | Reason |
|---|---|---|---|---|
aligned-ibrp-047 |
|
Added |
Tax Scheme ID can be AAL as well. |
Updated to support |
aligned-ibrp-048 |
|
Added |
For |
Updated to support |
aligned-ibrp-sa-08 |
|
Added |
Taxable amount for SA must equal (lines + charges – allowances) for the same rate. |
Alignment with VAT breakdown rules. |
aligned-ibrp-sa-09 |
|
Added |
SA tax amount must equal SA taxable amount × SA rate. |
Alignment with VAT breakdown rules. |
aligned-ibrp-sa-10 |
|
Added |
SA breakdown must not include exemption reason or code. |
To ensure correct use of standard VAT categories. |
aligned-ibrp-se-08 |
|
Added |
Taxable amount for SE must equal (lines + charges – allowances) for the same rate. |
New support for SE category. |
aligned-ibrp-se-09 |
|
Added |
SE tax amount must equal SE taxable amount × SE rate. |
New support for SE category. |
aligned-ibrp-se-10 |
|
Added |
SE breakdown must not include exemption reason or code. |
New support for SE category. |
aligned-ibrp-hvg-08 |
|
Added |
Taxable amount for HVG must equal (lines + charges – allowances) for the same rate. |
New support for HVG category. |
aligned-ibrp-hvg-09 |
|
Added |
HVG tax amount must equal HVG taxable amount × HVG rate. |
New support for HVG category. |
aligned-ibrp-hvg-10 |
|
Added |
HVG breakdown must not include exemption reason or code. |
New support for HVG category. |
aligned-ibrp-lvg-08 |
|
Added |
Taxable amount for LVG must equal (lines + charges – allowances) for the same rate. |
New support for LVG category. |
aligned-ibrp-lvg-09 |
|
Added |
LVG tax amount must equal LVG taxable amount × LVG rate. |
New support for LVG category. |
aligned-ibrp-lvg-10 |
|
Added |
LVG breakdown must not include exemption reason or code. |
New support for LVG category. |
aligned-ibrp-ttx-08 |
|
Added |
Tourism Tax (TTX/AAL) must not include a tax percentage. |
Alignment with Malaysian TTX rules. |
aligned-ibrp-ttx-09 |
|
Added |
TTX amount must equal sum of line-level TTX tax amounts plus document-level charges minus allowances. |
Alignment with Malaysian TTX rules. |
IBR-04-MY |
|
Modified |
To use TTX and SST together, provide TIN number in Supplier Party Identification ID without the schemeID. |
To Support TTX and SST together. |
IBR-SR-63 |
|
Added |
Specification identifier must not contain the wildcard character '*' |
New rule to block using wildcard character in customizationID |
Action Items for Implementers
-
Schematron Updates
-
Integrate new rules for
SA,SE,HVG, andLVGcategories ensuring taxable amounts and tax amounts are consistent with rates. -
Enforce that
TTX(AALscheme) must not have a percentage and is amount-only. -
Ensure exemption reasons/codes are not used for standard categories (
SA,SE,HVG,LVG).
-
-
Code List Updates
-
Remove use of deprecated code
T. Replace with specific VAT category codes (SE,SA,HVG,LVG).
-
-
Syntax Binding Compliance
-
Add missing mandatory UBL fields:
-
cbc:IDinAdditionalDocumentReference,Shipment, andConsignment. -
@nameattribute inIndustryClassificationCode. -
SourceCurrencyCodeandTargetCurrencyCodeinTaxExchangeRate.
-
-
Data Model Alignment
-
Go through the data model changes and adjust your mappings.
-
-
Documentation & Sample Review
-
Review updated BIS and PINT MY documentation sections (esp. §4.2 on TTx usage).
-
Validate against new XML samples provided.
-
-
Update your messages to comply with the new Schematron rule IBR-SR-63. If your current implementation already meets this rule, no changes are needed.
Support
For support and clarification: OpenPeppol/MDEC support.
Version 1.2.1
| Release date |
June 2025 |
Changes to Malaysian specialization of PINT
Changes to validation artefacts lists
-
Validation artefacts modified to support added tax category codes.
Version 1.2.0
| Release date |
May 2025 |
Changes to Malaysian specialization of PINT
-
Added business term btmy-017 to invoice for pre payment time.
-
Added business term btmy-018 in invoice and creditnote for IRBM Unique Identifier Number as preceding invoice reference.
-
Syntax binding for IRBM Unique Identifier Number btmy-001 in credit note aligned with Invoice.
Changes to BIS document
-
Added section 4.9 with guidance on QR codes.
-
Added in section 4.8.1 instructions for handling two tax registration ID.
-
Added in section 4.8 instructions for handling party tax schemes.
-
Corrected typoes in BIS and previous release notes.
Changes to code lists
-
Added tax category codes to align with LHDNM
Changes adopted to PINT MY from v1.1.1 of the general PINT
Data model
-
Tax representative identifier made optional. This means that specializations that want to keep it mandatory need to do that as an alignment.
Changes to code lists
-
TaxCategoryCode list and TaxExemptionReason code lists removed from general pint. This makes it easier to manage them in the specialization where they can be added if requried and with the relevant content.
-
Following code list changes have been adopted in line with update to EN 16931 code listing.
-
ISO 4217 Currency codes - Removed ZWL
-
ISO 6523 ICD - Added 0239 and 0240
-
UNCL 1153 Invoiced object identifier scheme - Added AXU
-
UNCL 7143 Item type identification code - Added PPI
-
EAS Electronic Address Scheme (EAS) - Added 0154, 0158, 0240, removed 9901, name changed for 0096
-
Changes to rules
-
Validation rules updated to support updated code lists.
-
Rule ibr-co-015 corrected to allow tax total in account currency.
Version 1.1.0
| Release date |
November 2024 |
Changes to Malaysian specialization of PINT
-
Added business terms ibt-180 to invoice and credit note.
-
Cardinality of ibt-063 changed to 1..1
Changes adopted to PINT MY from v1.0.2 of the general PINT
-
Corrected syntax binding for IBT-185.
-
EN 16931 terminology removed from Glossary
-
Text on totals in accounting currency removed from general BIS
-
Removed shared rule [ibr-cl-27]-The Tax scheme code (ibt-167).
-
Modified rules on cardinaltiy for Payment terms and Payment means.
-
Fixed schematron implementation of rules ibr-092 and ibr-sr-62
-
Corrected notation for syntax binding of ibt-111 in invoice and credit note
-
Rules checking currency codes aligned to the code list.
-
Rules checking UOM codees aligned to the code list.
-
Update error message for aligned-ibrp-008.
-
Code lists updates
-
Payment means: Added 98 and Malaysian payment means Z03, Z04, Z05, Z06, Z07, Z08
-
Currency code: Removed SLL, Sierra Leone. Replaced earlier by SLE
-
Item type: Added GMN
-
Charge codes: Added PRV
-
EAS: Added 0218 (Latvia)
-
Changes adopted to PINT MY from v1.1.0 of the general PINT
Changes to BIS document
-
Added BIS section 5.1.2 mandating use of wildcard document identifier scheme.
Changes to code lists
-
Added EAS codes 177 (Odette International Limited) and 235 (UAE Tax Identification Number (TIN))
-
Added currency codes VED (Bolívar Soberano, new valuation) and ZWG ( Zimbabwe Gold)
-
Removed currency code HRK (Kuna)
-
Added ICD (ISO6523) codes 0231 to 0238
Changes to rules
-
Schematron updated to support code changes.
-
Added new compliance rules on how to use sender/receiver identifiers when enveloping a PINT message in Peppol Business Message Envelope (SBDH).
Version 1.0.0
| Release date |
2024-02-29
|