The PEPPOL Business Interoperability Specification, “BIS” from here on after, has been developed by the OpenPEPPOL AISBL Post Award Coordinating Community and is published as part of the PEPPOL specifications.

Statement of copyright

This PEPPOL Business Interoperability Specification (BIS) document is based on the CEN CWA prepared by the BII workshop specified in the introduction below. The original CEN CWA document contains the following copyright notice which still applies:

© 2012 CEN All rights of exploitation in any form and by any means reserved worldwide for CEN national Members.

The CEN CWA documents and profiles prepared by the BII workshop are not specific to a business area. Subject to agreement with CEN, customizations have been made by PEPPOL to establish the PEPPOL BIS, detailing and adding further guidance on the use of BII profiles.

OpenPEPPOL AISBL holds the copyright in the customizations made to the original document. The customizations appear from the corresponding conformance statement which is attached to this document. For the purpose of national implementations, customizations covered by the conformance statement may be further refined and detailed by PEPPOL Authorities and/or other entities authorized by OpenPEPPOL AISBL, provided that interoperability with PEPPOL BIS is ensured. This PEPPOL BIS document may not be modified, re-distributed, sold or repackaged in any other way without the prior consent of CEN and/or OpenPEPPOL AISBL.

Link to main site of documentation

1. Introduction to OpenPeppol and BIS

This Peppol BIS (Business Interoperability Specification) is a result of work within BEAst Supply 4.0 Project and Peppol Logistics Incubation Project.

This BIS provides a set of specifications for implementing a Peppol business process. The document is concerned with clarifying requirements for ensuring interoperability of pan-European Public eProcurement and provides guidelines for supporting these requirements and how to implement them.

BII relationship
Figure 1. Relationship between BII profiles and Peppol BIS

1.1. Background and objective

The Peppol BIS provides a set of specifications for implementing Peppol business documents. The specifications enable any company to issue electronic documents that fulfill legal and business processing requirement within the European Union and the EEA. It supports a subset of information that is used by most industries and enables users to issue documents (invoices, orders, despatch advices, etc…) that are valid for cross border trade within the European Union and the EEA.

The purpose of this document is to describe a common format for the despatch advice message in the European market, and to facilitate an efficient implementation and increased use of electronic collaboration regarding the fulfillment process based on this format.

1.2. Audience

The audience for this document is organizations wishing to be PEPPOL enabled for exchanging electronic business documents, and/or their ICT-suppliers.

These organizations may be:

  • Service providers

  • Contracting Authorities

  • Economic Operators

  • Software Developers

More specifically it is addressed towards the following roles:

  • ICT Architects

  • ICT Developers

  • Business Experts

For further information, please see PEPPOL BIS common text and introduction.

2. Principles and prerequisites

This chapter describes the principles and assumptions that underlie the use of the Logistics Weight statement.

2.1. Business process in scope

This Peppol BIS supports a process for a supplier to send a Weight statement to a buyer with information about the weight of the shipment. It is intended to support transmission of electronic messages for processing in automated processes by the receiver.

The main activity supported by this BIS is:

  • Weight measure The measure of the weight of the shipment and exchange of weight information between sender and receiver.

2.2. Parties and roles

The table below gives the definitions of the parties and roles of the weighing process.

Parties Definition

Sender

The Sender is the party who is responsible for sending the weighing statement (e.g. Weighing Station, Shipper, Freight Forwarder, Carrier, …​).

Receiver

The Receiver is the party receiving this weight statement (e.g. Carrier, Terminal Operator, …​).

Weighing party

Defines the role that of the party executing the weight measure (e.g. Weighing Station).

Shipper party

The party playing the role of the Shipper (BCO, FF or NVOCC) who is responsible for the VGM (e.g. according the SOLAS Convention).

The diagram below shows the roles in the weighing process.

image

3. Process and typical scenarios

3.1. Legend for BPMN diagrams

The diagrams are expressed in the BPMN notation. The diagram below serves as an explanation for the diagrams used in the process descriptions.

legend3

The following section and diagrams show the choreography of the business process involving various parties.

3.2. Weighing process

The weighing process involves the sender and receiver party and the weighing party executing the weight measure. The Weight statement is usually sent before the Despatch advice.

