The PEPPOL Business Interoperability Specification, “BIS” from here on after, has been developed by the OpenPEPPOL AISBL Pre Award Coordinating Community and is published as part of the PEPPOL specifications.
1. Principle and prerequisites
1.1. Scope
This guide aims to provide insight into transaction details for the transaction model T005 - Tender 1.2. The transaction description is meant to be a standalone description to be used as a part of one or more procurement profiles. It describes syntax mappings, requirements, rules and example.
The transactions, specified in this document are intended to be exchanged between the tendering systems of economic operators and contracting bodies. This means that it is expected that the parties have connected their systems to the internet, and that they have middleware in place to enable them to send and receive the transactions in a secure way, using an agreed syntax.
The content model of the transactions can also be used in procurement platforms or notification platforms, so that these platforms as well as procurement systems of economic operators and contracting bodies are based on the same information and process models, which makes them more interoperable. Even if platforms are not technically interoperable, the content model facilitates understanding the tendering documents and to participate in the tendering process.
1.2. Parties and roles
The following parties participate as business partners in this transaction, acting in the roles as defined below
Party | Description | Example of roles |
---|---|---|
Customer |
The customer is the legal person or organization who is in demand of a product, service or works. |
Buyer, consignee, debtor, contracting body |
Supplier |
The supplier is the legal person or organization who provides a product, service or works. |
Seller, consignor, creditor, economic operator |
Role | Description |
---|---|
Contracting body |
The contracting authority or contracting entity who is buying supplies, services or tendering works. |
Economic operator |
Party participating with a bid in a procurement process to sell goods, services or works. |
2. Transaction business and information requirements
The following tables describe the transaction business and information requirements of "T005 - Tender 1.2", it inherits from CEN WS/BII 3 "Trdm090 Tender"(CWA 17027-218).
ID | Requirement |
---|---|
tbr90-001 |
The CEN/BII profile and transaction names and versions shall be identified. |
tbr90-002 |
The economic operator shall be identified. |
tbr90-003 |
The contracting body shall be identified. |
tbr90-004 |
The sending date and time (and time zone) of the message shall be stated. |
tbr90-005 |
The message shall have a message ID and may refer to message ID’s of previously submitted tenders. |
tbr90-006 |
The message shall contain the following information about the business opportunity:
|
tbr90-007 |
The message shall contain either credentials issued by the Contracting Body, or the following information about the business:
|
tbr90-008 |
The message shall contain the following information about the tender:
|
tbr90-009 |
The message shall contain one or more (unstructured) tender documents. |
tbr90-010 |
The message may contain the following information about the tender:
|
tbr90-011 |
The message shall contain metadata of each of the documents that are attached to the tender:
|
tbr90-012 |
The message shall identify the tender documents. It may identify the language of the packaged documents. |
tbr90-013 |
If imposed by the contracting body, the tender documents must be signed as specified by the contracting body |
3. Data model: Syntax mapping and XML example
3.1. Data model and syntax mapping
The data model and syntax mapping for Tender can be found at Syntax mapping for T005 - Tender 1.2. The data model and syntax mapping explains how to use the UBL (or an underlying syntax) to support the Tender information transaction requirements. It provides the syntax mappings from each UBL (or syntax) element to the Tender information elements of this transaction.
3.2. XML example
The following XML example illustrates the structure of an instance of T005 - Tender 1.2.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Tender xmlns="urn:oasis:names:specification:ubl:schema:xsd:Tender-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2">
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
<cbc:CustomizationID>urn:fdc:peppol.eu:prac:trns:t005:1.2</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:prac:bis:p003:1.2</cbc:ProfileID>
<cbc:ID schemeURI="urn:uuid">243a177f-e4e9-4fc8-b97e-bb1a950dd8f8</cbc:ID>
<cbc:ContractFolderID>765a9937-16d5-4513-92b4-cc9800925951</cbc:ContractFolderID>
<cbc:IssueDate>2016-11-24</cbc:IssueDate>
<cbc:IssueTime>11:10:04+01:00</cbc:IssueTime>
<cac:DocumentReference>
<cbc:ID>7f38107c-d794-478f-96ff-cc0cc570a76b</cbc:ID>
<cbc:DocumentTypeCode listID="UNCL1001">311</cbc:DocumentTypeCode>
<cbc:LocaleCode listID="ISO639-1">NL</cbc:LocaleCode>
<cbc:VersionID>1</cbc:VersionID>
<cbc:DocumentDescription>Call forTenders reference</cbc:DocumentDescription>
</cac:DocumentReference>
<cac:DocumentReference>
<cbc:ID>507</cbc:ID>
<cbc:DocumentTypeCode listID="UNCL1001">310</cbc:DocumentTypeCode>
<cbc:DocumentDescription>Offer-quotation-v1.pdf.p7m</cbc:DocumentDescription>
<cac:Attachment>
<cac:ExternalReference>
<cbc:DocumentHash>72182b98a9dab9a553ccf161ea049d41337e51dfdf74ddc8ab7b68e7cffb7d1b</cbc:DocumentHash>
<cbc:HashAlgorithmMethod>http://www.w3.org/2001/04/xmlenc#sha256</cbc:HashAlgorithmMethod>
<cbc:MimeCode>application/pdf</cbc:MimeCode>
<cbc:FileName>507-20161124 - eTendering SBDH for UBL v4.2.pdf.p7m</cbc:FileName>
</cac:ExternalReference>
</cac:Attachment>
</cac:DocumentReference>
<cac:DocumentReference>
<cbc:ID>506</cbc:ID>
<cbc:DocumentTypeCode listID="UNCL1001">310</cbc:DocumentTypeCode>
<cbc:DocumentDescription>Offer-quotation-org-v1.docx.p7m</cbc:DocumentDescription>
<cac:Attachment>
<cac:ExternalReference>
<cbc:DocumentHash>72182b98a9dab9a553ccf161ea049d41337e51dfdf74ddc8ab7b68e7cffb7d1b</cbc:DocumentHash>
<cbc:HashAlgorithmMethod>http://www.w3.org/2001/04/xmlenc#sha256</cbc:HashAlgorithmMethod>
<cbc:MimeCode>application/msword</cbc:MimeCode>
<cbc:FileName>506-Offer-quotation-v1.docx.p7m</cbc:FileName>
</cac:ExternalReference>
</cac:Attachment>
</cac:DocumentReference>
<cac:DocumentReference>
<cbc:ID>E-12345</cbc:ID>
<cbc:DocumentTypeCode listID="UNCL1001">916</cbc:DocumentTypeCode> (1)
<cbc:DocumentDescription>ESPD Response</cbc:DocumentDescription>(2)
<cac:Attachment>
<cac:ExternalReference>
<cbc:DocumentHash>8BDD898034BB2DC7E246C6C08115DA292D84EBF23075610B4AB14CBABFB2DA0F</cbc:DocumentHash>
<cbc:HashAlgorithmMethod>http://www.w3.org/2001/04/xmlenc#sha256</cbc:HashAlgorithmMethod>
<cbc:MimeCode>application/xml</cbc:MimeCode>
<cbc:FileName>ESPD_response.xml</cbc:FileName>(3)
</cac:ExternalReference>
</cac:Attachment>
</cac:DocumentReference>
<cac:TendererParty>
<cbc:EndpointID schemeID="9946">500820007</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeID="0088">7300010000001</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Dutch Tulip Ltd.</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>null</cbc:StreetName>
<cbc:CityName>not a city</cbc:CityName>
<cac:Country>
<cbc:IdentificationCode listID="ISO3166-1:Alpha2">NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:CompanyLegalForm>NV beleggingsmaatschappij met veranderlijk kapitaal blijkens statuten structuurvennootschap</cbc:CompanyLegalForm>
<cac:RegistrationAddress>
<cac:Country>
<cbc:IdentificationCode listID="ISO3166-1:Alpha2">NL</cbc:IdentificationCode>
</cac:Country>
</cac:RegistrationAddress>
</cac:PartyLegalEntity>
</cac:TendererParty>
<cac:ContractingParty>
<cac:Party>
<cbc:EndpointID schemeID="9930">DE122268496</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeID="0204">991-1234512345-06</cbc:ID> (1)
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Beschaffungsamt des BMI</cbc:Name>
</cac:PartyName>
</cac:Party>
</cac:ContractingParty>
<cac:TenderedProject>
<cac:ProcurementProjectLot>
<cbc:ID>NA</cbc:ID>
</cac:ProcurementProjectLot>
</cac:TenderedProject>
</Tender>
4. Code lists
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 transactions.
Information elements that are ruled by codelists in this transaction are also described in the Syntax mapping for Tender: Syntax mapping for T005 - Tender 1.2 |
The following code lists for coded elements and identifier schemes are used by the transaction.
4.1. Code list for elements
4.1.1. Document language
Qualifier |
|
---|---|
Document location |
|
Source codelist |
4.1.2. Country code
Qualifier |
|
---|---|
Document location |
|
Source codelist |
Use Alpha-2 codes from ISO3166 |
4.2. Code list for identifier schemes
Business Term | Allowed Scheme | Applicable Xpath |
---|---|---|
Economic operator electronic address identifier |
schemeID attribute is mandatory and must use values from EAS codes |
cac:TendererParty/cbc:EndpointID/@schemeID |
Contracting body electronic address identifier |
schemeID attribute is mandatory and must use values from EAS codes |
cac:ContractingParty/cac:Party/cbc:EndpointID/@schemeID |
Economic operator identifier |
schemeID attribute is mandatory and must use values from ICD codes |
cac:TendererParty/cac:PartyIdentification/cbc:ID/@schemeID |
Contracting body identifier |
schemeID attribute is mandatory and must use values from ICD codes |
cac:ContractingParty/cac:Party/cac:PartyIdentification/cbc:ID/@schemeID |
5. PEPPOL Identifiers
PEPPOL has defined a Policy for use of Identifiers 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 e-Tendering pilot adopts and extends the PEPPOL Policy in the following ways:
5.1. Party Identifiers used in business (UBL) documents
All party identifiers (cac:PartyIdentification/cbc:ID) have an optional scheme identifier attribute '@schemeID'. If used, the value shall be chosen from the code list ICD codes.
<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. Electronic address identifier used in business (UBL) documents
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.
<cbc:EndpointID schemeID="0184">DK87654321</cbc:EndpointID> (1)
1 | schemeID attribute is mandatory and must use values from EAS codes |
5.3. Document Identifiers used in business (UBL) documents
5.3.1. UBL Version ID
This transaction model is using the UBL 2.2 syntax. The namespace of the XML-message does only communicate the major version number. Since it is important for the receiver to also know what minor version of the syntax that is used, the element UBLVersionID must be stated with the value 2.2:
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
5.3.2. Profile ID
ProfileID identifies what business process a given message is part of, and are connected to one business process, and may contain multiple document types.
Valid profile identifiers are described in the Syntax mapping for Tender - Syntax mapping for T005 - Tender 1.2 - and the corresponding BIS document, see Main documentation site.
5.3.3. Customization ID
The PEPPOL Customization ID identifies the specification of content and rules that apply to the transaction. Profiles are connected to one business process (ProfileID), and may contain multiple transactions. Valid document instances shall contain corresponding ProfileID and CustomizationID.
CustomizationID is a string without spaces. Which customization identification should be used, is based on which transaction is sent. |
For implementers, please note that the process identifiers in the document instance MUST correspond to the SMP process identifier. |
TransactionID | Transaction name | Short Description | cbc:CustomizationID |
---|---|---|---|
T005 |
Tender |
EO sends his tender for the procurement project to CA |
urn:fdc:peppol.eu:prac:trns:t005:1.2 |
6. Descriptions of selected parts of the transaction
6.1. Parties
6.1.1. Economic operator
The economic operator is the party submitting the tender, and is any natural or legal person or public entity or group of such persons and/or entities, including any temporary association of undertakings, which offers the execution of works and/or a work, the supply of products or the provision of services on the market.
<cac:TendererParty>
<cbc:EndpointID schemeID="9946">500820007</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeID="0088">7300010000001</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Dutch Tulip Ltd.</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>null</cbc:StreetName>
<cbc:CityName>not a city</cbc:CityName>
<cac:Country>
<cbc:IdentificationCode listID="ISO3166-1:Alpha2">NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:CompanyLegalForm>NV beleggingsmaatschappij met veranderlijk kapitaal blijkens statuten structuurvennootschap</cbc:CompanyLegalForm>
<cac:RegistrationAddress>
<cac:Country>
<cbc:IdentificationCode listID="ISO3166-1:Alpha2">NL</cbc:IdentificationCode>
</cac:Country>
</cac:RegistrationAddress>
</cac:PartyLegalEntity>
</cac:TendererParty>
6.1.2. Contracting Body
The contracting body is the contracting authority or contracting entity who is buying supplies, services or tendering works.
<cac:ContractingParty>
<cac:Party>
<cbc:EndpointID schemeID="9930">DE122268496</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeID="0204">991-1234512345-06</cbc:ID> (1)
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Beschaffungsamt des BMI</cbc:Name>
</cac:PartyName>
</cac:Party>
</cac:ContractingParty>
1 | The only required element is the cac:PartyIdentification/cbc:ID , but it is recommended to inform the cbc:EndpointID and the cbc:Name as depicted in the example above. |
6.2. Document references
6.2.1. Procurement project identifier
The identifier specified by the buyer as a reference number for all documents in the procurement process. It is also known as procurement project identifier, procurement reference number or contract folder identifier. In UBL this element is mapped to the cbc:ContractFolderID class.
<cbc:ContractFolderID>765a9937-16d5-4513-92b4-cc9800925951</cbc:ContractFolderID>
6.2.2. Call for tender reference
A reference to the call for tender as issued by the contracting body. Creates a link between the tender and its call for tender. In the UBL mapping this is represented using the cac:DocumentReference class.
<cac:DocumentReference>
<cbc:ID>7f38107c-d794-478f-96ff-cc0cc570a76b</cbc:ID>
<cbc:DocumentTypeCode listID="UNCL1001">311</cbc:DocumentTypeCode>
<cbc:LocaleCode listID="ISO639-1">NL</cbc:LocaleCode>
<cbc:VersionID>1</cbc:VersionID>
<cbc:DocumentDescription>Call forTenders reference</cbc:DocumentDescription>
</cac:DocumentReference>
6.2.3. Attached documents and tender encryption
The class cac:DocumentReference is used to attach the tender documents or their references. If the Call For Tenders (CfT) business document provided an encryption certificate, the tender documents MUST be encrypted by the economic operator using that certificate.
The example below shows the attached and encrypted tender document and its hash and algorithm. Encrypted tender documents must use the file extension .p7m in <cbc:Filename></cbc:Filename>. The attached tender document in this example is an unstructured .pdf file.
<cac:DocumentReference>
<cbc:ID>507</cbc:ID>
<cbc:DocumentTypeCode listID="UNCL1001">310</cbc:DocumentTypeCode>
<cbc:DocumentDescription>Offer-quotation-v1.pdf.p7m</cbc:DocumentDescription>
<cac:Attachment>
<cac:ExternalReference>
<cbc:DocumentHash>72182b98a9dab9a553ccf161ea049d41337e51dfdf74ddc8ab7b68e7cffb7d1b</cbc:DocumentHash>
<cbc:HashAlgorithmMethod>http://www.w3.org/2001/04/xmlenc#sha256</cbc:HashAlgorithmMethod>
<cbc:MimeCode>application/pdf</cbc:MimeCode>
<cbc:FileName>507-20161124 - eTendering SBDH for UBL v4.2.pdf.p7m</cbc:FileName>
</cac:ExternalReference>
</cac:Attachment>
</cac:DocumentReference>
6.2.4. Document Type Code
The type of business document must also be included in the document reference element. Document Type Code is coded according to code list 1001 issued by UN/CEFACT. For a complete list of all the document types, see UNCL 1001. In this message the following codes are used:
-
310 (Offer/quotation): Tender reference
-
311 (Request for quote): Call for tender reference
-
916 (Related document): ESPD response
<cbc:DocumentTypeCode listID="UNCL1001">311</cbc:DocumentTypeCode>
6.2.5. ESPD response
ESPD response can be given as either structured or unstructured information, based on what is asked for in the call for tenders. The transaction T005 does not prescribe a specific ESPD version to be used. The use of other ESPD versions than those used in T004 may result into incompatibilities. Thus, it should be described by the Contracting authority in the Tendering Documents which ESPD version is used and how it can be returned by Economic Operators.
<cac:DocumentReference>
<cbc:ID>E-12345</cbc:ID>
<cbc:DocumentTypeCode listID="UNCL1001">916</cbc:DocumentTypeCode> (1)
<cbc:DocumentDescription>ESPD Response</cbc:DocumentDescription>(2)
<cac:Attachment>
<cac:ExternalReference>
<cbc:DocumentHash>8BDD898034BB2DC7E246C6C08115DA292D84EBF23075610B4AB14CBABFB2DA0F</cbc:DocumentHash>
<cbc:HashAlgorithmMethod>http://www.w3.org/2001/04/xmlenc#sha256</cbc:HashAlgorithmMethod>
<cbc:MimeCode>application/xml</cbc:MimeCode>
<cbc:FileName>ESPD_response.xml</cbc:FileName>(3)
</cac:ExternalReference>
</cac:Attachment>
</cac:DocumentReference>
1 | Codevalue used for ESPD response must be 916 (Related document) |
2 | DocumentDescription should be "ESPD Response" |
3 | Name of the structured ESPD file |
6.3. Date and time
In the tender both the issue date and time must be sent. The issue date and time is indicative. The contracting authority shall reply to the tender document with a tender receipt notification where the actual registration date and time for the tender will be indicated.
Issue date is xs:date data type, and the date is specified as "YYYY-MM-DD" where:
-
YYYY - four digit year
-
MM - two digit month(01 to 12)
-
DD - two digit day(0)
Issue time is xs:time data type, and the time is specified as "hh:mm:ss" where:
-
hh - two digits of hour (00 to 23) (am/pm NOT allowed).
-
mm - two digits of minute(00 to 59)
-
ss - two digits of second(00 to 59)
-
TZD - time zone designator (Z or +hh:mm or -hh:mm)
The issue time must specify the time zone. |
<cbc:IssueDate>2016-11-24</cbc:IssueDate>
<cbc:IssueTime>11:10:04+01:00</cbc:IssueTime>