Skip to content

Commit

Permalink
Merge branch '2024-q4-dev' into POACC-736
Browse files Browse the repository at this point in the history
  • Loading branch information
jerouris authored Sep 18, 2024
2 parents 27b91b3 + 268c5a6 commit 37d91f5
Show file tree
Hide file tree
Showing 14 changed files with 553 additions and 93 deletions.
38 changes: 38 additions & 0 deletions build.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
@echo off
setlocal

:: Get the directory of the script
set "PROJECT=%~dp0"
set "PROJECT=%PROJECT:~0,-1%" :: Remove trailing backslash if any

:: Delete target folder if found
if exist "%PROJECT%\target" (
docker run --rm -i -v "%PROJECT%:/src" alpine:3.6 rm -rf /src/target
)

:: Structure
docker run --rm -i -v "%PROJECT%:/src" -v "%PROJECT%\target:/target" difi/vefa-structure:0.6.1

:: Testing validation rules
docker run --rm -i -v "%PROJECT%:/src" anskaffelser/validator:2.1.0 build -x -t -n eu.peppol.poacc.upgrade.v3 -a rules -target target/validator-test /src

:: Schematron
for %%s in ("%PROJECT%\rules\sch\*.sch") do (
docker run --rm -i -v "%PROJECT%:/src" -v "%PROJECT%\target\schematron:/target" klakegg/schematron prepare /src/rules/sch/%%~nxs /target/%%~nxs
)

docker run --rm -i -v "%PROJECT%\target\site\files:/src" alpine:3.6 rm -rf /src/PEPPOLBIS-Upgrade-Schematron.zip
docker run --rm -i -v "%PROJECT%\target\schematron:/src" -v "%PROJECT%\target\site\files:/target" -w /src kramos/alpine-zip -r /target/PEPPOLBIS-Upgrade-Schematron.zip .

:: Example files
docker run --rm -i -v "%PROJECT%\target\site\files:/src" alpine:3.6 rm -rf /src/PEPPOLBIS-Examples.zip
docker run --rm -i -v "%PROJECT%\rules\examples:/src" -v "%PROJECT%\target\site\files:/target" -w /src kramos/alpine-zip -r /target/PEPPOLBIS-Examples.zip .

:: Guides
docker run --rm -i -v "%PROJECT%:/documents" -v "%PROJECT%\target:/target" difi/asciidoctor

