Release notes for OIOUBL BIS 3 documents
v3.0.0 RC
OIOUBL BIS Billing with Response
While all reasonably practicable effort has been undertaken toward the completeness of the below changelog, OIOUBL 3 is a major revision. Some breaking changes may not have been identified. Users are strongly encouraged to conduct their own comprehensive testing. |
Release | Issue | Description | Type |
---|---|---|---|
Version 3.0.0.RC |
N/A |
Initial update of OIOUBL 3 BIS Billing With Response |
New |
Separation of message level and business level responses |
In OIOUBL 2, message and business level responses both used the ApplicationResponse document. OIOUBL 3 has split these into different customization IDs and profiles, to improve clarity regarding choreography and parties. |
Breaking |
|
Two-way profiles only |
In OIOUBL 2, several profiles were available for sending invoices without being able to receive an invoice response. This is not supported in OIOUBL 3, for business users. All institutional end users are expected and required to receive invoice responses at an endpoint registered to their business. |
Breaking |
|
Interpretations |
The OIOUBL 2 documentation indicated which fields were possible to ingest in a structured manner. In OIOUBL 3, this is no longer indicated. Rather, OIOUBL 3 indicates which values must be shown to the end user, because these fields contain information that the recipient of a document will be deemed to have known in the event of a dispute. This means that a number of free text fields, which are not readily ingestible, are marked as read-mandatory, while a number of structured data fields no longer are. |
Semantic change |
|
OIOUBL operates with three different inclusion levels for a data field: |
Clarification |
||
Prior versions of OIOUBL documentation used field definitions that were oriented toward technical implementation in EDI solutions, but did not prioritize making explicit the semantic content of the fields. OIOUBL 3 aims to provide field names and definitions which can be used directly in business user facing interfaces. It is hoped that this will contribute to standardizing the terminology that a user of e-procurement solutions faces across different platforms. |
Clarification |
||
Re-mapped fields |
Buyer’s reference has been re-mapped from cbc:BuyerCustomerParty.Party.Contact.ID to cbc:BuyerReference |
Breaking change - EN16931 conformance |
|
Excise taxes have been moved from the Tax elements to the AllowanceCharge elements. |
Breaking change - EN16931 conformance |
||
Calculation changes |
Line level AllowanceCharge now enters into the calculation of the LineExtensionAmount, where before it was purely informative. |
Breaking change - EN16931 conformance |
|
TaxExclusiveAmount was used incorrectly in OIOUBL 2. This has been revised to conform to the Norm. |
Breaking change - EN16931 conformance |
||
Negative credit notes are no longer permitted. Previously this was permitted to support conversion from Peppol Credit Note, but in OIOUBL 3 negative Peppol credit notes should be converted to invoices instead. |
Breaking change |
||
Invoice Due Date is now mandatory for documents where a due date is mandatory. PaymentMeans.PaymentDueDate is prohibited, PaymentTerms.PaymentDueDate is unsupported. PaymentTerms.PaymentDueDate only makes sense when there are multiple payment terms, which is currently unsupported in the Norm. If and when multiple payment terms are permitted, this will be revisited. |
Breaking change - EN16931 conformance |
||
VAT calculations and labeling now follow the EN16931 definitions and calculation logic. |
Breaking change - EN16931 conformance |
||
Only one tax total with tax subtotals may be provided. Tax subtotals are only used for the calculation of VAT in the document currency. The VAT amount in the tax currency is simply the VAT total converted into the tax currency. |
Breaking change |
||
One or more TaxTotal classes must be present on line level. |
Breaking change |
||
Document- and sub-totals now calculated according to the EN16931 calculation logic. |
Breaking change - EN16931 conformance |
||
Use of OrderableUnitFactorRate is not supported under EN16931 |
Breaking change - EN16931 conformance |
||
Only one item price discount is supported under EN16931 |
Breaking change - EN16931 conformance |
||
Field definitions/data quality |
A number of fields are now required to be non-negative. In particular, item net prices are no longer allowed to be negative. |
Breaking change - EN16931 conformance |
|
Invoiced/credited quantities may no longer be 0. |
Breaking change |
||
Empty fields are no longer permitted. All instances of classes and fields must have content. |
Breaking change - EN16931 conformance |
||
Invoice.OrderReference is mandatory when OrderLineReference class is present |
Breaking change |
||
Validation rules for completeness of address information have been substantially tightened. Addresses are now expected to be provided in structured format and fully specified. In particular, tests against historical production data have flagged incomplete DeliveryLocation.Address information. This will cause validation failure in OIOUBL 3. |
Breaking change |
||
A number of fields are now bound to specific or different code lists. In particular, tests against anonymized historical production data have identified the following prohibited practices currently in use: |
Breaking change |
||
cac:StandardItemIdentification/cbc:ID requires a schemeID attribute (to specify which standardized taxonomy is used). |
Breaking change |
||
Money amounts must have no more than two decimal places, and exchange rates must have exactly four decimal places. |
Breaking change |
||
Line IDs must now be unique to within the document. The schematron validates only to the first 5000 lines of a document, because this validation rule has very bad scaling properties, but the business rule applies to all line IDs in a given document. |
Breaking change |
||
AdditionalDocumentReference may only have SchemeIdentifier for InvoiceObjectIdentifiers. |
Breaking change - EN16931 conformance |
||
Allowance/charges |
Allowances must now have a reason or a reason code. |
Breaking change - EN16931 conformance |
|
Payment |
For Danish suppliers PaymentMandate/ID and PayerFinancialAccount/ID are mandatory when payment means is 49 |
Breaking change |
|
It is now mandatory to distinguish between the bank branch to which a bank account is registered, and the corporate identity of the bank to which the branch belongs. |
Breaking change |
||
Multiple payment terms not supported under EN16931 |
Breaking change - EN16931 conformance |
||
Multiple payment means with different payment means codes not supported under EN16931 |
Breaking change - EN16931 conformance |
||
For the sake of backward compatibility, PaymentChannelCode is retained for several PaymentMeansCodes where there is no ambiguity to resolve. This use is permitted, but is considered deprecated and may be removed in future revisions. |
Formal notice |
||
Excluded fields |
A number of fields have been excluded that were previously permitted. In particular, the Person class is universally banned (for reasons of data protection), and several fields that are duplicative of data structures found elsewhere in the schema have been excluded. For example, UBL contains a payment due date in both PaymentMeans and PaymentTerms, but the one in PaymentMeans has been excluded as duplicative in OIOUBL. |
Breaking change |
|
Fields that were only excluded in OIOUBL 2 to maintain backwards compatibility (because they were introduced in a later UBL version than OIOUBL 2 supported) have been un-excluded. |
Breaking change |
OIOUBL BIS Message Level Response
Release | Issue | Description | Type |
---|---|---|---|
Version 3.0.0.RC |
N/A |
Initial update of OIOUBL 3 BIS Message Level Response |
New |
Separation of message level and business level responses |
In OIOUBL 2, message and business level responses both used the ApplicationResponse document. OIOUBL 3 has split these into different customization IDs and profiles, to improve clarity regarding choreography and parties. |
Breaking |
|
Mandatory support for message level responses at business and service provider level |
In OIOUBL 2, it is possible to send documents without being able to receive an application response. In OIOUBL 3 this is no longer the case. |
Breaking |