Changes in code lists are also reflected by changes in the validation artefacts enforcing only valid codes. All validation changes apply to both UBL and CII validation rules.

Version 3.0.10

Release date


New BIS documents

  • Added new document - BIS Advanced Ordering 3.0 with the following transactions:

    • New transaction - Peppol Order Change transaction 3.0 (T114)

    • New transaction - Peppol Order Cancellation transaction 3.0 (T115)

    • New transaction - Peppol Order Response Advanced transaction 3.0 (T116)

    • Existing transaction - Peppol Order transaction 3.3 (T01)

New transactions

  • Peppol Order Change transaction 3.0 (T114)

  • Peppol Order Cancellation transaction 3.0 (T115)

  • Peppol Order Response Advanced transaction 3.0 (T116)

BIS documentation

  • Invoice Response

    • Definition of status codes in section Status Codes corrected to be in line with rule OP-BR111-R012 so that Accepted is not a final status and Paid is a final status.

    • Correction of examples in chapter 6.3

  • Editorial change in the documentaion templates. Many pages in previous releases had a "Last updated" timestamp in the page footer. The timestamp indicated when the HTML-page was generated by the documentation tool, not when the actual content of the page was updated/changed. The timestamp is now removed since it caused a lot of confusion.

  • Order Response example in the BIS documentation (sectino 7.1.1) has been corrected. The example shows a response with type "Received" (code AB) but the example said that there was amendments in the details (which is not allowed with code AB)

  • Catalogue with response

    • Removed broken link to example files in section 6.8 and pointed out the main page Appendix A instead.

  • Catalogue without response

    • Removed broken link to example files in section 6.8 and pointed out the main page Appendix A instead.

  • Correction of a bullet point explaining the example in section "Line TAX Category" in all BISes that uses it.

Changes to syntax

  • Despatch Advice transaction (T16)

    • Reference to Sales Order Line number is added as an optional business term on Despatch advice line.

    • Commodity Classification code added as an optional business term on Despatch advice line.

    • Optional additional Document reference (incl business terms for attachments) added on header level. Optional business terms for Document references (no attachments) also added on line level.

    • Optional business term for Carrier Party Identification added to the Carrier Party information.

    • Optional TransportModeCode added on header level with codes from UN/ECE Rec 19.

    • Cardinality of DeliveredQuantity on Despatch line changed to mandatory in syntax to correctly reflect the intention of the BIS.

    • Examples updated

  • Order transaction (T01)

    • New business terms for RequestedDeliveryPeriod, Start time (tir01-p042) and End time (tir01-p043). Example updated.

    • New business term for Project reference/ID (tir01-p044). Example updated.

  • Order Response transaction (T76)

    • New business terms for PromisedDeliveryPeriod, Start time (tir76-p010) and End time (tir76-p011). Added to example.

  • Order Agreement transaction (T110)

    • Optional element DocumentTypeCode (tir110-p008) added on ItemSpecificationDocumentReference level. Example updated.

    • Optional element CompanyID added for PartyLegalEntity in both Buyer (tir110-p009) and Seller (tir110-p010). Example updated.

Changes to code lists and validation artefacts

  • Validation of code values for Tax Category codes are removed to allow for non-EU categories. In previous release (3.0.4), the TaxScheme/ID was generalized to allow for other schemes than VAT but also that category code should have been generalized. This release addresses this shortcoming (with a consequence that category code isn’t validated). The change affects the following transactions:

    • Order transaction (T01)

    • Order Response transaction (T76)

    • Catalogue transaction (T19)

    • Order Agreement transaction (T110)

    • Punch Out transaction (T77)

  • Added DocumentType codes for Order transactions (T01) to allow for blanket orders (code 221) and Call-off (code 226). Applies in BIS specifications Order Only and Ordering.

  • Rule PEPPOL-COMMON-R049 (ICD 0007 - Swedish organization number) changed from severity warning to fatal (as announced in the may 2022 release)

  • Correction in Rule PEPPOL-COMMON-R050 (validation of Australian Business Number (ABN)) corrected

  • Added eas codes 9959. Removed 9906 and 9907.

  • Added icd codes 0217, 0218, 0219, 0220

  • Added Action code (UNCL1229) for Order Change

Version 3.0.9

Release date