:: Fix ownership (Windows doesn't use the same concept of user/group ownership, so this part is usually not necessary)
:: You can skip this part or just leave it for Unix-like environments using Docker.

endlocal
pause
2 changes: 2 additions & 0 deletions guides/profiles/28-ordering/process/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,6 @@ include::use-case4.adoc[]

include::use-case5.adoc[]

include::use-case6.adoc[]

:leveloffset: -1
39 changes: 39 additions & 0 deletions guides/profiles/28-ordering/process/use-case6.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
[[use-case-6-consignment-order]]
= Use case 6 – Vendor-managed inventory with consignment ordering

This use case describes a scenario where the buyer has an on-premise inventory that is regularly refilled and managed by the seller. When items are withdrawn from the inventory, a consignment order is automatically sent to the seller.

[cols="1s,5",options="header"]
|====
|Use Case number
|6

|Use Case Name
|Vendor-managed inventory with consignment ordering

|Use Case Description
|A hospital is using a vendor-managed inventory. A consigment order is issued by they buyer when items are withdrawn.

|Parties involved
|Buyer +
Seller +


|Assumptions
|The buyer has an inventory which is managed by the seller. The seller keeps track on available quantity and replenish when necessary. +

|The flow
|The buyer withdraws 10 boxes of surgical gloves from the inventory. +
The buyer registers the purchase by scanning the barcodes of the boxes. +
A consignment order is automatically issued (with type code 227) and is sent to the seller. +
The seller receives the order and sends an order response with an acknowledgment. +
The seller updates the record of available quantity.

|Result
|The buyer uses the withdrawn items. +
The seller has an updated record of available quantity. +
If the invoice has an order reference, the invoice can be matched automatically.

|XML example file
|See Appendix A for a sample file illustrating Use Case 6 in the download section on the main page.
|====
2 changes: 2 additions & 0 deletions guides/profiles/3-order-only/process/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,6 @@ include::use-case4.adoc[]

include::use-case5.adoc[]

include::use-case6.adoc[]

:leveloffset: -1
39 changes: 39 additions & 0 deletions guides/profiles/3-order-only/process/use-case6.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
[[use-case-6-consignment-order]]
= Use case 6 – Vendor-managed inventory with consignment ordering

This use case describes a scenario where the buyer has an on-premise inventory that is regularly refilled and managed by the seller. When items are withdrawn from the inventory, a consignment order is automatically sent to the seller.

[cols="1s,5",options="header"]
|====
|Use Case number
|6

|Use Case Name
|Vendor-managed inventory with consignment ordering

|Use Case Description
|A hospital is using a vendor-managed inventory. A consigment order is issued by they buyer when items are withdrawn.

|Parties involved
|Buyer +
Seller +


|Assumptions
|The buyer has an inventory which is managed by the seller. The seller keeps track on available quantity and replenish when necessary +

|The flow
|The buyer withdraws 10 boxes of surgical gloves from the inventory. +
The buyer registers the purchase by scanning the barcodes of the boxes. +
A consignment order is automatically issued (with type code 227) and is sent to the seller. +
The seller receives the order. +
The seller updates the record of available quantity.

|Result
|The buyer uses the withdrawn items. +
The seller has an updated record of available quantity. +
If the invoice has an order reference, the invoice can be matched automatically.

|XML example file
|See Appendix A for a sample file illustrating Use Case 6 in the download section on the main page.
|====
4 changes: 4 additions & 0 deletions guides/profiles/30-despatchadvice/principles/parties.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ a|
*(UBL:OriginatorCustomerParty)*

|The party who will eventually receive and consume the goods and on whose behalf the buyer makes the purchase.

*Delivery party*
*(cac:Delivery/cac:DeliveryParty)*
|A unit to where the consignee forwards the goods. A final delivery point.
|====

The diagram below shows the roles in the fulfillment process.
Expand Down
2 changes: 2 additions & 0 deletions guides/release-notes/main.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ IMPORTANT: Changes in code lists are also reflected by changes in the validation

:leveloffset: +1

include::v3.0.14.adoc[]

include::v3.0.13.adoc[]

include::v3.0.12.adoc[]
Expand Down
6 changes: 4 additions & 2 deletions guides/release-notes/v3.0.14.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ Release date:: November 2024
== BIS documentation

* BIS Catalogue
** Added sample file and use case which describes consignment orders and vendor-managed inventory for Order Only and Ordering BIS.

* BIS Ordering and Order Only
** Added sample file and use case which describes consignment orders and vendor-managed inventory


== Changes to syntax
* Order transaction (T01)
** Added optional element ID to AdditionalItemProperty with corresponding update in Use Case 4.
Expand All @@ -26,9 +26,11 @@ Release date:: November 2024
** Added optional element ID to AdditionalItemProperty .
* Catalogue transaction (T19)
** Added optional element ID to AdditionalItemProperty with corresponding update in Use Case 5.
* Punchout transaction (T77)
Add ”cac:DocumentReference” to Certificate.
this may contain vital information regarding the label and has a simular function as in Catalogue.

== Changes to code lists and validation artefacts
* Added new codelist with code values SSCC (Serial Shipping Container Code) and ZZZ (Mutually defined) to the optional attribute that indicates the type/scheme for Transport handling unit identifier (in Despatch Advice)

== Other

6 changes: 6 additions & 0 deletions project.xml
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,12 @@
<Type>CodeList-1</Type>
<Path>structure/codelist/StatusReason.xml</Path>
</Resource>
<Resource>
<Type>CodeList-1</Type>
<Path>structure/codelist/TransportHandlingUnitIDschemeID.xml</Path>
</Resource>


<!-- Files -->
<Resource>
<Type>native:File</Type>
Expand Down
99 changes: 99 additions & 0 deletions rules/examples/Order use cases/UC6_Order.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<Order xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Order-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:CustomizationID>urn:fdc:peppol.eu:poacc:trns:order:3</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:poacc:bis:order_only:3</cbc:ProfileID>
<cbc:ID>1</cbc:ID>
<cbc:IssueDate>2024-08-28</cbc:IssueDate>
<cbc:IssueTime>05:10:10</cbc:IssueTime>
<cbc:OrderTypeCode>227</cbc:OrderTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cac:ValidityPeriod>
<cbc:EndDate>2024-08-28</cbc:EndDate>
</cac:ValidityPeriod>
<cac:Contract>
<cbc:ID>C1</cbc:ID>
</cac:Contract>
<cac:BuyerCustomerParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeID="0088">7300010000001</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>City Hospital</cbc:Name>
</cac:PartyName>
<cac:PartyLegalEntity>
<cbc:RegistrationName>City Hospital 345433</cbc:RegistrationName>
<cbc:CompanyID schemeID="0088">7300010000001</cbc:CompanyID>
<cac:RegistrationAddress>
<cbc:CityName>Eurocity</cbc:CityName>
<cac:Country>
<cbc:IdentificationCode>SE</cbc:IdentificationCode>
</cac:Country>
</cac:RegistrationAddress>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Martin Foggerty</cbc:Name>
<cbc:Telephone>+46555785488</cbc:Telephone>
<cbc:ElectronicMail>[email protected]</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:BuyerCustomerParty>
<cac:SellerSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="0192">987654325</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeID="0192">987654325</cbc:ID>
</cac:PartyIdentification>
<cac:PostalAddress>
<cbc:StreetName>Harbour street</cbc:StreetName>
<cbc:AdditionalStreetName>Dock 45</cbc:AdditionalStreetName>
<cbc:CityName>Bergen</cbc:CityName>
<cbc:PostalZone>5005</cbc:PostalZone>
<cbc:CountrySubentity>Region West</cbc:CountrySubentity>
<cac:AddressLine>
<cbc:Line>Gate 34</cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>NO</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>The Supplier AB</cbc:RegistrationName>
</cac:PartyLegalEntity>
</cac:Party>
</cac:SellerSupplierParty>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">100</cbc:TaxAmount>
</cac:TaxTotal>
<cac:AnticipatedMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">400</cbc:LineExtensionAmount>
<cbc:PayableAmount currencyID="EUR">500</cbc:PayableAmount>
</cac:AnticipatedMonetaryTotal>
<cac:OrderLine>
<cac:LineItem>
<cbc:ID>1</cbc:ID>
<cbc:Quantity unitCode="NAR">10</cbc:Quantity>
<cbc:LineExtensionAmount currencyID="EUR">400</cbc:LineExtensionAmount>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">40</cbc:PriceAmount>
</cac:Price>
<cac:Item>
<cbc:Name>Surgical gloves, box of 100 pairs</cbc:Name>
<cac:StandardItemIdentification>
<cbc:ID schemeID="0160">05704066204093</cbc:ID>
</cac:StandardItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
</cac:LineItem>
</cac:OrderLine>
</Order>
12 changes: 8 additions & 4 deletions rules/examples/PunchOut_Example.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="ISO-8859-1"?>

<Catalogue xmlns="urn:oasis:names:specification:ubl:schema:xsd:Catalogue-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:CustomizationID>urn:fdc:peppol.eu:poacc:trns:punch_out:3</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:poacc:bis:punch_out:3</cbc:ProfileID>
<cbc:ID>1387</cbc:ID>
Expand Down Expand Up @@ -84,7 +84,8 @@
<cbc:ID>12345</cbc:ID>

<cac:Attachment>
<cbc:EmbeddedDocumentBinaryObject mimeCode="image/png" filename="image1.png">UjBsR09EbGhjZ0dTQUxNQUFBUUNBRU1tQ1p0dU1GUXhEUzhi</cbc:EmbeddedDocumentBinaryObject>
<cbc:EmbeddedDocumentBinaryObject mimeCode="image/png" filename="image1.png">
UjBsR09EbGhjZ0dTQUxNQUFBUUNBRU1tQ1p0dU1GUXhEUzhi</cbc:EmbeddedDocumentBinaryObject>
</cac:Attachment>
</cac:ItemSpecificationDocumentReference>
<cac:OriginCountry>
Expand Down Expand Up @@ -124,6 +125,9 @@
<cbc:Name>NA</cbc:Name>
</cac:PartyName>
</cac:IssuerParty>
<cac:DocumentReference>
<cbc:ID>https://someref/to/123450</cbc:ID>
</cac:DocumentReference>
</cac:Certificate>
</cac:Item>
</cac:CatalogueLine>
Expand Down Expand Up @@ -167,4 +171,4 @@
</cac:AdditionalItemProperty>
</cac:Item>
</cac:CatalogueLine>
</Catalogue>
</Catalogue>
21 changes: 21 additions & 0 deletions structure/codelist/TransportHandlingUnitIDschemeID.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<CodeList xmlns="urn:fdc:difi.no:2017:vefa:structure:CodeList-1">

<Title>Transport Handling Unit ID scheme(openPEPPOL)</Title>
<Identifier>TransportHandlingUnitIDschemID</Identifier>
<Version>1.0</Version>
<Agency>OpenPEPPOL</Agency>
<Subset>OpenPEPPOL</Subset>

<Code>
<Id>SSCC</Id>
<Name>Serial Shipping Container Code</Name>
<Description>Code used to identify a logistic unit</Description>
</Code>
<Code>
<Id>ZZZ</Id>
<Name>Mutually defined</Name>
<Description>Identifier scheme which is mutually defined by the trading partners</Description>
</Code>

</CodeList>
Loading

0 comments on commit 37d91f5

Please sign in to comment.