See Examples files Appendix A for an example of a Weight statement file.

image

4. Semantic datatypes

Semantic data types are used to bridge the gap between the semantic concepts expressed by the information elements and the technical implementation. The semantic data types define the allowed value domain for the content, and any additional information components (attributes) needed in order to ensure its precise interpretation.

4.1. Primitive types

Semantic data type content may be of the following primitive types. These primitive types were taken from ISO 15000-5:2014, Appendix A.

Primitive type Definition

Binary

A set of finite-length sequences of binary digits.

Date

Time point representing a calendar day on a time scale consisting of an origin and a succession of calendar ISO 8601:2004.

Decimal

A subset of the real numbers, which can be represented by decimal numerals.

String

A finite sequence of characters.

4.2. Semantic data types

The different semantic data types are described in the tables below, where various features such as attributes, format, and decimals as well as the basic type are defined for each semantic data type. They are based on ISO 15000-5:2014.

When used in an instance document, each data element will contain data. In the below tables this is identified as the “content”. Whenever a business term is used this term shall always have content and therefore the content is always mandatory.

4.2.1. Amount

An amount states a numerical monetary value. The currency of the amount is defined as a separate business term.

Amount is floating up to two fraction digits.
Component Use Primitive Type Example

Content

Mandatory

Decimal

10000.25

4.2.2. Price Amount

A price amount states a numerical monetary amount value for data elements that contain item prices that may be multiplied by item quantities. The currency of the amount is defined as a separate business term.

Unit price amount does not set restrictions on number of decimals, as contrast to the Amount type
Component Use Primitive Type Example

Content

Mandatory

Decimal

10000.1234

4.2.3. Percentage

Percentages are given as fractions of a hundred (per cent) e.g. the value 34.78 % in percentage terms is given as 34.78.

No restriction on number of decimals for percentages.
Component Use Primitive Type Example

Content

Mandatory

Decimal

34.7812

4.2.4. Quantity

Quantities are used to state a number of units such as for items. The code for the Unit of Measure is defined as a separate business term.

No restriction on number of decimals for quantities.
Component Use Primitive Type Example

Content

Mandatory

Decimal

10000.1234

4.2.5. Code

Codes are used to specify allowed values in elements as well as for lists of options. Code is different from Identifier in that allowed values have standardized meanings that can be known by the recipient.

Codes shall be entered exactly as shown in the selected code list
Component Use Primitive Type Example

Content

Mandatory

String

Abc123

4.2.6. Identifier

Identifiers (IDs) are keys that are issued by the sender or recipient of a document or by a third party.

The use of the attributes is specified for each information element.
Component Use Primitive Type Example

Content

Mandatory

String

abc:123-DEF

Scheme identifier

Conditional

String

0088

Scheme version identifier

Conditional

String

1.0

4.2.7. Date

Dates shall be in accordance to the “Calendar date complete representation” as specified by ISO 8601:2004, format YYYY-MM-DD.

Dates shall not include timezone information.
Table 1. EN 16931_ Date. Type
Component Use Primitive Type Example

Content

Mandatory

Date

2017-12-01

4.2.8. Time

Time shall be in accordance to the “Extended time format” as specified by ISO 8601:2004, format [hh]:[mm]:[ss].

Time shall not include timezone information. Decimal fraction on seconds SHALL not be used.
Table 2. EN 16931_ Date. Type
Component Use Primitive Type Example

Content

Mandatory

Date

09:30:12

4.2.9. Document Reference

Document Reference Types are identifiers that were assigned to a document or document line.

Table 3. Document Reference. Type
Component Use Primitive Type Example

Content

Mandatory

String

abc:123-DEF

4.2.10. Text

Text is the actual wording of anything written or printed. Line breaks in the text may be present, and any line breaks should be preserved and respected by the receiver’s system

Component Use Primitive Type Example

Content

Mandatory

String

5% allowance when paid within 30 days

4.2.11. Binary objects

Binary objects can be used to describe files which are transmitted together with the business document. Attachments shall be transmitted together with the business document. The binary object has two supplementary components: a Mime Code, which specifies the Mime type of the attachment and a Filename that is provided by (or on behalf of) the sender of the business document.