Changes to code lists and validation artefacts

  • Added rule to check format for Swedish organisation numbers (ICD/EAS 0007) with severity warning, will be changed to fatal in future release.

  • An error has been corrected which is causing some XSL-transformers/tools to raise errors when loading/using the schematron-files.

  • Rule PEPPOL-COMMON-R043 (ICD 0208) changed from severity warning to fatal (as announced in the november 2021 release)

  • Correction in Punch Out rule PEPPOL-T77-R001 that was incorrectly fired when validity period is omitted

  • Added rule to check format for Australian ABN (ICD/EAS 0151) with severity warning, will be changed to fatal in future release.

  • Added test file for Catalogue wo response Use case 5

  • Added codes 0214, 0215 and 0216 to the ICD code list and support added in validation artefacts. [505]

  • Added codes 0147, 0170, 0188, 0215 and 0216 to the EAS code list and support added in validation artefacts. [481,473,505,506]

  • Double entry of code TSP removed from code list UNCL7143. [488]

Version 3.0.8

Release date


Changes to BIS document

  • BIS Order Agreement - editorial changes in the sub-numbering of a chapters for use cases. [POACC-401]

  • BIS Order Only - editorial update to section 6.10 regarding Tax total [POACC-413]

  • BIS Order Only, BIS Ordering, BIS Order Agreement - Editorial update to the description of tax usage on line level [POACC-440][POACC-441][POACC-442]

Changes to syntax

  • Catalogue transaction - Clarified description of the business term Cataloge identifier. Changed wording "positive referencing" to "uniquely referencing" [POACC-406].

  • Order Response - Editorial update to cac:Party for SellerSupplierParty to be mandatory instead of optional [POACC-428]

  • Invoice Response - Removed trailing note left in description of DocumentReference/ID and DocumentReference/issueDate [POACC-447]

  • Duplicate tir identifiers in seller and buyer party legal information in order corrected by assignin new id’s for Seller party legal information using tir01-p038 to tir01-p041. [POACC-414]

Changes to code lists and validation artefacts

  • Added rule (severity warning) for validation of format for Belgian organisation numbers (ICD:0208). Rule is planned to be changed to severity fatal in 2022 spring release. [POACC-408]

  • Added rule (severity warning) for validation of format for Italian identifiers (ICD:0201, 0210, 0211 and EAS 9906 and 9907). Rules are planned to be changed to severity fatal in 2022 spring release. [POACC-423]

  • Added transport handling unit (tir16-085) and packaging type (tir16-090) codes to align with CEF listing of codes. (O1, O2, O3, O4, O5, O6, O7, O8, O9, OG, OH, OI, OJ, OL, OM, ON, OP, OQ, OR, OS, OV, OW, OX, OY, OZ, P1, P3, P4, SX). [POACC-427]

  • Added UOM codes IUG, KWN, KWS, ODG, ODK, ODM, Q41, Q42, XZZ to aling with CEF listing of codes. [POACC-427]

Version 3.0.7

Release date


Changes to BIS document

  • The version numbers used in the BIS-documentation were inconsistant with the actual version numbers listed on the main documentation page. Version numbers should now be aligned. [POACC-391]

  • Changes in the documentation of Despatch Advice transaction 3.1. rule T16-R009 and T16-R010 is now reffering to seller party and originator customer party instead of buyer party [POACC-377].

  • Peppol logo updated to new design [POACC-375]

  • In Order Agreement BIS. Duplicated headings and intro text 3.3 and 3.3.1 removed. Later sections renumbered accordingly. [POACC-393]

  • Description of calculation of totals in Order Only BIS corrected so that class is shown as cac:AnticipatedMonetaryTotal instead of cac:LegalMonetaryTotal. No affect on functionality. [POACC-397]

  • Update of links to Use Case examples [POACC-383]

  • Catalogue BIS, both with and without response, the desciption for quantities and units in section 6.8 edited by adding tir numbers to the examples and to the business terms and the description of the business terms aligned with their desciption in the catalogue transaction data model. [POACC-374]

