Order items with additional services
In this use-case it is explained how to order a standard item with additional services using the Order message.

Introduction

Since SCSN focuses on low-volume, high-mix, and high-complexity supply chains, it is rather common that SCSN is used to purchase unique items. In order to specify the requirements of this unique item, additional files such as 3D drawings are attached to the order and are manually inspected by the seller before he can respond to the order request. For relative simple items (e.g. a metal sheet with a single coating), this process requires a lot of manual intervention and, therefore, the order processing can take longer than inspected.
For these reasons, the Workgroup Material Processing is setup with the goal to make it possible to define simple processing steps on top of standard items without using a 3D drawing. This makes it possible to automatize the order processes and thus potentially process in order within seconds.

Additional services/Processing Steps

The workgroup already discussed various services which could be ordered on top of a standard item.
  • Sawing
  • Blasting
  • Painting
  • Metal Certificates (2.1, 2.2, 3.1, 3.2)

Framework

This section describes the framework used to describe all additional services. This framework is part of the Order and Order response message, and uses specific elements for defining the services. Each service might have domain-specific attributes, however, the main structure is abstract and does, therefore, not have to be changed when defining a new service. A simplified overview of the structure is showed below.
  • Order 132
    • Order Line 1
      • SellerItemIdentification: 4353
      • Name: Metal Sheet (300x60)
      • Quantity: 3 each
      • PriceAmount: 300 euro
      • Sub Order Line 1
        • Name: Sawing
        • StandardItemIdentification: [email protected] SCSN_Services
        • Quantity: 3 each
        • PriceAmount: 100 euro
        • Configuration
          • [Saw Model, A2]
          • [Saw Top View, 8]
        • Dimension
          • [Start Angle, 45 degrees]
          • [Start Angle Positive Tolerance, 0.5 degrees]
          • [Start Angle Negative Tolerance, 0.5 degrees]
          • [End Angle, 59.5 degrees]
          • [End Angle Positive Tolerance, 0.5 degrees]
          • [End Angle Negative Tolerance, 0.5 degrees]
          • [Length Positive Tolerance, 0.8 mm]
          • [Length Negative Tolerance, 0 mm]
      • Sub Order Line 2
        • Name: Certificate
        • StandardItemIdentification: [email protected] SCSN_Services
        • Quantity: 3 each
        • PriceAmount: 75 euro
        • Configuration
          • [certificate_type, 10204-3.1]
