All changes in this release are mandatory from Monday, 6th February 2023
Official Peppol release notes: https://peppol.org/post-award-november-release-publication/
You can find more details of the rules mentioned in this page from here: https://docs.peppol.eu/poacc/billing/3.0/rules/
In short
EN16931 update
- Code list updates (ICD, EAS)
- Better error messages when mandatory element is not given properly
All Peppol profiles
- Code list updates (ICD, EAS)
- Should not cause any major issues
- Severity change from warning to fatal
- Swedish organisation number must be given correctly
- Size of 10 digits
- Only numbers (0..9)
- No whitespaces, hyphens or other separators
- Validation improvement, given value must be numeric
- Australian Business Number must be given correctly
- Size of 11 digits
- Only numbers (0..9)
- No whitespaces, hyphens or other separators
- Australian Business Number must be given correctly
- Swedish organisation number must be given correctly
- Severity change from warning to fatal
Billing profile
- Some rules removed
- Greek related rules improved
- Typos fixed
Other profiles
- New rules introduced
- See detailed list of changes below
EN16931 rules changes
Code list updates
Currency code SLE added
BR-CL-03
currencyID MUST be coded using ISO code list 4217 alpha-3BR-CL-04
Invoice currency code MUST be coded using ISO code list 4217 alpha-3BR-CL-05
Tax currency code MUST be coded using ISO code list 4217 alpha-3
Codes 0217, 0218, 0219 and 0220 added
BR-CL-10
Any identifier identification scheme identifier MUST be coded using one of the ISO 6523 ICD list.BR-CL-11
Any registration identifier identification scheme identifier MUST be coded using one of the ISO 6523 ICD list.BR-CL-21
Item standard identifier scheme identifier MUST belong to the ISO 6523 ICD code listBR-CL-26
Delivery location identifier scheme identifier MUST belong to the ISO 6523 ICD code list
Codes 9901 and 9906 removed. Codes 0217, 0218, 0219, 0220 and 9959 added
BR-CL-25
Endpoint identifier scheme identifier MUST belong to the CEF EAS code list
Please note that not all new codes are available in BIS 3.0
Improved existing rules
Ensure that tax category “B” and “S” is not used at the same time
BR-B-02
An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment” shall not contain an invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Standard rated”
New rules
More accurate errors with empty elements. Currently covered by PEPPOL-EN16931-R008
in BIS 3.0
BR-01
An Invoice shall have a Specification identifier (BT-24).BR-02
An Invoice shall have an Invoice number (BT-1).BR-03
An Invoice shall have an Invoice issue date (BT-2).BR-04
An Invoice shall have an Invoice type code (BT-3).BR-05
An Invoice shall have an Invoice currency code (BT-5).BR-06
An Invoice shall contain the Seller name (BT-27).BR-07
An Invoice shall contain the Buyer name (BT-44).BR-09
The Seller postal address (BG-5) shall contain a Seller country code (BT-40).BR-11
The Buyer postal address shall contain a Buyer country code (BT-55).BR-18
The Seller tax representative name (BT-62) shall be provided in the Invoice, if the Seller (BG-4) has a Seller tax representative party (BG-11)BR-20
The Seller tax representative postal address (BG-12) shall contain a Tax representative country code (BT-69), if the Seller (BG-4) has a Seller tax representative party (BG-11).BR-21
Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126).BR-25
Each Invoice line (BG-25) shall contain the Item name (BT-153).BR-50
A Payment account identifier (BT-84) shall be present if Credit transfer (BG-17) information is provided in the Invoice.BR-52
Each Additional supporting document (BG-24) shall contain a Supporting document reference (BT-122).
Limit number of address lines
UBL-SR-51
`An address can only have one third line.- Issue raised in GitHub as the rule seems to be broken/redundant
- See https://github.com/ConnectingEurope/eInvoicing-EN16931/issues/335
Limit number of invoice line document references to 0..1
UBL-SR-52
Document reference shall occur maximum once- Already covered by
PEPPOL-EN16931-R100
in BIS 3.0
Peppol rules changes
Applies to all profiles
Profiles
- Billing
- Order transaction 3.3 (T01)
- Order Agreement transaction 3.1 (T110)
- Invoice Response transaction 3.1 (T111)
- Despatch Advice transaction 3.2 (T16)
- Catalogue transaction 3.2 (T19)
- Catalogue Response transaction 3.0 (T58)
- Message Level Response transaction 3.0 (T71)
- Order Response transaction 3.1 (T76)
- Punch Out transaction 3.2 (T77)
Code list updates
- Endpoint scheme (EAS) changes
- Codes 0147, 0170, 9906 and 9907 removed
- Code 9959 added
- ICD code changes
- Codes 0217, 0218, 0219 and 0220 added
- Rules updated accordingly BR-CL-10, BR-CL-11, BR-CL-21 and BR-CL-26
- Currency code SLE added
- Rules updated accordingly: BR-CL-03, BR-CL-04 and BR-CL-05
Rule severity changes from warning to fatal
PEPPOL-COMMON-R049
Swedish organization number MUST be stated in the correct format.- Must not be empty
- Must contain exactly 10 digits (0-9)
- No whitespaces, hyphens or other separators
- No SE prefix
Rules Improved, should be given in correct format: (fatal error)
PEPPOL-COMMON-R050
Australian Business Number (ABN) MUST be stated in the correct format.- Must not be empty
- Must contain exactly 11 digits (0-9)
- No whitespaces, hyphens or other separators
Billing profile
Rules removed
PEPPOL-COMMON-R048
Italian VAT Code (Partita Iva) must be stated in the correct formatDK-R-015
For Danish Suppliers, if specified, AccountingSupplierParty/PartyTaxScheme/CompanyID (DK VAT number) must start with DK followed by 8 digits
Rules Improved, should be given in correct format
-
Expecting the string #INVOICE URL# instead of #INVOICE-URL# (POAC-518) GR-S-008-1
When Supplier is Greek, there should be one invoice urlGR-R-008-2
When Supplier is Greek, there should be no more than one invoice urlGR-R-008-3
When Supplier is Greek and the INVOICE URL Document reference exists, the External Reference URI should be present
Rules fixed
UBL-CR-487
A UBL invoice should not include the AllowanceCharge TaxCategory TaxScheme JurisdictionRegionAddress- Fixed typo in rule test
Order transaction 3.3 (T01)
Code list changes
- Added OrderTypeCode codes
- 221 Blanket order
- 226 Call off order
New rules
Fatal errors
- Context
ubl:Order/cac:ProjectReference
PEPPOL-T01-B03201
Element ‘cbc:ID’ MUST be provided.
- Context
ubl:Order/cac:ProjectReference/*
PEPPOL-T01-B03202
Document MUST NOT contain elements not part of the data model.
Rules removed
PEPPOL-T01-B28701
Value MUST be part of code list ‘Duty or tax or fee category code (UNCL5305)
Order Agreement transaction 3.1 (T110)
New rules
Fatal errors
- Context
ubl:OrderResponse/cac:OrderLine/cac:LineItem/cac:Item/cac:ItemSpecificationDocumentReference/cbc:DocumentTypeCode
PEPPOL-T110-B21201
Value MUST be part of code list ‘Document name code, full list (UNCL1001)’ or ‘Image code (openPEPPOL)’- See https://docs.peppol.eu/poacc/upgrade-3/2022-Q4/codelist/UNCL1001/
Rules removed
- Context
ubl:OrderResponse/cac:AllowanceCharge/cac:TaxCategory/cbc:ID
PEPPOL-T110-B13301
Value MUST be part of code list ‘Duty or tax or fee category code (UNCL5305)
- Context
ubl:OrderResponse/cac:OrderLine/cac:LineItem/cac:Item/cac:ClassifiedTaxCategory/cbc:ID
PEPPOL-T110-B22301
Value MUST be part of code list ‘Duty or tax or fee category code (UNCL5305)
Despatch Advice transaction 3.2 (T16)
New rules
Fatal errors
- Context
ubl:DespatchAdvice/cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject
PEPPOL-T16-B01401
Attribute ‘mimeCode’ MUST be presentPEPPOL-T16-B01402
Value MUST be part of code list ‘Mime code (IANA Subset)’- See https://docs.peppol.eu/poacc/upgrade-3/2022-Q4/codelist/MimeCode/)
PEPPOL-T16-B01403
Attribute ‘filename’ MUST be present.
- Context
ubl:DespatchAdvice/cac:AdditionalDocumentReference
PEPPOL-T16-B01001
Element ‘cbc:ID’ MUST be provided.
- Context
ubl:DespatchAdvice/cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference
PEPPOL-T16-B01701
Element ‘cbc:URI’ MUST be provided
- Context
ubl:DespatchAdvice/cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/*
PEPPOL-T16-B01702
Document MUST NOT contain elements not part of the data model
- Context
ubl:DespatchAdvice/cac:AdditionalDocumentReference/cac:Attachment/*
PEPPOL-T16-B01301
Document MUST NOT contain elements not part of the data model.
- Context
ubl:DespatchAdvice/cac:AdditionalDocumentReference/*
PEPPOL-T16-B01002
Document MUST NOT contain elements not part of the data model.
- Context
ubl:DespatchAdvice/cac:Shipment/cac:Consignment/cac:CarrierParty/cac:PartyIdentification
PEPPOL-T16-B12801
Element ‘cbc:ID’ MUST be provided
- Context
ubl:DespatchAdvice/cac:Shipment/cac:Consignment/cac:CarrierParty/cac:PartyIdentification/cbc:ID
PEPPOL-T16-B12901
Value MUST be part of code list ‘ISO 6523 ICD list’.
- Context
ubl:DespatchAdvice/cac:Shipment/cac:ShipmentStage
PEPPOL-T16-B13701
Element ‘cbc:TransportModeCode’ MUST be provided.
- Context
ubl:DespatchAdvice/cac:Shipment/cac:ShipmentStage/cbc:TransportModeCode
PEPPOL-T16-B13801
Value MUST be part of code list ‘Recommandation 19 (UN/ECE)’
- Context
ubl:DespatchAdvice/cac:Shipment/cac:ShipmentStage/*
PEPPOL-T16-B13702
Document MUST NOT contain elements not part of the data model
- Context
ubl:DespatchAdvice/cac:DespatchLine
PEPPOL-T16-B16002
Element ‘cbc:DeliveredQuantity’ MUST be provided.
- Context
ubl:DespatchAdvice/cac:DespatchLine/cac:DocumentReference
PEPPOL-T16-B17301
Element ‘cbc:ID’ MUST be provided.
- Context
ubl:DespatchAdvice/cac:DespatchLine/cac:DocumentReference/*
PEPPOL-T16-B17302
Document MUST NOT contain elements not part of the data model.
- Context
ubl:DespatchAdvice/cac:DespatchLine/cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode
PEPPOL-T16-B18801
Attribute ‘listID’ MUST be present.PEPPOL-T16-B18802
Value MUST be part of code list ‘Item type identification code (UNCL7143)’- See https://docs.peppol.eu/poacc/upgrade-3/2022-Q4/codelist/UNCL7143/
- Context
ubl:DespatchAdvice/cac:DespatchLine/cac:Item/cac:CommodityClassification/*
PEPPOL-T16-B18701
Document MUST NOT contain elements not part of the data model.
Catalogue transaction 3.2 (T19)
Rules removed
- Context
ubl:Catalogue/cac:CatalogueLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID
PEPPOL-T19-B21701
Value MUST be part of code list ‘Duty or tax or fee category code (UNCL5305)’.
Order Response transaction 3.1 (T76)
Rules removed
- Context
ubl:OrderResponse/cac:OrderLine/cac:SellerSubstitutedLineItem/cac:Item/cac:ClassifiedTaxCategory/cbc:ID
PEPPOL-T76-B07701
Value MUST be part of code list ‘Duty or tax or fee category code (UNCL5305)’.
Punch Out transaction 3.2 (T77)
Rules removed
- Context
ubl:Catalogue/cac:CatalogueLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID
PEPPOL-T77-B09201
Value MUST be part of code list ‘Duty or tax or fee category code (UNCL5305)’.