Changes to syntax

  • Order Transaction - an element which is mandatory in UBL was missing in the syntax description. The element (cac:Shipment/cbc:ID) is now added and with a fixed value "NA". The change was considered a bug-fix as the previous documentation would result in invalid UBL instances. [POACC-389 and POACC-380]

  • Order Transaction - the XML Elements for DeliveryParty Contact was incorrectly located under the DeliveryParty. The Contact element has been located correctly according to the UBL-schema. The change was considered a bug-fix as the previous documentation would result in invalid UBL instances. [POACC-379]

  • An editorial change has been made in the description of the element Order/CustomerReference in the Order Transaction. Previous wording "Your reference" is changed to "Buyer reference" aligning the description with the business term used in the Invoice. [POACC-364]

  • Despatch Advice transcation, business term DespatchAddress/ID given description and tir id [POACC-368]

  • Missing tir id for cac:TaxScheme/cbc:ID added to OrderAgreement, PunchOut and Catalogue [POACC-373)

  • Order Agreement, added to description for Previous order Identifier that it is an optional business term but is a required element in the UBL syntax so if no previous order identifier is available use NA. [POACC-361]

  • Clarification on the syntax documentation of Buyer reference identifier (ReceiverParty/Contact/ID) in Punch Out transaction 3.1 [POACC-363].

Changes to code lists and validation artefacts

  • Edits to status code for Invoice Response to clarify additions made in last release [POACC-370]

  • Incorrect special characters removed from IT and SE country rules [POACC-398]

  • ICD code list details edited to remove contact information [POACC-388]

  • Code lists updated to align with EN 16931 and BIS Billing [POACC-407]

    • ICD code list. Added 0210, 0211, 0212, 0213

    • EAS code list. Added 0210, 0211, 0212, 0213. Removed 9956

    • UOM code list. Added 49 new codes into Recommendation 20 and 21

Changes to previous release notes

  • The date for the hotfix published in november 2020 was incorrectly dated to 2019. This date is corrected in this release.

Version 3.0.6 - hotfix

Release date


Changes to syntax

  • Corrected cardinality of cac:DespatchLine/cac:OrderLineReference/cac:OrderLine to 0..1 instead of 1..1 in Despatch Advice in line with BIS specification.[POACC-347]

Changes to code lists and validation artefacts

  • Removed rule PEPPOL-T16-R002 that triggered a warning when cac:OrderReference/cbc:ID in DespatchAdvice was absent [POACC-347]

Changes to previous release notes

  • A release note in version 3.0.5 was incorrect, the correct release note shall state:

  • For the Catalogue (T19) cac:Price/cac:ValidityPeriod (tir19-056/057) is marked as unbounded in the syntax description while the validation rules and BIS description expects maximum 1. Cardinality changed to 0..1 to align with requirements and business rules. [POACC-340]

Version 3.0.5 - 2020 Fall

Release date


Changes to BIS document

  • Corrected use of charge indicatior false vs true in table in section 6.9 in order transaction. Issue: [POACC-352]

  • BIS "Catalogue only" renamed to "Catalogue with response". Issue: [POACC-357]

  • Added new business term to PunchOut for External attachment reference as tir77-p003 to align with text in BIS [POACC-354]

  • Migration plan from BIS2 to BIS3 removed. Is completed.

  • Updated text in section 6.2. Order reference in the Despatch Advice specification to clarify the use of OrderReference [POACC-347]

  • Updated link to example files in mlr and added clarification to the example files header on the main page [POACC-349]

  • Modified code policy in Invoice Response and added use case to for new Clarification Code (tir111-015) to support partial payments.

  • Editorial corrections and clarification of parties in Invoice Response BIS [POACC-338]

Changes to syntax

  • For the Catalogue (T19) cbc:PriceType/cac:ValidityPeriod (tir19-056/057) is marked as unbounded in the syntax description while the validation rules and BIS description expects maximum 1. Cardinality changed to 0..1 to align with requirements and business rules. [POACC-340]

  • For the Order (T01). New optional business term added on document level "Shipping label" as tir01-p036. [POACC-283]

  • For the Order (T01). New optional business term added on line level "Delivery location ID" as tir01-p037. [POACC-320]

Changes to supporting documents

