From 931ad3d6d303a6e039dd1ca3078764ad0d8ff97e Mon Sep 17 00:00:00 2001 From: oscarglanzmann Date: Fri, 8 Sep 2023 15:19:27 +0200 Subject: [PATCH 01/11] add release notes ad initial preparation for Nov release --- guide/release-notes/main.adoc | 2 ++ guide/release-notes/v3.0.16.adoc | 11 +++++++++++ 2 files changed, 13 insertions(+) create mode 100644 guide/release-notes/v3.0.16.adoc diff --git a/guide/release-notes/main.adoc b/guide/release-notes/main.adoc index b5a646f8..41d5e6cb 100644 --- a/guide/release-notes/main.adoc +++ b/guide/release-notes/main.adoc @@ -15,6 +15,8 @@ IMPORTANT: Changes in code lists are also reflected by changes in the validation :leveloffset: +1 +include::v3.0.16.adoc[] + include::v3.0.15.adoc[] include::v3.0.14.adoc[] diff --git a/guide/release-notes/v3.0.16.adoc b/guide/release-notes/v3.0.16.adoc new file mode 100644 index 00000000..b7779470 --- /dev/null +++ b/guide/release-notes/v3.0.16.adoc @@ -0,0 +1,11 @@ += Version 3.0.16 +[horizontal] +Release date:: 2023-11-01 + +== Changes to BIS document + + +== Changes to code lists and validation artefacts + +== Changes to Country-Specific Rules + From f428a699d97074a80732d4d99b0a4986e3aa1089 Mon Sep 17 00:00:00 2001 From: Martin Forsberg Date: Fri, 22 Sep 2023 11:22:35 +0200 Subject: [PATCH 02/11] Deleted unnessary rule (EPPOL-EN16931-R006), removed Unit test, updated release notes --- guide/release-notes/v3.0.16.adoc | 2 + rules/unit-UBL-PEPPOL/PEPPOL-EN16931-R006.xml | 84 ------------------- 2 files changed, 2 insertions(+), 84 deletions(-) delete mode 100644 rules/unit-UBL-PEPPOL/PEPPOL-EN16931-R006.xml diff --git a/guide/release-notes/v3.0.16.adoc b/guide/release-notes/v3.0.16.adoc index b7779470..d7b11aec 100644 --- a/guide/release-notes/v3.0.16.adoc +++ b/guide/release-notes/v3.0.16.adoc @@ -7,5 +7,7 @@ Release date:: 2023-11-01 == Changes to code lists and validation artefacts +* The validation rule identified as PEPPOL-EN16931-R006, which ensures that only one Invoice Object is allowed at the document level in an invoice/credit note, has been removed. This is because it duplicates the European standard rule UBL-SR-04, making it redundant and unnecessary. + == Changes to Country-Specific Rules diff --git a/rules/unit-UBL-PEPPOL/PEPPOL-EN16931-R006.xml b/rules/unit-UBL-PEPPOL/PEPPOL-EN16931-R006.xml deleted file mode 100644 index 2b08c332..00000000 --- a/rules/unit-UBL-PEPPOL/PEPPOL-EN16931-R006.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - Verify existence of not more than a single object identifier on document level - PEPPOL-EN16931-R006 - - - - PEPPOL-EN16931-R006 - - - - - DR35141 - 130 - - - - ts12345 - Technical specification - - - www.techspec.no - - - - - - - - - PEPPOL-EN16931-R006 - - - - - ts12345 - Technical specification - - - www.techspec.no - - - - - - - - - PEPPOL-EN16931-R006 - - - - - - - - - - - PEPPOL-EN16931-R006 - - - - - - 130 - - - - 130 - - - - - From ce1554611341bc5a0b27ba55c9c236d754a3fa75 Mon Sep 17 00:00:00 2001 From: Martin Forsberg Date: Fri, 22 Sep 2023 11:43:48 +0200 Subject: [PATCH 03/11] Moved a greek function to the function-section of the schematron file (before the first Pattern --- guide/release-notes/v3.0.16.adoc | 2 ++ rules/sch/PEPPOL-EN16931-UBL.sch | 36 +++++++++++++++++--------------- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/guide/release-notes/v3.0.16.adoc b/guide/release-notes/v3.0.16.adoc index d7b11aec..3ddde663 100644 --- a/guide/release-notes/v3.0.16.adoc +++ b/guide/release-notes/v3.0.16.adoc @@ -9,5 +9,7 @@ Release date:: 2023-11-01 * The validation rule identified as PEPPOL-EN16931-R006, which ensures that only one Invoice Object is allowed at the document level in an invoice/credit note, has been removed. This is because it duplicates the European standard rule UBL-SR-04, making it redundant and unnecessary. +* The structure of the Peppol Schematron rule set has been improved for better quality. A function that was previously located in the Greek rules section is now correctly positioned alongside other functions. + == Changes to Country-Specific Rules diff --git a/rules/sch/PEPPOL-EN16931-UBL.sch b/rules/sch/PEPPOL-EN16931-UBL.sch index bef742f5..ccae7f38 100644 --- a/rules/sch/PEPPOL-EN16931-UBL.sch +++ b/rules/sch/PEPPOL-EN16931-UBL.sch @@ -178,6 +178,24 @@ Last update: 2023 May release 3.0.15. ((string-to-codepoints(substring($val,11,1)) - 48) * 19)) mod 89 = 0 "/> + + + + + + + + @@ -477,23 +495,7 @@ Last update: 2023 May release 3.0.15. - - - - - - - + From a86ba19116597600d262096cb8eaa874e82e0ba6 Mon Sep 17 00:00:00 2001 From: Martin Forsberg Date: Fri, 22 Sep 2023 12:04:23 +0200 Subject: [PATCH 04/11] added recommendation to on how to handle situations when only sales order reference is vailable an no purchase order reference --- guide/release-notes/v3.0.16.adoc | 1 + structure/syntax/ubl-creditnote.xml | 2 +- structure/syntax/ubl-invoice.xml | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/guide/release-notes/v3.0.16.adoc b/guide/release-notes/v3.0.16.adoc index 3ddde663..fcd68354 100644 --- a/guide/release-notes/v3.0.16.adoc +++ b/guide/release-notes/v3.0.16.adoc @@ -4,6 +4,7 @@ Release date:: 2023-11-01 == Changes to BIS document +* A recommendation has been added to the Sales Order Reference element for handling cases where there is no Purchase Order Reference. This clarifies what to do with the mandatory UBL element for Purchase Order Reference. == Changes to code lists and validation artefacts diff --git a/structure/syntax/ubl-creditnote.xml b/structure/syntax/ubl-creditnote.xml index 2cbd0178..7614b31e 100755 --- a/structure/syntax/ubl-creditnote.xml +++ b/structure/syntax/ubl-creditnote.xml @@ -218,7 +218,7 @@ cbc:SalesOrderID Sales order reference - An identifier of a referenced sales order, issued by the Seller. + An identifier of a referenced sales order, issued by the Seller. In cases where Sales order reference is provided, but there's no Purchase order reference, then set cac:OrderReference/cbc:ID to value "NA" as this element is mandatory in UBL. Document Reference BT-14 112233 diff --git a/structure/syntax/ubl-invoice.xml b/structure/syntax/ubl-invoice.xml index f95379b4..fd380a03 100755 --- a/structure/syntax/ubl-invoice.xml +++ b/structure/syntax/ubl-invoice.xml @@ -224,7 +224,7 @@ cbc:SalesOrderID Sales order reference - An identifier of a referenced sales order, issued by the Seller. + An identifier of a referenced sales order, issued by the Seller. In cases where Sales order reference is provided, but there's no Purchase order reference, then set cac:OrderReference/cbc:ID to value "NA" as this element is mandatory in UBL. Document Reference BT-14 112233 From 0d87785e0a7d57d03a671e4aa0d09f1b00fe0b7f Mon Sep 17 00:00:00 2001 From: Martin Forsberg Date: Fri, 22 Sep 2023 12:11:00 +0200 Subject: [PATCH 05/11] added to relese notes and example --- guide/release-notes/v3.0.16.adoc | 2 +- rules/examples/sales-order-example.xml | 214 +++++++++++++++++++++++++ 2 files changed, 215 insertions(+), 1 deletion(-) create mode 100644 rules/examples/sales-order-example.xml diff --git a/guide/release-notes/v3.0.16.adoc b/guide/release-notes/v3.0.16.adoc index fcd68354..cfa211fa 100644 --- a/guide/release-notes/v3.0.16.adoc +++ b/guide/release-notes/v3.0.16.adoc @@ -4,7 +4,7 @@ Release date:: 2023-11-01 == Changes to BIS document -* A recommendation has been added to the Sales Order Reference element for handling cases where there is no Purchase Order Reference. This clarifies what to do with the mandatory UBL element for Purchase Order Reference. +* A recommendation has been added to the Sales Order Reference element for handling cases where there is no Purchase Order Reference. This clarifies what to do with the mandatory UBL element for Purchase Order Reference. Example file is added which illustrates this. == Changes to code lists and validation artefacts diff --git a/rules/examples/sales-order-example.xml b/rules/examples/sales-order-example.xml new file mode 100644 index 00000000..87f16242 --- /dev/null +++ b/rules/examples/sales-order-example.xml @@ -0,0 +1,214 @@ + + + urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0 + urn:fdc:peppol.eu:2017:poacc:billing:01:1.0 + Snippet1 + 2017-11-13 + 2017-12-01 + 380 + EUR + 4025:123:4343 + 0150abc + + NA + 123456 + + + + 9482348239847239874 + + 99887766 + + + SupplierTradingName Ltd. + + + Main street 1 + Postbox 123 + London + GB 123 EW + + GB + + + + GB1232434 + + VAT + + + + SupplierOfficialName Ltd + GB983294 + + + + + + FR23342 + + FR23342 + + + BuyerTradingName AS + + + Hovedgatan 32 + Po box 878 + Stockholm + 456 34 + + SE + + + + SE4598375937 + + VAT + + + + Buyer Official Name + 39937423947 + + + Lisa Johnson + 23434234 + lj@buyer.se + + + + + 2017-11-01 + + 9483759475923478 + + Delivery street 2 + Building 56 + Stockholm + 21234 + + SE + + + + + + Delivery party Name + + + + + 30 + Snippet1 + + IBAN32423940 + AccountName + + BIC324098 + + + + + Payment within 10 days, 2% discount + + + true + Insurance + 25 + + S + 25.0 + + VAT + + + + + 331.25 + + 1325 + 331.25 + + S + 25.0 + + VAT + + + + + + 1300 + 1325 + 1656.25 + 25 + 1656.25 + + + + 1 + 7 + 2800 + Konteringsstreng + + 123 + + + Description of item + item name + + 21382183120983 + + + NO + + + 09348023 + + + S + 25.0 + + VAT + + + + + 400 + + + + 2 + -3 + -1500 + + 123 + + + Description 2 + item name 2 + + 21382183120983 + + + NO + + + 09348023 + + + S + 25.0 + + VAT + + + + + 500 + + + From 04853ff17fafc5a4e484ff00cd5a5fd3d0d75f21 Mon Sep 17 00:00:00 2001 From: Georg Date: Fri, 22 Sep 2023 14:22:41 +0000 Subject: [PATCH 06/11] Add invoice type codes POACC-548 --- guide/profile/codes/invoice-specific.adoc | 12 ++++++++++++ rules/sch/PEPPOL-EN16931-CII.sch | 2 +- rules/sch/PEPPOL-EN16931-UBL.sch | 2 +- structure/codelist/UNCL1001-inv.xml | 14 +++++++++++++- 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/guide/profile/codes/invoice-specific.adoc b/guide/profile/codes/invoice-specific.adoc index 33c5a555..34c2a0ee 100644 --- a/guide/profile/codes/invoice-specific.adoc +++ b/guide/profile/codes/invoice-specific.adoc @@ -63,6 +63,12 @@ include::../../syntax/codelists/inv-type.adoc[] | 380 | Invoice +|326 +|Partial invoice +|Document/message specifying details of an incomplete invoice. +| 380 +| Invoice + |331 |Commercial invoice which includes a packing list |Commercial transaction (invoice) will include a packing list. @@ -81,6 +87,12 @@ include::../../syntax/codelists/inv-type.adoc[] | 380 | Invoice +|384 +|Corrected invoice +|Commercial invoice that includes revised information differing from an earlier submission of the same invoice. +| 380 +| Invoice + |386 |Prepayment invoice |An invoice to pay amounts for goods and services in advance; these amounts will be subtracted from the final invoice. diff --git a/rules/sch/PEPPOL-EN16931-CII.sch b/rules/sch/PEPPOL-EN16931-CII.sch index 3c855f7e..3908d952 100644 --- a/rules/sch/PEPPOL-EN16931-CII.sch +++ b/rules/sch/PEPPOL-EN16931-CII.sch @@ -533,7 +533,7 @@ Last update: 2022 May release 3.0.13. Invoice type code MUST be set according to the profile. diff --git a/rules/sch/PEPPOL-EN16931-UBL.sch b/rules/sch/PEPPOL-EN16931-UBL.sch index ccae7f38..4260095b 100644 --- a/rules/sch/PEPPOL-EN16931-UBL.sch +++ b/rules/sch/PEPPOL-EN16931-UBL.sch @@ -692,7 +692,7 @@ Last update: 2023 May release 3.0.15. Invoice type code MUST be set according to the profile. diff --git a/structure/codelist/UNCL1001-inv.xml b/structure/codelist/UNCL1001-inv.xml index b8b197de..8d0a7baa 100644 --- a/structure/codelist/UNCL1001-inv.xml +++ b/structure/codelist/UNCL1001-inv.xml @@ -56,6 +56,12 @@ Payment request for completed units A request for payment for completed units. + + + 326 + Partial invoice + Document/message specifying details of an incomplete invoice. + 331 @@ -85,7 +91,13 @@ relevant party. - + + + 384 + Corrected invoice + Commercial invoice that includes revised information differing from an earlier submission of the same invoice. + + 386 Prepayment invoice From ca7fabd0551675035061ee6f601a26ee9b0902c1 Mon Sep 17 00:00:00 2001 From: Georg Date: Fri, 22 Sep 2023 15:08:03 +0000 Subject: [PATCH 07/11] Editing text for negative invoices in BIS POACC-590 --- guide/release-notes/v3.0.16.adoc | 2 ++ .../functionality/negative-invoices.adoc | 14 ++++---------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/guide/release-notes/v3.0.16.adoc b/guide/release-notes/v3.0.16.adoc index cfa211fa..c7c76cb4 100644 --- a/guide/release-notes/v3.0.16.adoc +++ b/guide/release-notes/v3.0.16.adoc @@ -6,6 +6,8 @@ Release date:: 2023-11-01 * A recommendation has been added to the Sales Order Reference element for handling cases where there is no Purchase Order Reference. This clarifies what to do with the mandatory UBL element for Purchase Order Reference. Example file is added which illustrates this. +* Text in section 4.6 on negative invoices edited to remove historic comparison to BIS2 and justification for the change. No functional change. + == Changes to code lists and validation artefacts * The validation rule identified as PEPPOL-EN16931-R006, which ensures that only one Invoice Object is allowed at the document level in an invoice/credit note, has been removed. This is because it duplicates the European standard rule UBL-SR-04, making it redundant and unnecessary. diff --git a/guide/transaction-spec/functionality/negative-invoices.adoc b/guide/transaction-spec/functionality/negative-invoices.adoc index 3a8caaf0..d6654323 100644 --- a/guide/transaction-spec/functionality/negative-invoices.adoc +++ b/guide/transaction-spec/functionality/negative-invoices.adoc @@ -2,21 +2,15 @@ = Negative invoices and credit notes -In line with requirements of {EN16931} this BIS supports negative grand totals. This represents a significant change in comparison to {openpeppol}’s previous specifications where invoices and credit notes have non-negative total. - -The argument for negative invoices is to open up for a wider spectrum of invoicing processes. +In line with requirements of {EN16931} this BIS supports negative grand totals in order to open up for a wider spectrum of invoicing processes. Examples of such processes are -* Preliminary (estimated) consumption invoice that is balanced out in a later meter-based invoice; -* Pre-payment (with or without VAT) is settled through a final invoice; and +* Preliminary (estimated) consumption invoice that is balanced out in a later meter-based invoice; +* Pre-payment (with or without VAT) is settled through a final invoice; and * Some user communities prefer to use negative invoice rather than credit note when correcting transactions. -==== -NOTE: Buyers who value automatic matching of e-invoices to orders or invoicing objects may wish to limit the areas and situations where complex transactions can be accepted and voice their requirements at time of procurement. -==== - -The decision has the following implications on the transaction format: +This has the following implications on the transaction format: * The invoice (now with “negative invoice capacity”) can function as an alternative to the credit note. Invoice-generating systems may implement either option, while invoice-receiving systems have to support both of them. * The transaction format for credit note has to be designed to accommodate for negative grand total, as well; this is because an entire negative invoice may have to be balanced out by means of a credit note. From ac645442dd3ed9613a2c6612df806167eb2eb8f3 Mon Sep 17 00:00:00 2001 From: Georg Date: Fri, 22 Sep 2023 15:10:07 +0000 Subject: [PATCH 08/11] Update v3.0.16.adoc POACC-548 --- guide/release-notes/v3.0.16.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guide/release-notes/v3.0.16.adoc b/guide/release-notes/v3.0.16.adoc index cfa211fa..dfa585ef 100644 --- a/guide/release-notes/v3.0.16.adoc +++ b/guide/release-notes/v3.0.16.adoc @@ -12,5 +12,7 @@ Release date:: 2023-11-01 * The structure of the Peppol Schematron rule set has been improved for better quality. A function that was previously located in the Greek rules section is now correctly positioned alongside other functions. +* Added invoice type codes 326 "Partial invoice" and 384 "Corrected invoice" as synonyms to code 380. + == Changes to Country-Specific Rules From f85f5721e21bb2fc4619f3c3aafccb243eeea177 Mon Sep 17 00:00:00 2001 From: Martin Forsberg Date: Thu, 28 Sep 2023 16:17:01 +0200 Subject: [PATCH 09/11] Rule PEPPOL-EN16931-R006 deleted --- rules/sch/PEPPOL-EN16931-UBL.sch | 1 - 1 file changed, 1 deletion(-) diff --git a/rules/sch/PEPPOL-EN16931-UBL.sch b/rules/sch/PEPPOL-EN16931-UBL.sch index ccae7f38..a65604fb 100644 --- a/rules/sch/PEPPOL-EN16931-UBL.sch +++ b/rules/sch/PEPPOL-EN16931-UBL.sch @@ -231,7 +231,6 @@ Last update: 2023 May release 3.0.15. Only one tax total with tax subtotals MUST be provided. Only one tax total without tax subtotals MUST be provided when tax currency code is provided. Invoice total VAT amount and Invoice total VAT amount in accounting currency MUST have the same operational sign - Only one invoiced object is allowed on document level VAT accounting currency code MUST be different from invoice currency code when provided. From d07af635e55eed635a0dd2a8adfce889fbb012b3 Mon Sep 17 00:00:00 2001 From: Martin Forsberg Date: Thu, 28 Sep 2023 17:01:51 +0200 Subject: [PATCH 10/11] added NA for cbc:ID --- structure/syntax/ubl-creditnote.xml | 4 ++-- structure/syntax/ubl-invoice.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/structure/syntax/ubl-creditnote.xml b/structure/syntax/ubl-creditnote.xml index 7614b31e..c4f50351 100755 --- a/structure/syntax/ubl-creditnote.xml +++ b/structure/syntax/ubl-creditnote.xml @@ -208,7 +208,7 @@ cbc:ID Purchase order reference - An identifier of a referenced purchase order, issued by the Buyer.An invoice must have buyer reference (BT-10) or purchase order reference. + An identifier of a referenced purchase order, issued by the Buyer. An invoice must have buyer reference (BT-10) or purchase order reference. In cases where sales order reference is provided, but there's no purchase order reference, then use value "NA" as this element is mandatory in UBL Document Reference BT-13 PEPPOL-EN16931-R003 @@ -218,7 +218,7 @@ cbc:SalesOrderID Sales order reference - An identifier of a referenced sales order, issued by the Seller. In cases where Sales order reference is provided, but there's no Purchase order reference, then set cac:OrderReference/cbc:ID to value "NA" as this element is mandatory in UBL. + An identifier of a referenced Sales order, issued by the Seller. In cases where sales order reference is provided, but there's no purchase order reference, then set cac:OrderReference/cbc:ID to value "NA" as this element is mandatory in UBL. Document Reference BT-14 112233 diff --git a/structure/syntax/ubl-invoice.xml b/structure/syntax/ubl-invoice.xml index fd380a03..ac66bb1c 100755 --- a/structure/syntax/ubl-invoice.xml +++ b/structure/syntax/ubl-invoice.xml @@ -214,7 +214,7 @@ cbc:ID Purchase order reference - An identifier of a referenced purchase order, issued by the Buyer.An invoice must have buyer reference (BT-10) or purchase order reference. + An identifier of a referenced purchase order, issued by the Buyer. An invoice must have buyer reference (BT-10) or purchase order reference. In cases where sales order reference is provided, but there's no purchase order reference, then use value "NA" as this element is mandatory in UBL. Document Reference BT-13 PEPPOL-EN16931-R003 @@ -224,7 +224,7 @@ cbc:SalesOrderID Sales order reference - An identifier of a referenced sales order, issued by the Seller. In cases where Sales order reference is provided, but there's no Purchase order reference, then set cac:OrderReference/cbc:ID to value "NA" as this element is mandatory in UBL. + An identifier of a referenced sales order, issued by the Seller. In cases where sales order reference is provided, but there's no purchase order reference, then set cac:OrderReference/cbc:ID to value "NA" as this element is mandatory in UBL. Document Reference BT-14 112233 From b276f7ce41925eca4ef30f0125496eda7668fd52 Mon Sep 17 00:00:00 2001 From: Jerry Dimitriou Date: Wed, 4 Oct 2023 19:02:57 +0000 Subject: [PATCH 11/11] POACC-592 / fixed greek rule --- rules/sch/PEPPOL-EN16931-UBL.sch | 2 +- rules/unit-UBL-GR/GR_Validation_GRR001.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rules/sch/PEPPOL-EN16931-UBL.sch b/rules/sch/PEPPOL-EN16931-UBL.sch index 98c3d96e..5834b279 100644 --- a/rules/sch/PEPPOL-EN16931-UBL.sch +++ b/rules/sch/PEPPOL-EN16931-UBL.sch @@ -510,7 +510,7 @@ Last update: 2023 May release 3.0.15. - + diff --git a/rules/unit-UBL-GR/GR_Validation_GRR001.xml b/rules/unit-UBL-GR/GR_Validation_GRR001.xml index 9456fcbd..30c200ee 100644 --- a/rules/unit-UBL-GR/GR_Validation_GRR001.xml +++ b/rules/unit-UBL-GR/GR_Validation_GRR001.xml @@ -362,7 +362,7 @@ xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"> - 061828591|11/11/2010|0|11.1|| + 061828591|11/11/2010|0|1.1|| 2010-11-11