Component Use Primitive Type Example

Content

Mandatory

Binary

QmFzZTY0IGNvbnRlbnQgZXhhbXBsZQ==

Mime Code

Mandatory

String

image/jpeg

Filename

Mandatory

String

drawing5.jpg

4.2.12. Boolean

Boolean indicators are used to specify the two allowed values, true or false. All elements of datatype Boolean, must have either true or false as their value.

Component Use Primitive Type Example

Content

Mandatory

String

true

5. Code lists

5.1. Code lists for coded elements

Any element with the semantic data type = code, can mandate the use of a specific code list (or a fixed value). The applicable code lists can be found in the Code list section. In this section, you can find the valid codes, their names and description, and also links to where the same code list is used elsewhere in the transaction, or in other PEPPOL BIS v3. documents.

5.2. Code list for identifiers

All party identifiers (cac:PartyIdentification/cbc:ID) and party legal registration identifier (cac:PartyLegalEntity/cbc:CompanyID) has an optional scheme identifier attribute (@schemeID). If used, the value shall be chosen from the code list ICD codes

Examples of usage in cac:PartyIdentification
<cac:PartyIdentification>
        <cbc:ID schemeID="0088">5790000435968</cbc:ID> (1)
</cac:PartyIdentification>
1 schemeID attribute is optional, but when used, the codes must be from ICD codes

5.2.2. Electronic address identifier scheme identifier

All electronic address identifiers (cbc:EndpointID/@schemeID) use the Electronic Address Scheme code list (EAS), maintained by CEF (CEF Code lists).

Valid values are found here: EAS codes.

Examples of usage in cbc:EndpointID
<cbc:EndpointID schemeID="0184">DK87654321</cbc:EndpointID> (1)
1 schemeID attribute is mandatory

6. Description of selected parts of the weight statement

6.1. Parties

The following parties/roles may be specified in the message. The same actor may play more than one role depending on the handling routine.

6.1.1. Sender (SenderParty)

The Sender is the party who sendes the weighing statement (e.g. Weighing Station, Shipper, Freight Forwarder, Carrier, …​).

Example:

<cac:SenderParty>
        <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
        <cac:PartyIdentification>
                <cbc:ID schemeID="0088">7300010000001</cbc:ID>
        </cac:PartyIdentification>
        <cac:PartyName>
                <cbc:Name>Weighing Solutions AB</cbc:Name>
        </cac:PartyName>
</cac:SenderParty>

6.1.2. Receiver (ReceiverParty)

The Receiver is the party receiving this weight statement (e.g. Carrier, Terminal Operator, …​).

Example:

<cac:ReceiverParty>
        <cbc:EndpointID schemeID="0088">1251513513245</cbc:EndpointID>
        <cac:PartyIdentification>
                <cbc:ID schemeID="0088">1251513513245</cbc:ID>
        </cac:PartyIdentification>
        <cac:PartyName>
                <cbc:Name>Transport Management Solutions AB</cbc:Name>
        </cac:PartyName>
</cac:ReceiverParty>

6.1.3. Weighing party (WeighingParty)

The Weighing party is the party executing the weight measure (e.g. Weighing Station).

The Weighing party is optional information in the Weight statement.

Example:

<cac:WeighingParty>
        <cac:PartyIdentification>
                <cbc:ID schemeID="0088">1234415341925</cbc:ID>
        </cac:PartyIdentification>
        <cac:PartyName>
                <cbc:Name>Gravel Pit Ltd.</cbc:Name>
        </cac:PartyName>
        <cac:PhysicalLocation>
                <cbc:ID>0114-40-019-a</cbc:ID>
                <cbc:Name>Townsend pit</cbc:Name>
        </cac:PhysicalLocation>
</cac:WeighingParty>

6.1.4. Shipper (ShipperParty)

The party playing the role of the Shipper (BCO, FF or NVOCC) who is responsible for the VGM (e.g. according the SOLAS Convention).

Example:

<cac:ShipperParty>
        <cac:PartyIdentification>
                <cbc:ID schemeID="0088">5790000435951</cbc:ID>
        </cac:PartyIdentification>
        <cac:PartyName>
                <cbc:Name>Tony's Trucks and Transport</cbc:Name>
        </cac:PartyName>