Changes to code lists and validation artefacts

  • Rule PEPPOL-COMMON-R040: "GLN must have a valid format according to GS1 rules". Changed from severity "warning" to "fatal". (The rule was introduced in fall 2019 with severity "warning" to avoid disruptions but with the intention to be changed to severity "fatal" after 6-12 months). Issue: [POACC-333] and [POACC-341]

  • EAS code list, added code 0209, removed code 9958. Peppol rule updated accordingly.

  • ICD code list, added code 0205, 0206, 0207, 0208, 0209.

  • Duplicate currency codes removed from ISO4217 code list. Issue: [POACC-339]

  • OrderAgreement - Rule T110-R027 (verifies structure of tax categories) changed so that the rule is triggered only when it should be. [POACC-330]

  • For the Invoice Response (T111). New functionality to enable reporting on partial payments. Adding a new code for business term Clarification Code (tir111-015 ), StatusClarificationReason code "PPD" that can be used in combination with Status Status (tir111-013 ) code PA (paid) to indicate that the payment is a partial one. [POACC-356]

Version 3.0.4 - 2020 Spring

Release date


Changes to BIS document

  • The code example in section 6.6 (Classification) is updated from the temporary code ”MC” to the code “TST” (The UNSPSC commodity classification system) from code list UCL7143. [POACC-274]

    • for PEPPOL BIS Catalogue without response 3

    • for PEPPOL BIS Catalogue only 3

  • Following BIS generalized so that they use term TAX instead of VAT. Enables using them for other similar taxes like GST. Catalogue, Catalogue only, Order, Ordering, Order Agreement, Punch Out, Invoice Response. [POACC-265]

    • Text in guidelines generalized from VAT to GST

    • Element names and descriptions that had VAT in them generalized as TAX

    • Rules requesting Tax type ID as VAT removed to allow for GST. VAT now given as example.

    • Added new code for allowed TaxScheme Identifiers. Now allows VAT or GST.

  • Updated the link “Peppol Identifiers” of all the BIS DOCUMENTS in to reflect the newest version of “Policy for use of identifiers”[POACC-188]

Changes to syntax

  • Added cac:Package with elements cbc:ID and cbc:PackageTypeCode to support identification of packages within a transport handling unit. [POACC-301]

  • In the Order Syntax the sequence of Item Description (tir01-133) and Item Name (tir01-135) has been corrected so that Description is now before the Name. This is now in line with the UBL 2.1 syntax specification. [POACC-299]

  • Added name attribute to ItemClassificationCode and aligned Catalogue, Order, OrderAgreement, Order Respones and Shopping Cart. [POACC-277]

Changes to supporting documents

  • Updated test files with valid GLN numbers to pass travis validation according to the updated GLN validation rules introduced in version 3.0.3. [POACC-321]

Changes to code lists and validation artefacts

  • Added country code 1A for Kosovo into ISO 3166 for all BIS specifications. [POACC-324]

  • Updated test file poacc-upgrade-3\\rules\\snippets mlr/snippet-3.xml in order for the test file to conform to mlr syntax. [POACC-322]

  • Rule R026 in OrderAgreement modified so that it is fired only when TaxTotal is provided. [POACC-302]

  • In the Catalogue transaction the code PRODUCT_IMAGE is added to allowed DocumentTypeCodes in ItemSpecificationDocumentReference on line level. The code may be used to identify the main image of a product. [POACC-297]

  • Added code TRADE_ITEM_DESCRIPTION as allowed attachment type in Catalogue and PunchOut [POACC-279]

  • PEPPOL-T19-R011 and PEPPOL-T19-R016 updated to take unbounded cac:RequiredItemLocationQuantity into consideration. [POACC-255]

  • Changed character (code ) for citation marks (“) as it was in conflict with some implementations. Changes was made in Rules for transactions T16, T19 and T110. [POACC-249]

  • Validation of cbc:CustomizationID in all BIS specifications changed from element must contain exactly the relevant transaction identifier to element content must begin with that identifier value. [POACC-191]

  • Descriptions and some names of codes in UNCL7143 corrected in line with the official code list version d19a. Applies to all BIS using this code list. [POACC-258]

Version 3.0.3

Release date


Changes to BIS document

  • Description of EAS code for code ION 0190 corrected. No change to the code itself.

Changes to syntax mapping

  • An error in namespace for Application Response corrected in transaction 71, Message Level Response. Lowercase a changed to uppercase.

  • Address information for consignee and delivery party added to Order transaction tir01-92 to 98.

