Release notes for PINT AE Self-Billing

Version 1.0.2

Maintained by

The United Arab Emirates (UAE) Peppol Authority

Release Date

2025-12-08

Status

Review

What’s new in this release?

  • Aligned with the PINT General 1.1.2 release updates

    • A new Schematron rule on cbc:CustomizationID to restrict wildcard character.

    • Code list updates.

  • PINT-AE Schematron bug fixes.

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 Billing

1.1.2

PINT AE Self-Billing

1.0.2

Applies to

PINT AE Self-Billing

Reviewed

-

Changes

Data Model

  • No change

Documentation

  • No change

Code List

Code List Code Change Description Justification

ICD

0241

Added

Description not known.

Description not known, part of regular code list updates.

ICD

0242

Added

OpenPeppol Service Provider Identification Scheme (SPIS).

Part of regular code list updates.

ICD

0243

Added

Description not known.

Description not known, part of regular code list updates.

ICD

0244

Added

Tax Identification (Tax ID), Nigeria.

New country addition.

EAS

0244

Added

Tax Identification (Tax ID), Nigeria.

New country addition.

ISO3166-1:Alpha2

BS

Change

Name/Description update.

The correct and official way to refer to the country.

ISO4217

CNH

Added

Renminbi (offshore).

New currency addition.

ISO4217

CUC

Removed

Deprecated.

The currency code CUC (Cuban convertible peso) is Deprecated.

Schematron Rules

Rule ID Syntax (XML location) Change Business Rule Reason

IBR-SR-63

cbc:CustomizationID

Added

Specification identifier must not contain the wildcard character '*'

New rule to block using wildcard character in customizationID

IBR-154-AE

cbc:ProfileExecutionID

Modified — enforce length and permitted values

cbc:ProfileExecutionID MUST be exactly 8 digits and the value MUST be one of the allowed values (for example 00000000 or 00000001).

The previous Schematron did not enforce length; single-digit values (e.g. 0 or 1) were accepted. Add both length (8 digits) and discrete-value validation.

IBR-134-AE

/CreditNote[1] — Seller VAT Identifier (e.g. cac:AccountingSupplierParty/…​/cbc:CompanyID)

Corrected element context (InvoiceTypeCode → CreditNoteTypeCode) and strengthened presence rule

Seller VAT Identifier (cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = "VAT"]/cbc:CompanyID) MUST be present except when the Credit Note Type Code (cbc:CreditNoteTypeCode) indicates "Out of scope of VAT" or "Credit note related to goods or services".

Rule previously referenced cbc:InvoiceTypeCode while applied to CreditNote; fix makes the rule check cbc:CreditNoteTypeCode and enforces mandatory presence only in the correct cases.

IBR-191-AE

/CreditNote[1] — Payment Means Type Code (cac:PaymentMeans/cbc:PaymentMeansCode / IBT-081)

Corrected element context (InvoiceTypeCode → CreditNoteTypeCode) and clarified exceptions

ibt-081 (Payment means type code) MUST be provided, except when the Credit Note Type Code (cbc:CreditNoteTypeCode) is 'Credit note' or 'Credit note related to goods', or when the Invoice transaction-type code (BTAE-002) equals X1XXXXXX (Deemed supply).

The Schematron referenced cbc:InvoiceTypeCode under CreditNote validation; change to cbc:CreditNoteTypeCode and update exception logic so the rule skips in appropriate credit-note/deemed-supply cases.

BTAE-04

cac:TaxExchangeRate/cbc:CalculationRate (syntax binding)

Schematron rule update

Currency exchange rate MUST appear under cac:TaxExchangeRate/cbc:CalculationRate as per agreed binding; examples and schematron updated to validate this location.

Examples and Schematron previously used cac:PricingExchangeRate, causing mismatch between syntax binding, samples and validation. Schematron to use TaxExchangeRate and examples accordingly.

IBR-SR-63:

Previous Behavior: No validation was enforced on cbc:CustomizationID to restrict wildcard character.

New Behavior: cbc:CustomizationID Specification identifier must not contain the wildcard character '*'.

Justification: In general terms the busdox looks for an exact match, whereas DDTS uses a wildcard and looks for first match through a sequence. The wildcard is only used when registering the receiving capability, not in the document.

IBR-154-AE:

Previous Behavior: cbc:ProfileExecutionID length/value were not validated; single-digit values (e.g. 0, 1) passed validation.

New Behavior: cbc:ProfileExecutionID MUST be exactly 8 digits and only permitted values (for example 00000000, 00000001) are accepted. Schematron updated to validate both length and allowed values.

Justification: Prevents malformed ProfileExecutionID values and ensures only supported execution-profile values are accepted.

IBR-134-AE:

Previous Behavior: Rule applied during CreditNote validation referenced cbc:InvoiceTypeCode, and Seller VAT Identifier presence was not consistently enforced.

New Behavior: Rules now check cbc:CreditNoteTypeCode in the /CreditNote[1] context and enforce that Seller VAT Identifier is present except for the explicit CreditNote type exceptions.

Justification: Credit note validation must reference CreditNoteTypeCode (not InvoiceTypeCode) so presence/exception logic is evaluated correctly.

IBR-191-AE:

Previous Behavior: Payment means type code rules for credit notes referenced cbc:InvoiceTypeCode, leading to incorrect application of exceptions and false positives/negatives.

New Behavior: Schematron now references cbc:CreditNoteTypeCode and includes the exception for transaction-type code X1XXXXXX (Deemed supply). Payment means code is required except in the specified exceptions.

Justification: Fixes systemic mis-reference and aligns validation with business rules for credit notes and deemed-supply scenarios.

BTAE-04:

Previous Behavior: Syntax binding and examples used cac:PricingExchangeRate while documentation/syntax intended cac:TaxExchangeRate. This mismatch caused validation failures.

New Behavior: Syntax binding confirmed as cac:TaxExchangeRate/cbc:CalculationRate. Schematron and examples updated to validate and demonstrate TaxExchangeRate usage.

Justification: Aligns sample XML, syntax binding and Schematron so examples validate and the binding matches the intended business meaning.

Action Items for Implementers

  • 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:

Version 1.0.1

Release date

2025-07-31

COMPLIANCE CRITERIA

  • Compliance criteria modified to not requiring support for negative invoices in UAE.

DATA MODEL

  • Cardinality for BTAE-03 Credit note reason set to 1..1 from 0..1

  • Name of ibt-007 changed from "VAT tax point date" to "VAT point date"

SCHEMATRON

  • Corrections in context for rules ibr-132-ae and ibr-148-ae. Examples updated accordingly.

EDITORIAL and CLEANUP

  • Removing code list UNECE2005, not used in any UAE business term.

  • Rule ibr-164-ae removed, redundant because BTAE-08 is mandatory.

  • Text in rule ibr-119-ae expanded for clarification. No change to shematron.

  • Textual edits to several rules without changing context or schematron for rules: ibr-115-ae, ibr-120-ae, ibr-121-ae, ibr-124-ae, ibr-134-ae, ibr-135-ae, ibr-137-ae, ibr-138-ae, ibr-139-ae, ibr-141-ae, ibr-145-ae, ibr-149-ae, ibr-152-ae, ibr-153-ae, ibr-175-ae, ibr-175-ae, ibr-176-ae, ibr-177-ae, ibr-179-ae.

  • Name of IBT-032 change to "Seller tax registration identifier", to be in line with the definition.

Version 1.0.0

Release date

2025-06-10

  • Initial Release