</cac:ShipperParty>

6.2. Weight and volume measurements

Information about the transport equipment weight or mass measurements on item level. The following measurements may be stated:

  • Gross weight - Weight (mass) of goods including packing but excluding the carrier’s equipment.

  • Net weight - Weight of goods including any packaging that normally going with the goods.

  • Net net weight - Weight (mass) of goods without any packaging.

  • Gross volume measure - The volume unadjusted for factors such as temperature or gravity.

  • Net volume measure - The volume after adjustment for factors such as temperature or gravity.

Example:

<cac:Shipment>
        <cbc:ID>NA</cbc:ID>
        <cac:GoodsItem>
                <cbc:ID>1</cbc:ID>
                <cac:Item>
                        <cbc:Name>Sortering 0/2 mm krossat bergmaterial CE-märkt enligt system 2+ för användning till asfalt.</cbc:Name>
                        <cac:BuyersItemIdentification>
                                <cbc:ID>KO2001030300</cbc:ID>
                        </cac:BuyersItemIdentification>
                        <cac:SellersItemIdentification>
                                <cbc:ID>17589683</cbc:ID>
                        </cac:SellersItemIdentification>
                        <cac:StandardItemIdentification>
                                <cbc:ID schemeID="0160">1234567891234</cbc:ID>
                        </cac:StandardItemIdentification>
                        <cac:CommodityClassification>
                                <cbc:ItemClassificationCode listID="ZZZ" listVersionID="3.0.2" name="SBMI">KO2012140200</cbc:ItemClassificationCode>
                        </cac:CommodityClassification>
                </cac:Item>
                <cac:MeasurementDimension>
                        <cbc:AttributeID>AAF</cbc:AttributeID>
                        <cbc:Measure unitCode="TNE">12.3</cbc:Measure>
                </cac:MeasurementDimension>
        </cac:GoodsItem>
</cac:Shipment>

6.3. Commodity classification

Here you can add classification of the item. It can be the classification for customs purpose, but also a classification of waste or other classifications.

Besides the classification code you need to provide information about the code in the attributes. In @listID you need to refer to a valid code in codelist UNCL7143. The selected @listID may need further information in @listVersionID and/or @name.

If there is no code in UNCL7143 that matches your requirements, you can use ZZZ. If you use ZZZ as @listID, then the real list ID (the codelist ID) is defined in the @name. The @listVersionID then becomes the version of @name.

Example - to classify the item according to the codelist over SBMI items:
<cac:CommodityClassification>
        <cbc:ItemClassificationCode listID="ZZZ" listVersionID="3.0.2" name="SBMI">KO2012140200</cbc:ItemClassificationCode>
</cac:CommodityClassification>

7. Peppol Identifiers

PEPPOL has defined a PEPPOL Policy for identifiers, policy 8 that specifies how to use identifiers in both its transport infrastructure and within the documents exchanged across that infrastructure. It also introduces principles for any identifiers used in the PEPPOL environment. The policies that apply to this BIS are the following:

7.1. Profiles and messages

All messages contains ProfileID and CustomizationID. ProfileID identifies what business process a given message is part of, and CustomizationID identifies the kind of message and the rules applied.

Profiles are connected to one business process, and may contain multiple document types. Valid document instances shall contain corresponding ProfileID and CustomizationID.

CustomizationID is a string without spaces. The list below contains spaces in CustomizationID to make them easier to read. Make sure to remove any spaces before use.

7.2. Customization and Profile identifiers

In the table below you will find the values to be used as the specification identifier and the business process type for this profile

Type Element cbc:CustomizationID Element cbc:ProfileID

Weight statement (Trdm122)

urn:fdc:peppol.eu:logistics:trns:weight_statement:1

urn:fdc:peppol.eu:logistics:bis:weight_statement:1

7.3. Namespaces

The Weight statement data model is bound to UBL 2.3 of the document type UBL Weight Statement 2.3. The target namespace for the UBL2.3 WeightStatement is:

urn:oasis:names:specification:ubl:schema:xsd:WeightStatement-2