Changes to code lists and validation artefacts

  • Update in EAS code list, addition of codes: 0130 and 0204, and deprecating of code 9902, 9904, 9905, 9917 and 9921.

  • An error in a common structural validation of GLN numbers, rule PEPPOL-COMMON-R040, corrected.

  • Changed implementation of empty element-test. Rule updated so that it also fails on whitespace only content.

Version 3.0.2 - hotfix

Release date


Changes to code lists and validation artefacts

  • Update in EAS code list, addition of codes: 0151 ,0183, 0201 and 0200, and renaming of code 0199

  • Update in ICD code list, addition of codes: 0201 and 0200, and renaming of code 0199

  • Update in UNCL7143 code list, addition of codes: TSQ, TSR, TSS and TST

Version 3.0.1

Release date


This release is a backward compatible minor upgrade, version 3.0.1 replacing the previous version 3.0.0 of OpenPEPPOL BIS document, other than the BIS Billing 3.0. The release includes changes to the BIS documents as well as the validation artifacts (VA’s).

Changes to BIS documents and validation artifacts

This release applies the following changes to the previosly published BIS 3.0 documents. This release does not include any changes to the BIS 2.0 documents. With the publication of this release the BIS 3.0 version become the mandatory version and the BIS 2.0 version become optional until the phase out date. For details see the migration plan

  • Message Level Response document lifecycle clarified POACC-152

  • Review comment removed in Invoice Response BIS 3 POACC-161

  • Namespace added for catalogue response POACC-163

  • Parties image in Despatch Advice BIS added POACC-183

  • Floating point error when comparing decimals in some implementations. All use of the xpath function sum() adjusted/verified. (Both Billing and BIS Order/OrderAgreement) POACC-184

  • Message examples for Invoice response corrected.

  • Documentation of syntax binding for Dispatch Advice corrected POACC-180

  • Added a common structure validation rule for Norwegian organizational numbers and GLN numbers.

  • Various minor text corrections and minor bug fixes.

New BIS for Catalogue without Response

This release includes a new BIS document for a Catalogue without response. This new BIS contains the same Catalogue transaction (T19) as the Cataloge only BIS but without the Catalogue Response transaction (T58). This new BIS can be used for sending catalogues to buyers with requiring them to implment the capability for responding, and thus simplifying the implementation while sacrificing some of the functionality provided by the Catalogue Only BIS.

The version number of this new BIS is set as 3.0.1 to keep it aligned with other BIS documents.

Version 3.0.0

This release is a new non-backwards compatible major upgrade of all OpenPeppol BIS specifications, other than the BIS Billing 3.0.

The OpenPeppol BIS 3.0 upgrade project was started in January 2018. Project was mandated to upgrade the Peppol BIS specifications so that they are aligned with the Peppol BIS Billing 3.0 specification that is based on the CEN/EN 16931 eInvoicing standard.


The current BIS specifications addressed by this project are the following.

  • Peppol BIS 1A Catalogue Only

  • Peppol BIS 3A Order Only

  • Peppol BIS 18A Punch Out

  • Peppol BIS 28A Ordering

  • Peppol BIS 30A Despatch Advice

  • Peppol BIS 36A Message Level Response

  • Peppol BIS 42A Order Agreement

  • Peppol BIS 63A Invoice Message Response

In the work on each BIS, the following key tasks are identified.

  1. Aligning with Invoice BIS. (code lists, party information, VAT details, Item details). Ref. Invoice gap analysis for potential gaps.

  2. Changing documentation format from Word to AsciiDoc.

  3. Processing and adoption of new requirements.

  4. Adopting unit testing for validation objects.

  5. Aligning Syntax bindings between documents.

For further details please refer to the project mandate


For each Business Interoperability Specification (BIS) there are the following parts:

Business Interoperability Specifications.

BIS document

The specification of a business process. The document describes the business process that it supports and provides details on how individual elements that are exchanged in transactions are to be used and understood. It provides business examples and syntax examples where needed. Defines rules that govern the data as well as code list that must be used.


The syntax document lists the data model of a transaction inluding what elements it contains, their cardinality and allowed values. The datamodel also contains examples of data. In this document the datamodel is mapped to the UBL 2.1 syntax.


For each BIS there are three sets of rules.

Common rules

These are rules that apply to all transaction and address issues such as, there may not be empty elements or that a date must be structure following the YYYY-MM-DD ISO format.

