Status
PENDING PROJECT
This project is waiting for new info to continue.
Introduction
Onetrail, in close corporation with it’s customers, is currently developing two new features to increase the coverage for electronic ordering for the ICT industry.
A customer panel is currently active in developing the BTO/CTO (build- and configure to order) order process and we’ve developed the definitions for software license ordering in close corporation with Nolan Business Solutions.
Nolan Business Solution has experience in electronic software license ordering for years now and is an active partner of Onetrail. For more info: https://www.nolanbusinesssolutions.co.uk/.
The software license order definition is published as draft here where you can contribute to the definition by adding comments to this page on the field definitions.
Software License in PIP3A4 PurchaseOrderRequest
We’ve identified header and line level fields required for software licensing. We’re updating the current LicenseOrder element on header level and add an additional element to the line level ProductLineItem.We decided to incorporate the software license fields into the existing order schema and thus not design a complete new schema. This because the software license fields are an addition to the current order. Like the current ProductLineItem element is still valid for licenses and only requires some additional fields for software licenses.
An example XML is available below.
DRAFT LicenseOrder element on header level
Parent | Field name | Description | Type | Occurrence | XML element / attribute | XML properties |
/ | ||||||
/ | Order | Element | Pip3A4PurchaseOrderRequest | Root element | ||
Order | Order header | Element | PurchaseOrder | Element | ||
Order | New Licence or Renewal | New Licence or Renewal | String | 1 | GlobalPurchaseOrderTypeCode | Attribute: string |
Order / Order header | Licence Customer Number | ResellerID in case of VMWARE/ADOBE. Use the FromRole GLN and code conversion | String | 0..1 | fromRole/PartnerDescription/BusinessDescription/GlobalBusinessIdentifier | Attribute: string |
Order / Order header | End User Purchase Order / Reference | Purchase Order Number / Reference from the end user | String | 1 | DocumentReference/ProprietaryDocumentIdentifier | Attribute: string |
Order / Order header | Qualfier | Fixed: Work Order | String | DocumentReference/GlobalDocumentReferenceTypeCode | Enumeration | |
Order / Order header | Licence Order | Element | LicenceOrder | Element | ||
Order / Order header / Licence Order | Contract Number | Number of the Licence contract, authorisation code or agreement number | String | 1 | Attribute: string | |
Order / Order header / Licence Order | Vendor Name | GLN of the software vendor | String | 1 | LicenceOrder/SuppliedFrom/PartnerDescription/BusinessDescription/GlobalBusinessIdentifier | |
Order / Order header / Licence Order | Qualfier | Fixed: Manufacturer | String | LicenceOrder/SuppliedFrom/PartnerDescription/BusinessDescription/GlobalPartnerRoleClassificationCode | Enumeration | |
Order / Order header / Licence Order | End User | Element | LicenceOrder/EndUser | Element | ||
Order / Order header / Licence Order / End User | End User Business Name | End user company name | String | 1 | LicenceOrder/EndUser/PartnerDescription/BusinessDescription/businessName/FreeFormText | Attribute: string |
Order / Order header / Licence Order / End User | End User Address Line1 | End user address line 1 | String | 1 | LicenceOrder/EndUser/PhysicalAddress/addressLine1/FreeFormText | Attribute: string |
Order / Order header / Licence Order / End User | End User Address Line2 | End user address line 2 | String | 1 | LicenceOrder/EndUser/PhysicalAddress/addressLine2/FreeFormText | Attribute: string |
Order / Order header / Licence Order / End User | End User City Name | End user city name | String | 1 | LicenceOrder/EndUser/PhysicalAddress/cityName/FreeFormText | Attribute: string |
Order / Order header / Licence Order / End User | End User Region Name | End user region name | String | 0..1 | LicenceOrder/EndUser/PhysicalAddress/regionName/FreeeFormText | Attribute: string |
Order / Order header / Licence Order / End User | End User National Postal Code | End user national postal code | String | 1 | LicenceOrder/EndUser/PhysicalAddress/NationalPostalCode | Attribute: string |
Order / Order header / Licence Order / End User | End User GlobalCountryCode | End user country code (ISO_3166-1) | String | 1 | LicenceOrder/EndUser/PhysicalAddress/GlobalCountryCode | Attribute: string |
Order / Order header / Licence Order / End User | End User Contact Name | End user contact name | String | 1 | LicenceOrder/EndUser/PartnerDescription/ContactInformation/contactName/FreeFormText | Attribute: string |
Order / Order header / Licence Order / End User | End User Telephone Number | End user telephone number | String | 1 | LicenceOrder/EndUser/PartnerDescription/ContactInformation/CommunicationsNumber | Attribute: string |
Order / Order header / Licence Order / End User | End user Fax Number | Fax of the end user | String | 0..1 | LicenceOrder/EndUser/PartnerDescription/ContactInformation/facsimileNumber | Attribute: string |
Order / Order header / Licence Order / End User | End User Email Address | End user email | String | 1 | LicenceOrder/EndUser/PartnerDescription/ContactInformation/EmailAddress | Attribute: string |
Order / Order header / Licence Order / End User | End User Type | Type of end user, also known as Licence agreement type / program name | String | 0..1 | LicenceOrder/EndUser/EndUserType | Attribute: string |
DRAFT LicensOrderLine element on line level
Parent | Field name | Description | Type | Occurrence | XML element / attribute | XML properties |
Order | Order Line | Element | ProductLineItem | Element | ||
Order / Order Line | Licence Order Line | Element | LicenceOrderLine | Element | ||
Order / Order line | Licence Reference Number | Reference number to Licence. For Citrix, this is just comments. For VMware it's Token No. And for Symantec products it's SAN | String | 0..1 | ProductLineItem/DocumentLineReference/ProprietaryDocumentIdentifier | Attribute: string |
Order / Order line | Qualfier | Fixed: Licence | String | ProductLineItem/DocumentLineReference/GlobalDocumentReferenceTypeCode | Enumeration | |
Order / Order Line | Licence Order Line | Element | 0..1 | LicenceOrderLine | Element | |
Order / Order Line / Licence Order Line | Licence Reference Number | Reference number to Licence. For Citrix, this is just comments. For VMware it's Token No. And for Symantec products it's SAN | String | 0..1 | LicenceOrderLine/Reference | Attribute: string |
Order / Order Line / Licence Order Line | Price Level | Price level. Monthly or annual (AE or PE). MVLP and MFUL for Microsoft | String | 0..1 | LicenceOrderLine/PriceLevel | Attribute: string |
Order / Order Line / Licence Order Line | Licence Start Date | Start date of the Licence | Date | 0..1 | LicenceOrderLine/LicenceStartDate | DateTimeStamp ([0-9]{8}T[0-9]{6}) |
Order / Order Line / Licence Order Line | Licence End Date | End data of the Licence | Date | 0..1 | LicenceOrderLine/LicenceEndDate | DateTimeStamp ([0-9]{8}T[0-9]{6}) |
Order / Order Line / Licence Order Line | Reorder | Reorder flag, renewal | Yes/No | 1 | LicenceOrderLine/Reorder | Enumeration (Yes,No) |
Sample XML
Sample XML
<?xml version="1.0" encoding="UTF-8"?> <!-- Sample for an licence order--> <tns:Pip3A4PurchaseOrderRequest xmlns:ns="http://www.onetrail.net" xmlns:ns3="http://pip3a4po.ws.service.onetrail.com/" xmlns:tns="http://www.onetrail.net" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <!-- The fromRole GlobalBusinessIdentifier (GLN) will be used to convert to the License Customer Number--> <tns:fromRole> <tns:PartnerRoleDescription> <tns:ContactInformation> <tns:contactName> <tns:FreeFormText lang="EE">Purchase Department</tns:FreeFormText> </tns:contactName> <tns:EmailAddress>Purchase@onetrail.com</tns:EmailAddress> <tns:facsimileNumber> <tns:CommunicationsNumber>+31 30 697 3289</tns:CommunicationsNumber> </tns:facsimileNumber> <tns:telephoneNumber> <tns:CommunicationsNumber>+31 30 697 3288</tns:CommunicationsNumber> </tns:telephoneNumber> </tns:ContactInformation> <tns:GlobalPartnerRoleClassificationCode>Reseller</tns:GlobalPartnerRoleClassificationCode> <tns:PartnerDescription> <tns:BusinessDescription> <tns:GlobalBusinessIdentifier>8714253023366</tns:GlobalBusinessIdentifier> <tns:GlobalSupplyChainCode>Information Technology</tns:GlobalSupplyChainCode> <tns:businessName> <tns:FreeFormText lang="EN">Onetrail B.V. - Test Buyer</tns:FreeFormText> </tns:businessName> </tns:BusinessDescription> <tns:GlobalPartnerClassificationCode>Buyer</tns:GlobalPartnerClassificationCode> </tns:PartnerDescription> </tns:PartnerRoleDescription> </tns:fromRole> <tns:GlobalDocumentFunctionCode>Request</tns:GlobalDocumentFunctionCode> <tns:PurchaseOrder> <tns:AccountDescription> <tns:accountName> <tns:FreeFormText lang="EE">Onetrail B.V. - Test Buyer</tns:FreeFormText> </tns:accountName> <tns:AccountNumber>8714253023366</tns:AccountNumber> <tns:billTo> <tns:PartnerRoleDescription> <tns:ContactInformation> <tns:contactName> <tns:FreeFormText lang="EN">Finance Department</tns:FreeFormText> </tns:contactName> <tns:EmailAddress>Finance@onetrail.com</tns:EmailAddress> <tns:facsimileNumber> <tns:CommunicationsNumber>+31 30 697 3289</tns:CommunicationsNumber> </tns:facsimileNumber> <tns:telephoneNumber> <tns:CommunicationsNumber>+31 30 697 3288</tns:CommunicationsNumber> </tns:telephoneNumber> </tns:ContactInformation> <tns:GlobalPartnerRoleClassificationCode>Reseller</tns:GlobalPartnerRoleClassificationCode> <tns:PartnerDescription> <tns:BusinessDescription> <tns:GlobalBusinessIdentifier>8714253023397</tns:GlobalBusinessIdentifier> <tns:businessName> <tns:FreeFormText lang="EE">Onetrail B.V. - Test Buyer</tns:FreeFormText> </tns:businessName> </tns:BusinessDescription> <tns:GlobalPartnerClassificationCode>Buyer</tns:GlobalPartnerClassificationCode> </tns:PartnerDescription> </tns:PartnerRoleDescription> </tns:billTo> </tns:AccountDescription> <tns:remarks> <tns:remark context="Buyer Remark">Header Text</tns:remark> </tns:remarks> <!--This is the end user purchase order number / reference--> <tns:DocumentReference> <tns:DateTimeStamp>20150214T171451</tns:DateTimeStamp> <tns:GlobalDocumentReferenceTypeCode>Work Order</tns:GlobalDocumentReferenceTypeCode> <tns:ProprietaryDocumentIdentifier>End user ref 285481</tns:ProprietaryDocumentIdentifier> </tns:DocumentReference> <!--Special order types for licenses, can also be Renewal--> <tns:GlobalPurchaseOrderTypeCode>New Licence Order</tns:GlobalPurchaseOrderTypeCode> <tns:OrderShippingInformation> <tns:GlobalSpecialFulfillmentRequestCode>Partial</tns:GlobalSpecialFulfillmentRequestCode> </tns:OrderShippingInformation> <tns:ProductLineItem> <tns:remarks> <tns:remark lang="NL">Order line remarks / comments</tns:remark> </tns:remarks> <tns:GlobalProductUnitOfMeasureCode>EACH</tns:GlobalProductUnitOfMeasureCode> <tns:isDropShip> <tns:AffirmationIndicator>Yes</tns:AffirmationIndicator> </tns:isDropShip> <tns:LineNumber>1</tns:LineNumber> <!--The quantity of licenses to order--> <tns:OrderQuantity> <tns:requestedQuantity> <tns:ProductQuantity>3</tns:ProductQuantity> </tns:requestedQuantity> </tns:OrderQuantity> <!--Put the product ID's --> <tns:ProductIdentification> <tns:PartnerProductIdentification> <tns:GlobalPartnerClassificationCode>Manufacturer</tns:GlobalPartnerClassificationCode> <tns:ProprietaryProductIdentifier>12312312</tns:ProprietaryProductIdentifier> </tns:PartnerProductIdentification> <tns:PartnerProductIdentification> <tns:GlobalPartnerClassificationCode>Seller</tns:GlobalPartnerClassificationCode> <tns:ProprietaryProductIdentifier>SKU12122</tns:ProprietaryProductIdentifier> </tns:PartnerProductIdentification> </tns:ProductIdentification> <tns:requestedEvent> <tns:TransportationEvent> <tns:DateStamp>20200528T120000</tns:DateStamp> <tns:GlobalTransportEventCode>Ship</tns:GlobalTransportEventCode> </tns:TransportationEvent> </tns:requestedEvent> <tns:requestedUnitPrice> <tns:FinancialAmount> <tns:GlobalCurrencyCode>EUR</tns:GlobalCurrencyCode> <tns:MonetaryAmount>995.56</tns:MonetaryAmount> </tns:FinancialAmount> </tns:requestedUnitPrice> <tns:totalLineItemAmount> <tns:FinancialAmount> <tns:GlobalCurrencyCode>EUR</tns:GlobalCurrencyCode> <tns:MonetaryAmount>2986.68</tns:MonetaryAmount> </tns:FinancialAmount> </tns:totalLineItemAmount> <!--Additional fields for licenses on line level --> <tns:LicenceOrderLine> <!--Reference: number to Licence. For Citrix, this is just comments. For VMware it's Token No. For Symantec products it's SAN, etc. etc.--> <tns:Reference>2342ABC123</tns:Reference> <!--Price level: Monthly or annual (AE or PE). MVLP and MFUL for Microsoft--> <tns:PriceLevel>2342ABC123</tns:PriceLevel> <tns:LicenceStartDate>20200527T120000</tns:LicenceStartDate> <tns:LicenceEndDate>20210527T120000</tns:LicenceEndDate> <!--Reorder flag, renewal--> <tns:Reorder>No</tns:Reorder> </tns:LicenceOrderLine> </tns:ProductLineItem> <tns:purchaseOrderIdentifier> <tns:ProprietaryDocumentIdentifier>Licence Order 1</tns:ProprietaryDocumentIdentifier> </tns:purchaseOrderIdentifier> <tns:requestedEvent> <tns:TransportationEvent> <tns:DateStamp>20200528T120000</tns:DateStamp> <tns:GlobalTransportEventCode>Ship</tns:GlobalTransportEventCode> </tns:TransportationEvent> </tns:requestedEvent> <!-- ShipTo address for the Licence--> <tns:shipTo> <tns:PartnerDescription> <tns:BusinessDescription> <tns:businessName> <tns:FreeFormText lang="EE">Onetrail Test Buyer</tns:FreeFormText> </tns:businessName> </tns:BusinessDescription> <tns:GlobalPartnerClassificationCode>Buyer</tns:GlobalPartnerClassificationCode> <tns:ContactInformation> <tns:contactName> <tns:FreeFormText lang="EE">Purchase Department</tns:FreeFormText> </tns:contactName> <tns:EmailAddress>support@onetrail.com</tns:EmailAddress> <tns:facsimileNumber> <tns:CommunicationsNumber>+31 30 697 3289</tns:CommunicationsNumber> </tns:facsimileNumber> <tns:telephoneNumber> <tns:CommunicationsNumber>+31 30 697 3288</tns:CommunicationsNumber> </tns:telephoneNumber> </tns:ContactInformation> </tns:PartnerDescription> <tns:PhysicalAddress> <tns:addressLine1> <tns:FreeFormText lang="EE">Handelsweg 6</tns:FreeFormText> </tns:addressLine1> <tns:addressLine2> <tns:FreeFormText lang="EE">First Floor</tns:FreeFormText> </tns:addressLine2> <tns:cityName> <tns:FreeFormText lang="EE">Zeist</tns:FreeFormText> </tns:cityName> <tns:GlobalCountryCode>NL</tns:GlobalCountryCode> <tns:NationalPostalCode>3705 NH</tns:NationalPostalCode> </tns:PhysicalAddress> </tns:shipTo> <tns:totalAmount> <tns:FinancialAmount> <tns:GlobalCurrencyCode>EUR</tns:GlobalCurrencyCode> <tns:MonetaryAmount>2986.68</tns:MonetaryAmount> </tns:FinancialAmount> </tns:totalAmount> <!-- the Licence header fields--> <tns:LicenceOrder> <!-- Number of the Licence contract, authorisation code or agreement number--> <tns:ContractNumber>1312313413</tns:ContractNumber> <!-- Software vendor, ask Onetrail for full list of software vendor GLN's and names--> <tns:SuppliedFrom> <tns:PartnerRoleDescription> <tns:GlobalPartnerRoleClassificationCode>Manufacturer</tns:GlobalPartnerRoleClassificationCode> <tns:PartnerDescription> <tns:BusinessDescription> <tns:GlobalBusinessIdentifier>5099104001131</tns:GlobalBusinessIdentifier> <tns:GlobalSupplyChainCode>Information Technology</tns:GlobalSupplyChainCode> <tns:businessName> <tns:FreeFormText lang="EN">Microsoft B.V.</tns:FreeFormText> </tns:businessName> </tns:BusinessDescription> </tns:PartnerDescription> </tns:PartnerRoleDescription> </tns:SuppliedFrom> <!--The EndUser details--> <tns:EndUser> <tns:PartnerDescription> <tns:BusinessDescription> <tns:businessName> <tns:FreeFormText>End User B.V.</tns:FreeFormText> </tns:businessName> </tns:BusinessDescription> <tns:GlobalPartnerClassificationCode>EndUser</tns:GlobalPartnerClassificationCode> <tns:ContactInformation> <tns:contactName> <tns:FreeFormText>John Doe</tns:FreeFormText> </tns:contactName> <tns:EmailAddress>john.doe@enduser.com</tns:EmailAddress> <tns:telephoneNumber> <tns:CommunicationsNumber>012-3456789</tns:CommunicationsNumber> </tns:telephoneNumber> </tns:ContactInformation> </tns:PartnerDescription> <tns:PhysicalAddress> <tns:addressLine1> <tns:FreeFormText>EndUser street 22</tns:FreeFormText> </tns:addressLine1> <tns:cityName> <tns:FreeFormText>SampleCity</tns:FreeFormText> </tns:cityName> <tns:GlobalCountryCode>NL</tns:GlobalCountryCode> <tns:NationalPostalCode>1234 AB</tns:NationalPostalCode> </tns:PhysicalAddress> <!-- Type of end user, also known as Licence agreement type / program name--> <tns:EndUserType>Commercial</tns:EndUserType> </tns:EndUser> </tns:LicenceOrder> </tns:PurchaseOrder> <tns:thisDocumentGenerationDateTime> <tns:DateTimeStamp>20200526T171451</tns:DateTimeStamp> </tns:thisDocumentGenerationDateTime> <tns:thisDocumentIdentifier> <tns:ProprietaryDocumentIdentifier>25658937T874q376</tns:ProprietaryDocumentIdentifier> </tns:thisDocumentIdentifier> <tns:toRole> <tns:PartnerRoleDescription> <tns:ContactInformation> <tns:contactName> <tns:FreeFormText lang="EN">Sales Department </tns:FreeFormText> </tns:contactName> <tns:EmailAddress>sales@onetrail.com</tns:EmailAddress> <tns:facsimileNumber> <tns:CommunicationsNumber>+31 30 697 3289</tns:CommunicationsNumber> </tns:facsimileNumber> <tns:telephoneNumber> <tns:CommunicationsNumber>+31 30 697 3288</tns:CommunicationsNumber> </tns:telephoneNumber> </tns:ContactInformation> <tns:GlobalPartnerRoleClassificationCode>Distributor</tns:GlobalPartnerRoleClassificationCode> <tns:PartnerDescription> <tns:BusinessDescription> <tns:GlobalBusinessIdentifier>8714253023236</tns:GlobalBusinessIdentifier> <tns:GlobalSupplyChainCode>Information Technology</tns:GlobalSupplyChainCode> <tns:businessName> <tns:FreeFormText lang="EN">Onetrail B.V. - Test Seller</tns:FreeFormText> </tns:businessName> </tns:BusinessDescription> <tns:GlobalPartnerClassificationCode>Seller</tns:GlobalPartnerClassificationCode> </tns:PartnerDescription> </tns:PartnerRoleDescription> </tns:toRole> </tns:Pip3A4PurchaseOrderRequest>
Download sample XML
1 Comment
Anonymous
I would mention the fields that are relevant for software licenses, but are already available via other fields in the current schema separate.