The example above illustrates the structure which is used to specify two additional services on top of an off-the-shelve item. In total, three metal sheets are procured including two types of additional services, namely: Sawing and Steel Certificates. These additional services are specified in the sub-order lines of the respective item, and use an unique StandardItemIdentification in order to identify the specific additional services. The list SCSN_Services contains a predefined set of different services.
The specific details of the sawing service are specified in the Configuration and Dimension elements. The Configuration element contains values from a specific codelist, i.e. a predefined list of options. In this example, the Configuration element is used to define the use of specific models. The Dimension attribute contains all service-specific attributes and also includes the possibility to specify a unit of value. These attributes, together with codelists are defined for each of the supported service.
The same applies for the second defined service: Steel certificates. The Configuration element is used to specify which type of certificate is requested. Moreover, note that the PriceQuantity of the sub-order lines are always the total price for this line (i.e. in the example this is the total price of three certificates/sawing steps). Furthermore, the price specified on order line-level is the total price of the off-the-shelve items including all sub-order lines.
Below, an example message can be found which is similar to the previous example.
<?xml version="1.0" encoding="utf-8"?>
<Order xsi:schemaLocation="urn:oasis:names:specification:ubl:schema:xsd:Order-2 http://docs.oasis-open.org/ubl/os-UBL-2.1/xsd/maindoc/UBL-Order-2.1.xsd" 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" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- 27-9-2019 Voorbeeld bewerkingen op materialen -->
<!-- 27-9-2019 Ridder Data Systems, Peter Geel. Voorbeeld bewerkingen op materialen -->
<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
<cbc:ID>220840</cbc:ID>
<cbc:IssueDate>2019-09-26</cbc:IssueDate>
<cbc:OrderTypeCode>New</cbc:OrderTypeCode>
<cbc:Note>Memotekst</cbc:Note>
<cac:QuotationDocumentReference>
<cbc:ID></cbc:ID>
</cac:QuotationDocumentReference>
<cac:Contract>
<cac:ContractDocumentReference>
<cbc:ID></cbc:ID>
</cac:ContractDocumentReference>
</cac:Contract>
<cac:BuyerCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>VANMAKERE1</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Van Makeren TRUNK 1 B.V.</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>Postbus</cbc:StreetName>
<cbc:BuildingNumber>4-38</cbc:BuildingNumber>
<cbc:CityName>BARENDRECHT</cbc:CityName>
<cbc:PostalZone>8447 GL</cbc:PostalZone>
<cac:AddressLine>
<cbc:Line></cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PhysicalLocation>
<cbc:ID></cbc:ID>
<cbc:Description>Van Makeren</cbc:Description>
<cac:Address>
<cbc:StreetName>Lorentzstraat</cbc:StreetName>
<cbc:BuildingNumber>1</cbc:BuildingNumber>
<cbc:CityName>BARENDRECHT</cbc:CityName>
<cbc:PostalZone>6624 AA</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:Address>
</cac:PhysicalLocation>
<cac:PartyTaxScheme>
<cbc:CompanyID>NL99</cbc:CompanyID>
<cac:TaxScheme />
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:CompanyID>98745621</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Telephone>0341-489214</cbc:Telephone>
<cbc:Telefax>0341-089214</cbc:Telefax>
<cbc:ElectronicMail>[email protected]</cbc:ElectronicMail>
<cac:OtherCommunication>
<cbc:Value>http://www.ridder.nl</cbc:Value>
</cac:OtherCommunication>
</cac:Contact>
<cac:Person>
<cbc:FirstName>Barend</cbc:FirstName>
<cbc:FamilyName>Bos</cbc:FamilyName>
<cbc:Title>Dhr.</cbc:Title>
<cbc:JobTitle>Sales</cbc:JobTitle>
<cbc:OrganizationDepartment>Engineering</cbc:OrganizationDepartment>
<cac:Contact>
<cbc:Telephone></cbc:Telephone>
<cbc:Telefax></cbc:Telefax>
<cbc:ElectronicMail></cbc:ElectronicMail>
</cac:Contact>
</cac:Person>
</cac:Party>
</cac:BuyerCustomerParty>
<cac:SellerSupplierParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID schemeID="GLN">VANLEVERE1</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Van Leveren 1 BV</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>Fabrieksweg</cbc:StreetName>
<cbc:BuildingNumber>135</cbc:BuildingNumber>
<cbc:CityName>PAPENDRECHT</cbc:CityName>
<cbc:PostalZone>2491 BG</cbc:PostalZone>
<cac:AddressLine>
<cbc:Line></cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PhysicalLocation>
<cbc:ID></cbc:ID>
<cbc:Description>Van Leveren BV</cbc:Description>
<cac:Address>
<cbc:StreetName>Fabrieksweg</cbc:StreetName>
<cbc:BuildingNumber>135</cbc:BuildingNumber>
<cbc:CityName>PAPENDRECHT</cbc:CityName>
<cbc:PostalZone>2491 BG</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:Address>
</cac:PhysicalLocation>
<cac:PartyTaxScheme>
<cbc:CompanyID>NL2A</cbc:CompanyID>
<cac:TaxScheme />
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:CompanyID></cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Telephone>0123-987654</cbc:Telephone>
<cbc:Telefax>0123-187654</cbc:Telefax>
<cbc:ElectronicMail>[email protected]</cbc:ElectronicMail>
<cac:OtherCommunication>
<cbc:Value>http://www.ridder.nl</cbc:Value>
</cac:OtherCommunication>
</cac:Contact>
<cac:Person>
<cbc:FirstName></cbc:FirstName>
<cbc:FamilyName>Jansen</cbc:FamilyName>
<cbc:Title>Dhr.</cbc:Title>
<cbc:JobTitle></cbc:JobTitle>
<cbc:OrganizationDepartment />
<cac:Contact>
<cbc:Telephone></cbc:Telephone>
<cbc:Telefax></cbc:Telefax>
<cbc:ElectronicMail>[email protected]</cbc:ElectronicMail>
<cac:OtherCommunication>
<cbc:Value>http://www.ridder.nl</cbc:Value>
</cac:OtherCommunication>
</cac:Contact>
</cac:Person>
</cac:Party>
</cac:SellerSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>VANMAKERE1</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Van Makeren TRUNK 1 B.V.</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>Postbus</cbc:StreetName>
<cbc:BuildingNumber>4-38</cbc:BuildingNumber>
<cbc:CityName>BARENDRECHT</cbc:CityName>
<cbc:PostalZone>8447 GL</cbc:PostalZone>
<cac:AddressLine>
<cbc:Line></cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PhysicalLocation>
<cbc:ID></cbc:ID>
<cbc:Description>Van Makeren</cbc:Description>
<cac:Address>
<cbc:StreetName>Lorentzstraat</cbc:StreetName>
<cbc:BuildingNumber>1</cbc:BuildingNumber>
<cbc:CityName>BARENDRECHT</cbc:CityName>
<cbc:PostalZone>6624 AA</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:Address>
</cac:PhysicalLocation>
<cac:PartyTaxScheme>
<cbc:CompanyID>NL99</cbc:CompanyID>
<cac:TaxScheme />
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:CompanyID>98745621</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Telephone>0341-489214</cbc:Telephone>
<cbc:Telefax>0341-089214</cbc:Telefax>
<cbc:ElectronicMail>[email protected]</cbc:ElectronicMail>
<cac:OtherCommunication>
<cbc:Value>http://www.ridder.nl</cbc:Value>
</cac:OtherCommunication>
</cac:Contact>
<cac:Person>
<cbc:FirstName>Barend</cbc:FirstName>
<cbc:FamilyName>Bos</cbc:FamilyName>
<cbc:Title>Dhr.</cbc:Title>
<cbc:JobTitle>Sales</cbc:JobTitle>
<cbc:OrganizationDepartment>Engineering</cbc:OrganizationDepartment>
<cac:Contact>
<cbc:Telephone></cbc:Telephone>
<cbc:Telefax></cbc:Telefax>
<cbc:ElectronicMail></cbc:ElectronicMail>
</cac:Contact>
</cac:Person>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:DeliveryTerms>
<cbc:ID schemeName="INCOTERMS2010">001</cbc:ID>
</cac:DeliveryTerms>
<cac:PaymentTerms>
<cbc:ID>K30</cbc:ID>
<cbc:Note>K 30 dagen 2 % 14d</cbc:Note>
<cbc:SettlementDiscountPercent>-0.02</cbc:SettlementDiscountPercent>
</cac:PaymentTerms>
<cac:AnticipatedMonetaryTotal>
<cbc:PayableAmount currencyID="EUR">4340.25</cbc:PayableAmount>
</cac:AnticipatedMonetaryTotal>
<cac:OrderLine>
<cac:LineItem>
<cbc:ID>00000001-0000-0000-0000-000000009765</cbc:ID>
<cbc:Note></cbc:Note>
<cbc:Quantity unitCode="C62">10</cbc:Quantity>
<cbc:LineExtensionAmount currencyID="EUR">677.59</cbc:LineExtensionAmount>
<cac:Delivery>
<cbc:ID>220840 HEA100 160030 12</cbc:ID>
<cbc:Quantity unitCode="C62">10</cbc:Quantity>
<cac:DeliveryLocation>
<cbc:ID></cbc:ID>
<cbc:Description>Van Makeren</cbc:Description>
<cac:Address>
<cbc:StreetName>Lorentzstraat</cbc:StreetName>
<cbc:BuildingNumber>1</cbc:BuildingNumber>
<cbc:CityName>BARENDRECHT</cbc:CityName>
<cbc:PostalZone>6624 AA</cbc:PostalZone>
<cac:AddressLine>
<cbc:Line></cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:Address>
</cac:DeliveryLocation>
<cac:RequestedDeliveryPeriod>
<cbc:EndDate>2019-09-26</cbc:EndDate>
</cac:RequestedDeliveryPeriod>
<cac:Despatch>
<cbc:Instructions></cbc:Instructions>
</cac:Despatch>
</cac:Delivery>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">300.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="KGM">100</cbc:BaseQuantity>
<cbc:PriceType>gross</cbc:PriceType>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0</cbc:Amount>
</cac:AllowanceCharge>
</cac:Price>
<cac:Item>
<cbc:Description>HEA 100 HL+12</cbc:Description> <!-- 17,1 kg / m * 8.53 * 300/100 = 437.59 -->
<cbc:Name>HEA100 160030 12</cbc:Name>
<cac:BuyersItemIdentification>
<cbc:ID>HEA100 160030 12</cbc:ID>
</cac:BuyersItemIdentification>
<cac:SellersItemIdentification>
<cbc:ID>01100100/12</cbc:ID>
</cac:SellersItemIdentification>
<cac:Dimension>
<cbc:AttributeID>Length</cbc:AttributeID>
<cbc:Measure unitCode="MMT">8530</cbc:Measure>
</cac:Dimension>
</cac:Item>
<cac:SubLineItem>
<!-- Voorbeeld voor verstek zagen -->
<!-- de te zagen lengte staat in de LineItem node -->
<cbc:ID>00000002-0000-0000-0000-000000009766</cbc:ID>
<cbc:Note></cbc:Note>
<cbc:Quantity unitCode="C62">10</cbc:Quantity>
<!-- Aantal keer zagen is gelijk aan het aantal lengtes -->
<cbc:LineExtensionAmount currencyID="EUR">240.00</cbc:LineExtensionAmount>
<!-- De zaagkosten -->
<cac:Price>
<cbc:PriceAmount currencyID="EUR">24.00</cbc:PriceAmount>
<!-- zaagkosten 24 euro / stuk -->
<cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>
<cbc:PriceType>gross</cbc:PriceType>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">0</cbc:Amount>
</cac:AllowanceCharge>
</cac:Price>
<cac:Item>
<cbc:Description>Verstekzagen</cbc:Description>
<cbc:Name>Zagen</cbc:Name>
<!-- Name heeft geen invloed, is geen iD, slechts een short name -->
<cac:StandardItemIdentification>
<cbc:ID schemeID="SCSN_Services">SAW</cbc:ID>
</cac:StandardItemItemIdentification>
<!-- StandardItemIdentification i.p.v. BuyersItemIdentification of SellersItemIdentification, omdat zagen een standaard SCSN code betreft -->
<!-- Dimensions zijn nodig voor verstek zagen -->
<cac:AdditionalItemProperty>
<cbc:Name>SMD</cbc:Name>
<cbc:Value>A2</cbc:Value>
<!-- Saw Model,Zaagmodel (Linkerzijaanzicht profiel) SA2 (liggend H profiel) -->
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>STV</cbc:Name>
<cbc:Value>8</cbc:Value>
<!-- Saw Top View, (Bovenaanzicht profiel) 8 (trapezium) -->
<!-- verplicht als SMD gespecificeerd is -->
</cac:AdditionalItemProperty>
<cac:Dimension>
<cbc:AttributeID>SA</cbc:AttributeID>
<cbc:Measure unitCode="DD">45</cbc:Measure>
<!-- Start Angle, Begin materiaalhoek 45 graden -->
<!-- verplicht als SMD gespecificeerd is -->
</cac:Dimension>
<cac:Dimension>
<cbc:AttributeID>EA</cbc:AttributeID>
<cbc:Measure unitCode="DD">59.5</cbc:Measure>
<!-- End Angle, Eind materiaalhoek 59.5 graden -->
<!-- verplicht als SMD gespecificeerd is -->
</cac:Dimension>
<cac:Dimension>
<cbc:AttributeID>SAPT</cbc:AttributeID>
<cbc:Measure unitCode="DD">0.5</cbc:Measure>
<!-- Start Angle Positive Tolerance 0.5 graden -->
<!-- optionele parameter -->
</cac:Dimension>
<cac:Dimension>
<cbc:AttributeID>SANT</cbc:AttributeID>
<cbc:Measure unitCode="DD">0.5</cbc:Measure>
<!-- Start Angle Negative Tolerance 0.5 graden -->
<!-- optionele parameter -->
</cac:Dimension>
<cac:Dimension>
<cbc:AttributeID>EAPT</cbc:AttributeID>
<cbc:Measure unitCode="DD">0.5</cbc:Measure>
<!-- End Angle Negative Tolerance, Positieve tolerantie Eindhoek 0.5 graden -->
<!-- optionele parameter -->
</cac:Dimension>
<cac:Dimension>
<cbc:AttributeID>EANT</cbc:AttributeID>
<cbc:Measure unitCode="DD">0.5</cbc:Measure>
<!-- End Angle Negative Tolerance, Negatieve tolerantie Eindhoek 0.5 graden -->
<!-- optionele parameter -->
</cac:Dimension>
<cac:Dimension>
<cbc:AttributeID>LTPT</cbc:AttributeID>
<cbc:Measure unitCode="MMT">0.6</cbc:Measure>
<!-- Length Positive Tolerance, Positieve lengte tolerantie, 0.6 mm -->
<!-- optionele parameter -->
</cac:Dimension>
<cac:Dimension>
<cbc:AttributeID>LTNT</cbc:AttributeID>
<cbc:Measure unitCode="MMT">0.0</cbc:Measure>
<!-- Length Negative Tolerance, Negatieve lengte tolerantie, 0.0 mm -->
<!-- optionele parameter -->
</cac:Dimension>
</cac:Item>
</cac:SubLineItem>
</cac:LineItem>
</cac:OrderLine>
</Order>
Below the example tag from the certifcate.
<cac:SubLineItem>
<cbc:ID>00010</cbc:ID>
<cbc:Quantity unitCode="C62">1</cbc:Quantity>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>
</cac:Price>
<cac:Item>
<cbc:Name>Certificate</cbc:Name>/>
<cac:StandardItemIdentification>
<cbc:ID schemeID="SCSN_Services">SC</cbc:ID>
</cac:StandardItemIdentification>
</cac:Item>
<cac:AdditionalItemProperty>
<cbc:Name>Certificate type</cbc:Name>
<cbc:Value>10204-3.1</cbc:Value>/>
</cac:AdditionalItemProperty>
</cac:SubLineItem>