Each common rule has an identifier. As example "PEPPOL-COMMON-R001"

Basic rules

These are rules that are automatically generated based on the syntax datamodel. These include rules on:

  • Cardinality of elements and classes.

  • Allowed fixed values for elements and attributes.

  • Allowed codes in code lists.

Each basic rule has an identifier that include the transaction id and a sequential number starting with a B. As example "PEPPOL-T01-B00101"

Business rules

There are business rules that can not be automatically generated from the data model. These are mainly rules that concern relations between elements, such as:

  • Conditional values (IF-THEN)

  • Calculations of elements.

  • Minimum and maximum values.

  • Dependencies between elements.

Each business rule has an identifier that include the transaction id and a sequential number starting with a R. As example "PEPPOL-T01-R001"


These contain two type.

  • Schematron files that can be used for validating a transactions.

    • Schematron files for all transactions are provided in a single zip file.

  • Example files that can be used in tests and as reference in implementations.

    • Example files for all transaction are also provided in a single zip file.


The documentation includes a listing of all code lists used in one or more transactions. The code lists are fully populated with information on where they are used, what their code values are and their definitions.

When a BIS specification defines how a code is used that definition overrules the general definition in the code list.

Overview of alignments

The alignment of the BIS specification to the EN has been done with reference to the EN 16931 electronic invoice in line with the adoption of that standard into Peppol BIS Billing 3.0. The work is based on the following documents and decisions:

An important part of the alignment work was to adopt the documentation of the Peppol BIS Billing 3.0 to other specifications by using a browsable format instead of Word documents and spreadsheets.

Minutes and further details can be found in the project space in Confluence .

Further details of the the changes made can be found in Overview of Alignments.

Accepted changes (RFC)

The following changes were processed and agreed by the team.PB30-38 Validation Artefacts improvements candidates:

  • Batch/LOT and serial numbers in order 3a and 28a [PB30-1].

  • ID in AdditionalDocumentReference [PB30-4].

  • Change to DespatchAdvice BIS 30A, SFTI 20170622.xlsx [PB30-5].

  • Questions about Peppol BIS in post-award [PB30-7].

  • Request the OpenPeppol Post-Award CC to include the BuyersItemIdentification element in the BIS 28A Ordering and 30A Despatch Advice messages. [PB30-11].

  • Despatch Advice (BIS 30A), add postal Address informations and Person information [PB30-14].

  • Despatch Advice (BIS 30A), extension of cardinality for order reference ID [PB30-16].

  • General - enable price types for price is all transactions, other than Invoice [PB30-23].

  • General - harmonize Contracted Item Indicator and reference to contract [PB30-24].

  • Order Response - Use code list 1229 instead of 1225 as status code on line level [PB30-26].

  • Order Response - Introduce the use of line status code to indicate already delivered items [PB30-30].

  • Order Response - Introduce a document status code to confirm order reception [PB30-32].

  • Punch Out - Add delivery address and validity period on line level [PB30-33].

  • Punch Out - Introduce support for reserving goods [PB30-34].

  • Catalogue - Enable the use of standard item numbers to reference between related items [PB30-35].

  • Question for documentation on PEPPOL_BIS-18A.pdf, “Punch out” [PB30-37].


The following individuals have contributed to this work by participation in team meetings and with various development and review work between meetings.

  • Georg Birgisson, DIGG/Midran Ltd.

  • Siw Meckelborg, DIFI/Edisys

  • Charlotte Dahl Skovhus, MySupply

  • Arduini Iacopo, Emilia Romagna

  • Thomas Pettersson, SFTI/PSK Konsult

  • Dirk Willekens, BOSA

  • Arne Johan Larsen, Equinor

  • Elisa Bertocchi, Emilia Romagna

  • Sara Facchinetti, Infocert

  • Jalini Srisgantharajah, DIFI

  • Martin Forsberg, DIGG/Ecru consulting

  • Helena Ask, Visma

  • Peter Danko, E-delivery

  • Ole Ellerbæk Madsen, ERST

  • Jan Mæröe, DIFI

  • Erlend Klakegg Bergheim, DIFI

  • Sören Lennartson, DIGG

  • Jerry Dimitriou, Unipi

  • Serge Libert, BOSA

  • Andriana Prentza, Unipi

  • Manuel Gozzi, Emilia Romagna