Sawing

This section describes the service-specific attributes of the saw processing step, which is already introduced in the previous section. There are two codelist specified for this service, namely: Saw Model and Saw Top View, which both specify in which way the item should be positioned. Furthermore, there are several attributes used to specify the service.

Saw Model

Each saw instruction is specified using one specific saw model. The figure below illustrates all saw models currently supported by SCSN. The names of the models are used in the messages.
It should be noted that this list is not yet complete, there are still some uncommon models which are not yet defined. However, we are confident that most commonly used saw models are captured by these models.

Saw Top View

This codelist is used to specified in which way the product is positioned with respect to the sawing machine. Similar to the Saw Model, on of the following views has to be chosen in order to specify a saw processing step.

Attributes

  • Start Angle, decimal in preferred unit degrees
  • Start Angle Positive Tolerance, decimal in preferred unit degrees
  • Start Angle Negative Tolerance, decimal in preferred unit degrees
  • End Angle, decimal in preferred unit degrees
  • End Angle Positive Tolerance, decimal in preferred unit degrees
  • End Angle Negative Tolerance, decimal in preferred unit degrees
  • Length Positive Tolerance, decimal in preferred unit millimeters
  • Length Negative Tolerance,decimal in preferred unit millimeters

Certificates

This section describes the service-specific attributes of the certificate service, which is used to request steel certificates. The StandardItemIdentification code for this attribute is SCSN_Services > SC (Steel Certificate). There is only a single codelist used in order to define which certificate is required: Certificate Type.

Certificate type

10204-3.2
The 3.2 inspection certificate according to the NEN-EN 10204-2014 which includes a statement of compliance with order, indication of test results carried out as defined by product specification and indication of 3rd Party witness to purchaser's specified scope of testing.
10204-3.1
The 3.1 inspection certificate according to the NEN-EN 10204-2014 which includes a statement of compliance with order and indication of test results carried out as defined by product specification.
10204-2.2
The 2.2 material certificate according to the NEN-EN 10204-2014 which includes a statement of compliance with order and indication of results of non-specific inspection.
10204-2.1
The 2.1 certificate of compliance according to the NEN-EN 10204-2014 which includes a statement of compliance with order.