Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
General Discussion
It is recommended as a best practice for Distributors submitting purchase orders to:
...
Note that some suppliers may have a time gap between when the PO is received and when a Distributor can successfully query it via Order Status. Distributors might need to review with Suppliers if there is a time gap between the two due to asynchronous processing - Suppliers should detail out any processing delays in their integration guides.
Definitions
ContactType:
Art- Person or entity responsible for creating/supporting Artwork. Use this ContactType for Artwork related questions
Bill - Person or entity responsible for receiving/paying the Invoice from the Supplier
Expeditor - Person or team supporting order related questions from the Supplier
Order - Person or team responsible for placing the order
Sales- Person managing/supporting the end customer account. Use this ContactType to apply specific Sales person to the order for Commissions/reporting
Ship- Person or entity receiving the shipment from the Supplier
Sold - Person or Entity with whom the sales agreement is negotiated
Blank PO RequestsendPO()
Field | Description | Required | Best Practice |
orderType | The type of data transferred in the request; values are enumerated: “Blank”—This is data for blank goods. “Sample”—This data is for a random sample order “Simple”—The data in the purchase order is sent over without supplier configured data and will be processed manually. “Configured”—The data is sent over in conjunction with the supplier’s Product Pricing and Configuration web service and designed for electronic processing of the purchase order. | TRUE | Use Blank as the OrderType |
orderNumber | Purchase order number | TRUE | |
orderDate | The date and time of the purchase order. | TRUE | |
lastModified | The date and time the purchase order was last modified | FALSE | |
totalAmount | The total dollar amount of the purchase order | TRUE | |
paymentTerms | The terms of the purchase order. i.e. NET15, NET30, etc. | FALSE | |
rush | Used to indicate a rush on the purchase order. | TRUE |
|
currency | The currency the purchase order is transacted in ISO4217 format. | TRUE | |
DigitalProof | An object containing preproduction digital proof information | FALSE | |
OrderContactArray | An array of contact information | FALSE | Recommended to share this information if available to address any issues. SoldTo contact can be used to identify the customer who can help with addressing any issues related to the order. |
ShipmentArray | Any array of purchase order shipments | TRUE | |
LineItemArray | An array of purchase order line items | TRUE | |
termsAndConditions | The terms and conditions for this purchase order. Information that is order specific or information dealing with the configuration or shipment of the order should not be entered here. | FALSE | |
salesChannel | The sales channel | FALSE | Recommended to ensure order is placed under the appropriate office/location. Mark this open to be discussed later since this field is being used for different purposes. |
promoCode | The promotion code | FALSE | Supplier specific feature. Please check with the Supplier before using this field. |
TaxInformationArray | An array of TaxInformation objects related to calculating taxes | FALSE |
Digital Proof
Field | Description | Required | Best Practice |
required | A Boolean value set to TRUE indicates a proof is required for this purchase order; the value is FALSE otherwise. | TRUE | |
DigitalProofAddressesArray | An array containing DigitalProofAddress objects. | TRUE |
Digital Proof Address
Field | Description | Required | Best Practice |
type | The type of address of the digital proof. Values are enumerated: Email, Webservice | TRUE | |
The address that the digital proof should be sent to prior to production. | TRUE | ||
lineItemGroupingId | What line item group does this proof address link to | TRUE |
Tax Information
Field | Description | Required? | Best Practice |
taxId | The purchasers tax identifier | TRUE | |
taxType | The type of tax the identifier applies to. Values are enumerated: “Hst-Gst”, “Pst”, “SalesTax” | TRUE | |
taxExempt | Tax Except | TRUE | |
taxJurisdiction | Tax Jurisdictions | TRUE | |
taxAmount | The amount of tax for this purchase order | FALSE |
Line Item
Field | Description | Required | Best Practice |
lineNumber | The line number of the line item | TRUE | |
description | The description of the line item. For simple order type (not using a configuration), use this field to explain the details. | TRUE | |
lineType | The type of order; values are enumerated: · “New” –A new purchase order with no prior order reference · “Repeat” —An exact repeat of a previous purchase order with the vendor · “Reference” –An order that has the same artwork as a previous order. | TRUE | Use “New” as a LineType |
Quantity | The quantity object that contains the value and unit of measure | TRUE | |
fobId | Used to indicate the FOB point. Use fobId from the supplier’s Product Pricing and Configuration Service to populate this information. | FALSE | Supplier specific feature. Recommend if supplier offers this feature and customer is planning to choose the ship location. |
ToleranceDetails | The object containing how tolerant this line is to overrun and underruns. | TRUE | |
allowPartialShipments | Allow partial shipments of this line item | TRUE | Recommend reaching out to Suppliers to confirm this feature is allowed/used by Supplier. |
unitPrice | The unit price of the line item | FALSE | Populate this field if information is available. |
lineItemTotal | The total for the line item | TRUE | |
requestedShipDate | The date the line item is requested to ship from the FOB point. | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they track this field. Share this info if available. |
requestedInHands | The date the line item is requested to arrive at the shipping destination | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they track this field. Share this info if available. |
referenceSalesQuote | The sales quote number associated with this purchase order line (if applicable). | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they track this field. |
Program | Program pricing information. | FALSE | |
endCustomerSalesOrder | The distributor’s order number provided to the end customer | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they consume this field. |
productId | The manufacturer’s product id associated with the configuration data. | FALSE | |
customerProductId | The distributor’s product id | FALSE | Share this info if available to have this displayed on the label. |
lineItemGroupingId | An identifier that allows configuration data to be spread out among multiple purchase order lines. Keep lineItemGroupingID unique when referencing the same product on the purchase order. Any change to the product, location, decoration, or artwork should produce a unique lineItemGroupingID to the purchase order. | FALSE | |
PartArray | An array of product part information. This array should be populated with information from the supplier’s PromoStandards Product Pricing and Configuration service | FALSE | Strongly recommend using this Array for sku accuracy. |
Configuration | An object containing line item configuration data | FALSE | NA |
Tolerance Details
Field | Description | Required | Best Practice |
tolerance | An enumerator specifying the quantity tolerance allowed: AllowOverRun, AllowUnderrun, AllowOverrunOrUnderrun, ExactOnly. Specifying AllowOverRun, AllowUnderrun or AllowOverrunOrUnderrun without a value and uom will result in the supplier’s discretion. | TRUE | Use AllowOverruns and work with the Supplier to confirm this feature is available. |
value | The overrun/underrun permitted. This element is ignored if ExactOnly is specified for tolerance. | FALSE | |
uom | The unit of measure for value element; enumerated values are: {Percent, Quantity}. This element is ignored if ExactOnly is specified for tolerance. | FALSE |
Program
Field | Description | Required | Best Practice |
id | The program id associated with this purchase order line (if applicable). | FALSE | |
name | The program name associated with this purchase order line (if applicable). | FALSE |
Quantity
Field | Description | Required | Best Practice |
value | The quantity value | TRUE | |
uom | The unit of measure; values are enumerated. Values are: {BX, CA, DZ, EA, KT, PR, PK, RL, ST, SL, TH} BX - Box CA - Case DZ - Dozen EA - Each KT - Kit PR - Pair PK - Package RL - Roll ST - Set SL - Sleeve TH - Thousand | TRUE | Ensure quantity entered is based on UOM. Please review the corresponding PPC spec for Supplier and how they have configured the product. |
Configuration
Field | Description | Required? | Best Practice |
referenceNumber | The previous order number that this purchase order is referencing | FALSE | NA |
referenceNumberType | The type of the prior order reference; values are enumerated: “PurchaseOrder”,”SalesOrder”, “JobOrWorkOrder” | FALSE | |
preProductionProof | Indicates that this line item is for a pre-production proof | TRUE | |
ChargeArray | An array of charge information. This array should be populated with information from the supplier’s PromoStandards Product Pricing and Configuration service | FALSE | |
LocationArray | An array of Decoration Location Information. This array should be populated with information from the supplier’s PromoStandards Product Pricing and Configuration service | FALSE |
Part
Field | Description | Required | Best Practice |
partGroup | An identifier that links common line item parts together | FALSE | |
partId | The part Id from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | Strongly recommend to populate this field to ensure accurate order processing |
customerPartId | How the part is being represented to the distributor’s customer | FALSE | Share this info if available |
customerSupplied | The part will be supplied by the customer or another entity other than the supplier | TRUE | |
description | The description from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | |
Quantity | The quantity object that contains the value and unit of measure | TRUE | |
locationLinkId | An array of location link Ids. This links the part to its configured locations. | FALSE | |
unitPrice | The price of the part being referenced. | FALSE | |
extendedPrice | The unitPrice multiplied by the Quantity value. | FALSE | |
ShipmentLinkArray | Link this part and a specified quantity to one or many shipments. | FALSE | Check with Supplier if they allow multiple Ship TOs on one PO. |
ShipmentLink
Field | Description | Required | Best Practice |
shipmentId | The shipment Id | TRUE | Use this field to accurately tie Ship to Addresses to specific Linitems |
Quantity | The quantity object that contains the value and unit of measure | TRUE |
Charge
Field | Description | Required | Best Practice |
chargeId | The chargeId from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | NA |
chargeName | The chargeName from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | |
description | The charge description from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | |
chargeType | The type of charge. Values are enumerated {Freight, Order, Run, Setup}. | TRUE | |
Quantity | The quantity object that contains the value and unit of measure | TRUE | |
unitprice | The price of the charge being referenced. | FALSE | |
extendedPrice | The unitPrice multiplied by the Quantity value | FALSE |
Location
Field | Description | Required | Best Practice |
locationLinkId | An identifier to be used within the Part Array to link configured locations to a part. Due to different colors and sizes, identical locations may need to be decorated differently. | TRUE | NA |
locationId | The locationId from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | |
locationName | The locationName from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | |
DecorationArray | An array of product decoration information | TRUE |
Decoration
Field | Description | Required | Best Practice |
decorationId | The decorationId from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | NA |
decorationName | The decorationName from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | |
Artwork | The object containing the details of the artwork | TRUE |
Artwork
Field | Description | Required | Best Practice |
refArtworkId | A pre-shared artwork Id that can be used by the supplier to find and reference the artwork. | FALSE | NA |
description | A textual description of the artwork being provided. | FALSE | |
Dimensions | The dimensions of the artwork | FALSE | |
ArtworkFileArray | An array of artwork file data | FALSE | |
instructions | Any instructions regarding the processing or modification of artwork. Adding instructions will cause delays in processing. | FALSE | |
Layers | An object that explains how the artwork layers or stops will be handled | FALSE | |
TypesetArray | An array of typeset data | FALSE | |
totalStitchCount | The total stitch count for the specified embroidery art | FALSE |
Artwork File Name
Field | Description | Required | Best Practice |
fileName | The file name and extension only of the artwork | TRUE | NA |
fileLocation | The exact path/location to the artwork | TRUE | |
transportMechanism | The mechanism that will be used to transport the artwork; values are enumerated: “Email”, “Url”, “Ftp”, “ArtworkToFollow” | TRUE | |
artworkType | The purpose of the artwork file; values are enumerated: “ProductionReady”, “VirtualProof”, “SupplierArtTemplate”, “NonProductionReady” | TRUE |
Dimensions
Field | Description | Required | Best Practice |
geometry | The geometry of the decoration. Values are enumerated: {Circle, Rectangle, Other}. | TRUE | NA |
useMaxLocationDimensions | Use the maximum allowed imprint dimensions for this location. If this is set to true, all other dimension information is ignored except for geometry. Note: Max dimensions be also found from the supplier’s PromoStandards Product Pricing and Configuration service. | TRUE | |
height | The height of the artwork; leave blank if the imprint is not rectangular | FALSE | |
width | The width of artwork; leave blank if the imprint is not rectangular | FALSE | |
diameter | The diameter of the artwork; leave blank if the imprint is not circular | FALSE | |
uom | The unit of measure for the decoration area in ISO 20022 https://www.iso20022.org/standardsrepository/public/wqt/Description /mx/dico/codesets/_Y4XF0tp-Ed-ak6NoX_4Aeg_385163498 | FALSE |
Layers
Field | Description | Required | Best Practice |
colorSystem | The color system to use: Cmyk, Other, Pms, Rgb, Thread | TRUE | NA |
LayerOrStopArray | An array of layers for the artwork | TRUE |
LayerorStop
Field | Description | Required | Best Practice |
nameOrNumber | The name or number of the layer/stop | TRUE | NA |
description | A human readable description of the layer | TRUE | |
color | The color value that corresponds to the colorSystem defined | TRUE |
Typeset
Field | Description | Required | Best Practice |
sequenceNumber | The order of the typeset information | TRUE | NA |
value | The typeset to be used on the order | TRUE | |
font | The font to use for the typeset | FALSE | |
fontSize | The font size to use for the typeset | FALSE |
Shipment
Field | Description | Required | Best Practice |
customerPickup | The shipment will be a pickup and will not be shipped | TRUE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they support this feature. |
ShipTo | The object containing the ship to information | TRUE | |
ThirdPartyAccount | The object containing the third party information for the shipping account to use and the business entity that is paying for the shipping. Otherwise known as ship using this account. | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they support this feature and ensure this is setup before going live.Populate this object with as much info as available. Company name, address and zip code at the minimum. |
shipReferences | Array of two strings max of identifiers used as the reference fields used during the shipping process. A shipReference can be a purchase order number, customer number, company name, Bill of Lading number, or a phrase that identifies that shipment | FALSE | |
packingListRequired | Packing list required | TRUE | Populate this field |
blindShip | Require blind shipping | TRUE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they support this feature. |
allowConsolidation | Allow consolidation of shipments | TRUE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they support this feature. |
FreightDetails | The details on the freight: carrier and service | TRUE | |
comments | Comments regarding the shipment for further clarification. Note: Use comments only when absolutely necessary, as it may cause delays in order processing. | FALSE |
Freight Details
Field | Description | Required | Best Practice |
carrier | The carrier name of the shipping vendor being requested. (i.e. “UPS”, “FEDEX”, etc.) | TRUE | Recommend reaching out to Supplier for specific format/values. Recommend Suppliers supporting standard formats. |
service | The service code of the shipping vendor for the service being requested. i.e. GROUND, 2DAY, NEXTDAY, etc. | TRUE | Recommend reaching out to Supplier for specific format/values. Recommend Suppliers supporting standard formats. |
ShipTo
Field | Description | Required | Best Practice |
shipmentId | The shipment id that can be referenced in the ShipmentLink object. | TRUE | |
ContactDetails | The object containing the third party contact details | TRUE |
ThirdPartyAccount
Field | Description | Required | Best Practice |
accountName | The name of the account that will be used for shipping. | TRUE | |
accountNumber | The number of the account that will be used for shipping. | TRUE | |
ContactDetails | The object containing the third party contact details | TRUE |
Contact
Field | Description | Required | Best Practice |
contactType | The type of contact. Values are enumerated: {“Art”, “Bill”, “Expeditor”, “Order”, “Sales”, “Ship”, “Sold”} | TRUE | Recommend sending Contact information to support Order fulfillment issues. |
ContactDetails | The object that contains the details about the contact. | TRUE | Send as much info as you can |
accountName | The name of the account that will be invoiced for the purchase order. This should be populated when the contactType is Bill. | FALSE | |
accountNumber | The number of the account that will be invoiced for the purchase order. This should be populated when the contactType is Bill. | FALSE |
ContactDetails
Field | Description | Required | Best Practice |
attentionTo | Attention To (first and last name of contact) | FALSE | |
companyName | Company Name | FALSE | |
address1 | Address line 1 | FALSE | |
address2 | Address line 2 | FALSE | |
address3 | Address line 3 | FALSE | |
city | The city | FALSE | |
region | The 2 character US state abbreviation or 2-3 character non-US region. | FALSE | |
postalCode | The postal code | FALSE | |
country | The country in ISO 3166-2 format | FALSE | |
The Email | FALSE | ||
phone | The phone number | FALSE | |
comments | Comments regarding the contact for further clarification. Note: Use comments only when absolutely necessary, as it may cause delays in order processing. | FALSE |
Response: SendPOResponse
Field | Description | Required | Best Practice |
transactionId | The transaction identifier in response indicating a successful transfer of a schematically valid PO payload. It can also be used for IT departments to help with diagnostics and technical support. This transaction identifier does not indicate that the PO was successfully entered and inventory was allocated. The use of the Order Status service can provide the status of the order going forward. If no transaction identifier is returned, a populated ErrorMessage object must be returned indicating the fault (Error severity is a failure). A populated ErrorMessage object returned with a transaction identifier indicates the PO was successfully transferred but initial validation detected problems preventing it from being processed without human intervention (Error severity is a warning). Based on the agreement with the supplier, either correct these issues and resubmit a revised PO or wait for contact from a supplier representative. | FALSE |
|
ServiceMessageArray | An array of ServiceMessage objects. | FALSE | Please provide accurate error messages based on the Standardized codes in the spec |
Simple PO Request
Discuss ContactType - should have a formalized definition for each type. Work on getting this updated.
...
Suppliers should be able to accept all fields including Configured data in the Simple PO and consume the information to be able to process the PO.
sendPO()
Field | Description | Required | Best Practice |
orderType | The type of data transferred in the request; values are enumerated: “Blank”—This is data is for blank goods. “Sample”—This data is for a random sample order “Simple”—The data in the purchase order is sent over without supplier configured data and will be processed manually. “Configured”—The data is sent over in conjunction with the supplier’s Product Pricing and Configuration web service and designed for electronic processing of the purchase order. | TRUE | Use Simple as the OrderType |
orderNumber | Purchase order number | TRUE | |
orderDate | The date and time of the purchase order. | TRUE | |
lastModified | The date and time the purchase order was last modified | FALSE | |
totalAmount | The total dollar amount of the purchase order | TRUE | |
paymentTerms | The terms of the purchase order. i.e. NET15, NET30, etc. | FALSE | |
rush | Used to indicate a rush on the purchase order. | TRUE |
|
currency | The currency the purchase order is transacted in ISO4217 format. | TRUE | |
DigitalProof | An object containing preproduction digital proof information | FALSE | |
OrderContactArray | An array of contact information | FALSE | Recommended to share this information if available to address any issues. SoldTo contact can be used to identify the customer who can help with addressing any issues related to the order. |
ShipmentArray | Any array of purchase order shipments | TRUE | |
LineItemArray | An array of purchase order line items | TRUE | |
termsAndConditions | The terms and conditions for this purchase order. Information that is order specific or information dealing with the configuration or shipment of the order should not be entered here. | FALSE | |
salesChannel | The sales channel | FALSE | Recommended to ensure order is placed under the appropriate office/location. Mark this open to be discussed later since this field is being used for different purposes. |
promoCode | The promotion code | FALSE | Supplier specific feature. Please check with the Supplier before using this field. |
TaxInformationArray | An array of TaxInformation objects related to calculating taxes | FALSE |
Digital Proof
Field | Description | Required | Best Practice |
required | A Boolean value set to TRUE indicates a proof is required for this purchase order; the value is FALSE otherwise. | TRUE | |
DigitalProofAddressesArray | An array containing DigitalProofAddress objects. | TRUE |
Digital Proof Address
Field | Description | Required | Best Practice |
type | The type of address of the digital proof. Values are enumerated: Email, Webservice | TRUE | |
The address that the digital proof should be sent to prior to production. | TRUE | ||
lineItemGroupingId | What line item group does this proof address link to | TRUE |
Tax Information
Field | Description | Required? | Best Practice |
taxId | The purchasers tax identifier | TRUE | |
taxType | The type of tax the identifier applies to. Values are enumerated: “Hst-Gst”, “Pst”, “SalesTax” | TRUE | |
taxExempt | Tax Except | TRUE | |
taxJurisdiction | Tax Jurisdictions | TRUE | |
taxAmount | The amount of tax for this purchase order | FALSE |
Line Item
Field | Description | Required | Best Practice |
lineNumber | The line number of the line item | TRUE | |
description | The description of the line item. For simple order type (not using a configuration), use this field to explain the details. | TRUE | Include detailed instructions for the decoration, exceptions for shipping, and other notable comments in this field. This would also include instructions for specific parts listed for the given line item if PartArray info is not available. The best practice is to include the PartArray as this makes it easier for the Supplier to process the order. |
lineType | The type of order; values are enumerated: · “New” –A new purchase order with no prior order reference · “Repeat” —An exact repeat of a previous purchase order with the vendor · “Reference” –An order that has the same artwork as a previous order. | TRUE | Use “Repeat” and/or “Reference” if applicable. Connect with the Supplier to ensure they can process this information. |
Quantity | The quantity object that contains the value and unit of measure | TRUE | |
fobId | Used to indicate the FOB point. Use fobId from the supplier’s Product Pricing and Configuration Service to populate this information. | FALSE | Supplier specific feature. Recommend if supplier offers this feature and customer is planning to choose the ship location. |
ToleranceDetails | The object containing how tolerant this line is to overrun and underruns. | TRUE | |
allowPartialShipments | Allow partial shipments of this line item | TRUE | Recommend reaching out to Suppliers to confirm this feature is allowed. |
unitPrice | The unit price of the line item | FALSE | Populate this field if information is available. |
lineItemTotal | The total for the line item | TRUE | |
requestedShipDate | The date the line item is requested to ship from the FOB point. | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they track this field. Share this info if available. Share this info if available. |
requestedInHands | The date the line item is requested to arrive at the shipping destination | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they track this field. Share this info if available. |
referenceSalesQuote | The sales quote number associated with this purchase order line (if applicable). | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they track this field. |
Program | Program pricing information. | FALSE | |
endCustomerSalesOrder | The distributor’s order number provided to the end customer | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they consume this field. |
productId | The manufacturer’s product id associated with the configuration data. | FALSE | |
customerProductId | The distributor’s product id | FALSE | Share this info if available to have this displayed on the label. |
lineItemGroupingId | An identifier that allows configuration data to be spread out among multiple purchase order lines. Keep lineItemGroupingID unique when referencing the same product on the purchase order. Any change to the product, location, decoration, or artwork should produce a unique lineItemGroupingID to the purchase order. | FALSE | Send 1 to stay compliant with this service |
PartArray | An array of product part information. This array should be populated with information from the supplier’s PromoStandards Product Pricing and Configuration service | FALSE | Strongly recommend using this Array for sku accuracy. |
Configuration | An object containing line item configuration data | FALSE | Populate if available. No needed for Simple PO. |
Tolerance Details
Field | Description | Required | Best Practice |
tolerance | An enumerator specifying the quantity tolerance allowed: AllowOverRun, AllowUnderrun, AllowOverrunOrUnderrun, ExactOnly. Specifying AllowOverRun, AllowUnderrun or AllowOverrunOrUnderrun without a value and uom will result in the supplier’s discretion. | TRUE | Use AllowOverruns and work with the Supplier to confirm this feature is available. |
value | The overrun/underrun permitted. This element is ignored if ExactOnly is specified for tolerance. | FALSE | |
uom | The unit of measure for value element; enumerated values are: {Percent, Quantity}. This element is ignored if ExactOnly is specified for tolerance. | FALSE |
Program
Field | Description | Required | Best Practice |
id | The program id associated with this purchase order line (if applicable). | FALSE | Ideal for Simple POs to reference past programs that Suppliers can use to replicate new orders. |
name | The program name associated with this purchase order line (if applicable). | FALSE |
Quantity
Field | Description | Required | Best Practice |
value | The quantity value | TRUE | |
uom | The unit of measure; values are enumerated. Values are: {BX, CA, DZ, EA, KT, PR, PK, RL, ST, SL, TH} BX - Box CA - Case DZ - Dozen EA - Each KT - Kit PR - Pair PK - Package RL - Roll ST - Set SL - Sleeve TH - Thousand | TRUE | Ensure quantity entered is based on UOM. Please review the corresponding PPC spec for Supplier and how they have configured the product. |
Configuration
Field | Description | Required? | Best Practice |
referenceNumber | The previous order number that this purchase order is referencing | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they consume this field. Ideal for Configured POs. |
referenceNumberType | The type of the prior order reference; values are enumerated: “PurchaseOrder”,”SalesOrder”, “JobOrWorkOrder” | FALSE | When reordering, it might be beneficial for the supplier to receive the PO or SO# for the previous order. Ideal for Configured POs. |
preProductionProof | Indicates that this line item is for a pre-production proof | TRUE | |
ChargeArray | An array of charge information. This array should be populated with information from the supplier’s PromoStandards Product Pricing and Configuration service | FALSE | |
LocationArray | An array of Decoration Location Information. This array should be populated with information from the supplier’s PromoStandards Product Pricing and Configuration service | FALSE |
Part
Field | Description | Required | Best Practice |
partGroup | An identifier that links common line item parts together | FALSE | |
partId | The part Id from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | Strongly recommend to populate this field to ensure accurate order processing |
customerPartId | How the part is being represented to the distributor’s customer | FALSE | Share this info if available |
customerSupplied | The part will be supplied by the customer or another entity other than the supplier | TRUE | |
description | The description from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | |
Quantity | The quantity object that contains the value and unit of measure | TRUE | |
locationLinkId | An array of location link Ids. This links the part to its configured locations. | FALSE | |
unitPrice | The price of the part being referenced. | FALSE | |
extendedPrice | The unitPrice multiplied by the Quantity value. | FALSE | |
ShipmentLinkArray | Link this part and a specified quantity to one or many shipments. | FALSE | Check with the Supplier if they allow multiple Ship TOs on one PO. |
ShipmentLink
Field | Description | Required | Best Practice |
shipmentId | The shipment Id | TRUE | Use this field to accurately tie Ship to Addresses to specific Line Items. Send 1 to stay compliant with this service |
Quantity | The quantity object that contains the value and unit of measure | TRUE |
Charge
Field | Description | Required | Best Practice |
chargeId | The chargeId from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | Fill this array if info is available |
chargeName | The chargeName from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | |
description | The charge description from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | |
chargeType | The type of charge. Values are enumerated {Freight, Order, Run, Setup}. | TRUE | |
Quantity | The quantity object that contains the value and unit of measure | TRUE | |
unitprice | The price of the charge being referenced. | FALSE | |
extendedPrice | The unitPrice multiplied by the Quantity value | FALSE |
Location
Field | Description | Required | Best Practice |
locationLinkId | An identifier to be used within the Part Array to link configured locations to a part. Due to different colors and sizes, identical locations may need to be decorated differently. | TRUE | Fill this array if info is available |
locationId | The locationId from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | Send - 1 to stay compliant with service |
locationName | The locationName from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | Send the desired imprint location, this should match what is typically sent via the PO PDF |
DecorationArray | An array of product decoration information | TRUE |
Decoration
Field | Description | Required | Best Practice |
decorationId | The decorationId from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | Fill this array if info is available. Send - 1 to stay compliant with service |
decorationName | The decorationName from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | Recommended to pass a description of the decoration name. This should match what is typically sent via PO PDF |
Artwork | The object containing the details of the artwork | TRUE |
Artwork
Field | Description | Required | Best Practice |
refArtworkId | A pre-shared artwork Id that can be used by the supplier to find and reference the artwork. | FALSE | Fill this array if info is available |
description | A textual description of the artwork being provided. | FALSE | |
Dimensions | The dimensions of the artwork | FALSE | |
ArtworkFileArray | An array of artwork file data | FALSE | |
instructions | Any instructions regarding the processing or modification of artwork. Adding instructions will cause delays in processing. | FALSE | |
Layers | An object that explains how the artwork layers or stops will be handled | FALSE | |
TypesetArray | An array of typeset data | FALSE | |
totalStitchCount | The total stitch count for the specified embroidery art | FALSE |
Artwork File Name
Field | Description | Required | Best Practice |
fileName | The file name and extension only of the artwork | TRUE | Fill this array if info is available |
fileLocation | The exact path/location to the artwork | TRUE | If this is an HTTP(s)/FTP location please ensure that it is accessible without authentication |
transportMechanism | The mechanism that will be used to transport the artwork; values are enumerated: “Email”, “Url”, “Ftp”, “ArtworkToFollow” | TRUE | Suppliers should be prepared to accept files in excess of 25 megs due to the nature of file sizes of artwork files. |
artworkType | The purpose of the artwork file; values are enumerated: “ProductionReady”, “VirtualProof”, “SupplierArtTemplate”, “NonProductionReady” | TRUE |
Dimensions
Field | Description | Required | Best Practice |
geometry | The geometry of the decoration. Values are enumerated: {Circle, Rectangle, Other}. | TRUE | Fill this array if info is available |
useMaxLocationDimensions | Use the maximum allowed imprint dimensions for this location. If this is set to true, all other dimension information is ignored except for geometry. Note: Max dimensions be also found from the supplier’s PromoStandards Product Pricing and Configuration service. | TRUE | |
height | The height of the artwork; leave blank if the imprint is not rectangular | FALSE | |
width | The width of artwork; leave blank if the imprint is not rectangular | FALSE | |
diameter | The diameter of the artwork; leave blank if the imprint is not circular | FALSE | |
uom | The unit of measure for the decoration area in ISO 20022 https://www.iso20022.org/standardsrepository/public/wqt/Description /mx/dico/codesets/_Y4XF0tp-Ed-ak6NoX_4Aeg_385163498 | FALSE |
Layers
Field | Description | Required | Best Practice |
colorSystem | The color system to use: Cmyk, Other, Pms, Rgb, Thread | TRUE | Fill this array if info is available |
LayerOrStopArray | An array of layers for the artwork | TRUE |
LayerorStop
Field | Description | Required | Best Practice |
nameOrNumber | The name or number of the layer/stop | TRUE | Fill this array if info is available |
description | A human readable description of the layer | TRUE | |
color | The color value that corresponds to the colorSystem defined | TRUE | The desired imprint color |
Typeset
Field | Description | Required | Best Practice |
sequenceNumber | The order of the typeset information | TRUE | Fill this array if info is available |
value | The typeset to be used on the order | TRUE | |
font | The font to use for the typeset | FALSE | |
fontSize | The font size to use for the typeset | FALSE |
Shipment
Field | Description | Required | Best Practice |
customerPickup | The shipment will be a pickup and will not be shipped | TRUE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they support this feature. |
ShipTo | The object containing the ship to information | TRUE | |
ThirdPartyAccount | The object containing the third party information for the shipping account to use and the business entity that is paying for the shipping. Otherwise known as ship using this account. | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they support this feature and ensure this is setup before going live. Populate this object with as much info as available. Company name, address and zip code at the minimum. |
shipReferences | Array of two strings max of identifiers used as the reference fields used during the shipping process. A shipReference can be a purchase order number, customer number, company name, Bill of Lading number, or a phrase that identifies that shipment | FALSE | |
packingListRequired | Packing list required | TRUE | Populate this field |
blindShip | Require blind shipping | TRUE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they support this feature. |
allowConsolidation | Allow consolidation of shipments | TRUE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they support this feature. |
FreightDetails | The details on the freight: carrier and service | TRUE | |
comments | Comments regarding the shipment for further clarification. Note: Use comments only when absolutely necessary, as it may cause delays in order processing. | FALSE |
Freight Details
Field | Description | Required | Best Practice |
carrier | The carrier name of the shipping vendor being requested. (i.e. “UPS”, “FEDEX”, etc.) | TRUE | Recommend reaching out to Supplier for specific format/values. Recommend Suppliers supporting standard formats. |
service | The service code of the shipping vendor for the service being requested. i.e. GROUND, 2DAY, NEXTDAY, etc. | TRUE | Recommend reaching out to Supplier for specific format/values. Recommend Suppliers supporting standard formats. |
ShipTo
Field | Description | Required | Best Practice |
shipmentId | The shipment id that can be referenced in the ShipmentLink object. | TRUE | Send 1 to stay compliant with this service |
ContactDetails | The object containing the third party contact details | TRUE |
ThirdPartyAccount
Field | Description | Required | Best Practice |
accountName | The name of the account that will be used for shipping. | TRUE | |
accountNumber | The number of the account that will be used for shipping. | TRUE | |
ContactDetails | The object containing the third party contact details | TRUE |
Contact
Field | Description | Required | Best Practice |
contactType | The type of contact. Values are enumerated: {“Art”, “Bill”, “Expeditor”, “Order”, “Sales”, “Ship”, “Sold”} | TRUE | Recommend sending Contact information to support Order fulfillment issues. Recommended to use the contact type of "Expeditor" or “Order” as PO contact in the event the order needs clarification |
ContactDetails | The object that contains the details about the contact. | TRUE | Send as much info as you can |
accountName | The name of the account that will be invoiced for the purchase order. This should be populated when the contactType is Bill. | FALSE | |
accountNumber | The number of the account that will be invoiced for the purchase order. This should be populated when the contactType is Bill. | FALSE |
ContactDetails
Field | Description | Required | Best Practice |
attentionTo | Attention To (first and last name of contact) | FALSE | |
companyName | Company Name | FALSE | |
address1 | Address line 1 | FALSE | |
address2 | Address line 2 | FALSE | |
address3 | Address line 3 | FALSE | |
city | The city | FALSE | |
region | The 2 character US state abbreviation or 2-3 character non-US region. | FALSE | |
postalCode | The postal code | FALSE | |
country | The country in ISO 3166-2 format | FALSE | |
The Email | FALSE | ||
phone | The phone number | FALSE | |
comments | Comments regarding the contact for further clarification. Note: Use comments only when absolutely necessary, as it may cause delays in order processing. | FALSE |
Response: SendPOResponse
Field | Description | Required | Best Practice |
transactionId | The transaction identifier in response indicating a successful transfer of a schematically valid PO payload. It can also be used for IT departments to help with diagnostics and technical support. This transaction identifier does not indicate that the PO was successfully entered and inventory was allocated. The use of the Order Status service can provide the status of the order going forward. If no transaction identifier is returned, a populated ErrorMessage object must be returned indicating the fault (Error severity is a failure). A populated ErrorMessage object returned with a transaction identifier indicates the PO was successfully transferred but initial validation detected problems preventing it from being processed without human intervention (Error severity is a warning). Based on the agreement with the supplier, either correct these issues and resubmit a revised PO or wait for contact from a supplier representative. | FALSE |
|
ServiceMessageArray | An array of ServiceMessage objects. | FALSE | Please provide accurate error messages based on the Standardized codes in the spec |
Sample PO Request
General comments:
Sample Decorated orders can be submitted. Please make sure to reach out to respective Suppliers and confirm they can accept Sample orders.
...
Fully configured Sample orders would be ideal, however Suppliers should be able to accept all fields including Configured data in the Sample PO and consume the information to be able to process the PO.
sendPO()
Field | Description | Required | Best Practice |
orderType | The type of data transferred in the request; values are enumerated: “Blank”—This is data is for blank goods. “Sample”—This data is for a random sample order “Simple”—The data in the purchase order is sent over without supplier configured data and will be processed manually. “Configured”—The data is sent over in conjunction with the supplier’s Product Pricing and Configuration web service and designed for electronic processing of the purchase order. | TRUE | Use “Sample” as the OrderType |
orderNumber | Purchase order number | TRUE | |
orderDate | The date and time of the purchase order. | TRUE | |
lastModified | The date and time the purchase order was last modified | FALSE | |
totalAmount | The total dollar amount of the purchase order | TRUE | |
paymentTerms | The terms of the purchase order. i.e. NET15, NET30, etc. | FALSE | |
rush | Used to indicate a rush on the purchase order. | TRUE |
|
currency | The currency the purchase order is transacted in ISO4217 format. | TRUE | |
DigitalProof | An object containing preproduction digital proof information | FALSE | |
OrderContactArray | An array of contact information | FALSE | Recommended to share this information if available to address any issues. SoldTo contact can be used to identify the customer who can help with addressing any issues related to the order. |
ShipmentArray | Any array of purchase order shipments | TRUE | |
LineItemArray | An array of purchase order line items | TRUE | |
termsAndConditions | The terms and conditions for this purchase order. Information that is order specific or information dealing with the configuration or shipment of the order should not be entered here. | FALSE | |
salesChannel | The sales channel | FALSE | Recommended to ensure order is placed under the appropriate office/location. Mark this open to be discussed later since this field is being used for different purposes. |
promoCode | The promotion code | FALSE | |
TaxInformationArray | An array of TaxInformation objects related to calculating taxes | FALSE |
Digital Proof
Field | Description | Required | Best Practice |
required | A Boolean value set to TRUE indicates a proof is required for this purchase order; the value is FALSE otherwise. | TRUE | |
DigitalProofAddressesArray | An array containing DigitalProofAddress objects. | TRUE |
Digital Proof Address
Field | Description | Required | Best Practice |
type | The type of address of the digital proof. Values are enumerated: Email, Webservice | TRUE | |
The address that the digital proof should be sent to prior to production. | TRUE | ||
lineItemGroupingId | What line item group does this proof address link to | TRUE | Send 1 to stay compliant with this service |
Tax Information
Field | Description | Required? | Best Practice |
taxId | The purchasers tax identifier | TRUE | |
taxType | The type of tax the identifier applies to. Values are enumerated: “Hst-Gst”, “Pst”, “SalesTax” | TRUE | |
taxExempt | Tax Except | TRUE | |
taxJurisdiction | Tax Jurisdictions | TRUE | |
taxAmount | The amount of tax for this purchase order | FALSE |
Line Item
Field | Description | Required | Best Practice |
lineNumber | The line number of the line item | TRUE | |
description | The description of the line item. For simple order type (not using a configuration), use this field to explain the details. | TRUE | Include instructions for specific parts listed for the given line item if PartArray info is not available. The best practice is to include the PartArray as this makes it easier for the Supplier to process the order. |
lineType | The type of order; values are enumerated: · “New” –A new purchase order with no prior order reference · “Repeat” —An exact repeat of a previous purchase order with the vendor · “Reference” –An order that has the same artwork as a previous order. | TRUE | Use “Repeat” and/or “Reference” if applicable. Connect with the Supplier to ensure they can process this information. |
Quantity | The quantity object that contains the value and unit of measure | TRUE | |
fobId | Used to indicate the FOB point. Use fobId from the supplier’s Product Pricing and Configuration Service to populate this information. | FALSE | |
ToleranceDetails | The object containing how tolerant this line is to overrun and underruns. | TRUE | |
allowPartialShipments | Allow partial shipments of this line item | TRUE | |
unitPrice | The unit price of the line item | FALSE | |
lineItemTotal | The total for the line item | TRUE | |
requestedShipDate | The date the line item is requested to ship from the FOB point. | FALSE | |
requestedInHands | The date the line item is requested to arrive at the shipping destination | FALSE | |
referenceSalesQuote | The sales quote number associated with this purchase order line (if applicable). | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they track this field. |
Program | Program pricing information. | FALSE | |
endCustomerSalesOrder | The distributor’s order number provided to the end customer | FALSE | |
productId | The manufacturer’s product id associated with the configuration data. | FALSE | |
customerProductId | The distributor’s product id | FALSE | |
lineItemGroupingId | An identifier that allows configuration data to be spread out among multiple purchase order lines. Keep lineItemGroupingID unique when referencing the same product on the purchase order. Any change to the product, location, decoration, or artwork should produce a unique lineItemGroupingID to the purchase order. | FALSE | Send 1 to stay compliant with this service |
PartArray | An array of product part information. This array should be populated with information from the supplier’s PromoStandards Product Pricing and Configuration service | FALSE | Strongly recommend using this Array for sku accuracy. |
Configuration | An object containing line item configuration data | FALSE |
Tolerance Details
Field | Description | Required | Best Practice |
tolerance | An enumerator specifying the quantity tolerance allowed: AllowOverRun, AllowUnderrun, AllowOverrunOrUnderrun, ExactOnly. Specifying AllowOverRun, AllowUnderrun or AllowOverrunOrUnderrun without a value and uom will result in the supplier’s discretion. | TRUE | Use AllowOverruns and work with the Supplier to confirm this feature is available. |
value | The overrun/underrun permitted. This element is ignored if ExactOnly is specified for tolerance. | FALSE | |
uom | The unit of measure for value element; enumerated values are: {Percent, Quantity}. This element is ignored if ExactOnly is specified for tolerance. | FALSE |
Program
Field | Description | Required | Best Practice |
id | The program id associated with this purchase order line (if applicable). | FALSE | |
name | The program name associated with this purchase order line (if applicable). | FALSE |
Quantity
Field | Description | Required | Best Practice |
value | The quantity value | TRUE | |
uom | The unit of measure; values are enumerated. Values are: {BX, CA, DZ, EA, KT, PR, PK, RL, ST, SL, TH} BX - Box CA - Case DZ - Dozen EA - Each KT - Kit PR - Pair PK - Package RL - Roll ST - Set SL - Sleeve TH - Thousand | TRUE | Ensure quantity entered is based on UOM. Please review the corresponding PPC spec for Supplier and how they have configured the product. |
Configuration
Field | Description | Required? | Best Practice |
referenceNumber | The previous order number that this purchase order is referencing | FALSE | |
referenceNumberType | The type of the prior order reference; values are enumerated: “PurchaseOrder”,”SalesOrder”, “JobOrWorkOrder” | FALSE | |
preProductionProof | Indicates that this line item is for a pre-production proof | TRUE | |
ChargeArray | An array of charge information. This array should be populated with information from the supplier’s PromoStandards Product Pricing and Configuration service | FALSE | best practice to send info in this array for configured POs. Suppliers may confirm the charges against their system before processing the PO. |
LocationArray | An array of Decoration Location Information. This array should be populated with information from the supplier’s PromoStandards Product Pricing and Configuration service | FALSE | Best practice to send info in this array for Configured POs. |
Part
Field | Description | Required | Best Practice |
partGroup | An identifier that links common line item parts together | FALSE | |
partId | The part Id from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | Strongly recommend to populate this field to ensure accurate order processing |
customerPartId | How the part is being represented to the distributor’s customer | FALSE | Share this info if available |
customerSupplied | The part will be supplied by the customer or another entity other than the supplier | TRUE | |
description | The description from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | |
Quantity | The quantity object that contains the value and unit of measure | TRUE | |
locationLinkId | An array of location link Ids. This links the part to its configured locations. | FALSE | |
unitPrice | The price of the part being referenced. | FALSE | |
extendedPrice | The unitPrice multiplied by the Quantity value. | FALSE | |
ShipmentLinkArray | Link this part and a specified quantity to one or many shipments. | FALSE | Check with the Supplier if they allow multiple Ship TOs on one PO. |
ShipmentLink
Field | Description | Required | Best Practice |
shipmentId | The shipment Id | TRUE | Use this field to accurately tie Ship to Addresses to specific Line items. Send 1 to stay compliant with this service. |
Quantity | The quantity object that contains the value and unit of measure | TRUE |
Charge
Field | Description | Required | Best Practice |
chargeId | The chargeId from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | Best practice to use the PPC spec and assign the appropriate values in this section |
chargeName | The chargeName from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | |
description | The charge description from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | |
chargeType | The type of charge. Values are enumerated {Freight, Order, Run, Setup}. | TRUE | |
Quantity | The quantity object that contains the value and unit of measure | TRUE | |
unitprice | The price of the charge being referenced. | FALSE | |
extendedPrice | The unitPrice multiplied by the Quantity value | FALSE |
Location
Field | Description | Required | Best Practice |
locationLinkId | An identifier to be used within the Part Array to link configured locations to a part. Due to different colors and sizes, identical locations may need to be decorated differently. | TRUE | |
locationId | The locationId from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | Send 1 to stay compliant with this service if not sending location id from PPC |
locationName | The locationName from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | Send the desired imprint location, this should match what is typically sent via the PO PDF |
DecorationArray | An array of product decoration information | TRUE |
Decoration
Field | Description | Required | Best Practice |
decorationId | The decorationId from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | Fill this array if info is available. Send - 1 to stay compliant with service |
decorationName | The decorationName from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | Recommended to pass a description of the decoration name. This should match what is typically sent via PO PDF |
Artwork | The object containing the details of the artwork | TRUE | For samples, best practice for distributor and supplier to determine if samples can have decorations IF supplier accepts decorated samples, provide as much information as possible in artwork object |
Artwork
Field | Description | Required | Best Practice |
refArtworkId | A pre-shared artwork Id that can be used by the supplier to find and reference the artwork. | FALSE | |
description | A textual description of the artwork being provided. | FALSE | |
Dimensions | The dimensions of the artwork | FALSE | |
ArtworkFileArray | An array of artwork file data | FALSE | |
instructions | Any instructions regarding the processing or modification of artwork. Adding instructions will cause delays in processing. | FALSE | |
Layers | An object that explains how the artwork layers or stops will be handled | FALSE | |
TypesetArray | An array of typeset data | FALSE | |
totalStitchCount | The total stitch count for the specified embroidery art | FALSE |
Artwork File Name
Field | Description | Required | Best Practice |
fileName | The file name and extension only of the artwork | TRUE | |
fileLocation | The exact path/location to the artwork | TRUE | |
transportMechanism | The mechanism that will be used to transport the artwork; values are enumerated: “Email”, “Url”, “Ftp”, “ArtworkToFollow” | TRUE | |
artworkType | The purpose of the artwork file; values are enumerated: “ProductionReady”, “VirtualProof”, “SupplierArtTemplate”, “NonProductionReady” | TRUE |
Dimensions
Field | Description | Required | Best Practice |
geometry | The geometry of the decoration. Values are enumerated: {Circle, Rectangle, Other}. | TRUE | |
useMaxLocationDimensions | Use the maximum allowed imprint dimensions for this location. If this is set to true, all other dimension information is ignored except for geometry. Note: Max dimensions be also found from the supplier’s PromoStandards Product Pricing and Configuration service. | TRUE | |
height | The height of the artwork; leave blank if the imprint is not rectangular | FALSE | |
width | The width of artwork; leave blank if the imprint is not rectangular | FALSE | |
diameter | The diameter of the artwork; leave blank if the imprint is not circular | FALSE | |
uom | The unit of measure for the decoration area in ISO 20022 https://www.iso20022.org/standardsrepository/public/wqt/Description /mx/dico/codesets/_Y4XF0tp-Ed-ak6NoX_4Aeg_385163498 | FALSE |
Layers
Field | Description | Required | Best Practice |
colorSystem | The color system to use: Cmyk, Other, Pms, Rgb, Thread | TRUE | |
LayerOrStopArray | An array of layers for the artwork | TRUE |
LayerorStop
Field | Description | Required | Best Practice |
nameOrNumber | The name or number of the layer/stop | TRUE | |
description | A human readable description of the layer | TRUE | |
color | The color value that corresponds to the colorSystem defined | TRUE |
Typeset
Field | Description | Required | Best Practice |
sequenceNumber | The order of the typeset information | TRUE | |
value | The typeset to be used on the order | TRUE | |
font | The font to use for the typeset | FALSE | |
fontSize | The font size to use for the typeset | FALSE |
Shipment
Field | Description | Required | Best Practice |
customerPickup | The shipment will be a pickup and will not be shipped | TRUE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they support this feature. |
ShipTo | The object containing the ship to information | TRUE | |
ThirdPartyAccount | The object containing the third party information for the shipping account to use and the business entity that is paying for the shipping. Otherwise known as ship using this account. | FALSE | |
shipReferences | Array of two strings max of identifiers used as the reference fields used during the shipping process. A shipReference can be a purchase order number, customer number, company name, Bill of Lading number, or a phrase that identifies that shipment | FALSE | |
packingListRequired | Packing list required | TRUE | |
blindShip | Require blind shipping | TRUE | |
allowConsolidation | Allow consolidation of shipments | TRUE | |
FreightDetails | The details on the freight: carrier and service | TRUE | |
comments | Comments regarding the shipment for further clarification. Note: Use comments only when absolutely necessary, as it may cause delays in order processing. | FALSE |
Freight Details
Field | Description | Required | Best Practice |
carrier | The carrier name of the shipping vendor being requested. (i.e. “UPS”, “FEDEX”, etc.) | TRUE | Recommend reaching out to Supplier for specific format/values. Recommend Suppliers supporting standard formats. |
service | The service code of the shipping vendor for the service being requested. i.e. GROUND, 2DAY, NEXTDAY, etc. | TRUE | Recommend reaching out to Supplier for specific format/values. Recommend Suppliers supporting standard formats. |
ShipTo
Field | Description | Required | Best Practice |
shipmentId | The shipment id that can be referenced in the ShipmentLink object. | TRUE | |
ContactDetails | The object containing the third party contact details | TRUE |
ThirdPartyAccount
Field | Description | Required | Best Practice |
accountName | The name of the account that will be used for shipping. | TRUE | |
accountNumber | The number of the account that will be used for shipping. | TRUE | |
ContactDetails | The object containing the third party contact details | TRUE |
Contact
Field | Description | Required | Best Practice |
contactType | The type of contact. Values are enumerated: {“Art”, “Bill”, “Expeditor”, “Order”, “Sales”, “Ship”, “Sold”} | TRUE | Recommend sending Contact information to support Order fulfillment issues. Best practice to coordinate with distributor to define contact types It is recommended to define at least one contact type for PO contact |
ContactDetails | The object that contains the details about the contact. | TRUE | Send as much info as you can |
accountName | The name of the account that will be invoiced for the purchase order. This should be populated when the contactType is Bill. | FALSE | Provide as much information as possible |
accountNumber | The number of the account that will be invoiced for the purchase order. This should be populated when the contactType is Bill. | FALSE | Provide as much information as possible |
ContactDetails
Field | Description | Required | Best Practice |
attentionTo | Attention To (first and last name of contact) | FALSE | |
companyName | Company Name | FALSE | |
address1 | Address line 1 | FALSE | |
address2 | Address line 2 | FALSE | |
address3 | Address line 3 | FALSE | |
city | The city | FALSE | |
region | The 2 character US state abbreviation or 2-3 character non-US region. | FALSE | |
postalCode | The postal code | FALSE | |
country | The country in ISO 3166-2 format | FALSE | |
The Email | FALSE | ||
phone | The phone number | FALSE | |
comments | Comments regarding the contact for further clarification. Note: Use comments only when absolutely necessary, as it may cause delays in order processing. | FALSE |
Response: SendPOResponse
Field | Description | Required | Best Practice |
transactionId | The transaction identifier in response indicating a successful transfer of a schematically valid PO payload. It can also be used for IT departments to help with diagnostics and technical support. This transaction identifier does not indicate that the PO was successfully entered and inventory was allocated. The use of the Order Status service can provide the status of the order going forward. If no transaction identifier is returned, a populated ErrorMessage object must be returned indicating the fault (Error severity is a failure). A populated ErrorMessage object returned with a transaction identifier indicates the PO was successfully transferred but initial validation detected problems preventing it from being processed without human intervention (Error severity is a warning). Based on the agreement with the supplier, either correct these issues and resubmit a revised PO or wait for contact from a supplier representative. | FALSE |
|
ServiceMessageArray | An array of ServiceMessage objects. | FALSE | Please provide accurate error messages based on the Standardized codes in the spec |
Configured PO Request
sendPO()
Field | Description | Required | Best Practice |
orderType | The type of data transferred in the request; values are enumerated: “Blank”—This is data is for blank goods. “Sample”—This data is for a random sample order “Simple”—The data in the purchase order is sent over without supplier configured data and will be processed manually. “Configured”—The data is sent over in conjunction with the supplier’s Product Pricing and Configuration web service and designed for electronic processing of the purchase order. | TRUE | Use Configured as the OrderType |
orderNumber | Purchase order number | TRUE | |
orderDate | The date and time of the purchase order. | TRUE | |
lastModified | The date and time the purchase order was last modified | FALSE | |
totalAmount | The total dollar amount of the purchase order | TRUE | |
paymentTerms | The terms of the purchase order. i.e. NET15, NET30, etc. | FALSE | |
rush | Used to indicate a rush on the purchase order. | TRUE | Work with the supplier to define rush and which items are available for rush. |
currency | The currency the purchase order is transacted in ISO4217 format. | TRUE | |
DigitalProof | An object containing preproduction digital proof information | FALSE | Use DigitalProof to indicate a proof is required and specify the email addresses for approval |
OrderContactArray | An array of contact information | FALSE | Recommended to share this information if available to address any issues. SoldTo contact can be used to identify the customer who can help with addressing any issues related to the order. |
ShipmentArray | Any array of purchase order shipments | TRUE | |
LineItemArray | An array of purchase order line items | TRUE | |
termsAndConditions | The terms and conditions for this purchase order. Information that is order specific or information dealing with the configuration or shipment of the order should not be entered here. | FALSE | |
salesChannel | The sales channel | FALSE | Recommended to ensure order is placed under the appropriate office/location. Mark this open to be discussed later since this field is being used for different purposes. |
promoCode | The promotion code | FALSE | Supplier specific feature. Please check with the Supplier before using this field. |
TaxInformationArray | An array of TaxInformation objects related to calculating taxes | FALSE |
Digital Proof
Field | Description | Required | Best Practice |
required | A Boolean value set to TRUE indicates a proof is required for this purchase order; the value is FALSE otherwise. | TRUE | |
DigitalProofAddressesArray | An array containing DigitalProofAddress objects. | TRUE |
Digital Proof Address
Field | Description | Required | Best Practice |
type | The type of address of the digital proof. Values are enumerated: Email, Webservice | TRUE | Recommend Email type and specify email address with email field. |
The address that the digital proof should be sent to prior to production. | TRUE | ||
lineItemGroupingId | What line item group does this proof address link to | TRUE |
Tax Information
Field | Description | Required? | Best Practice |
taxId | The purchasers tax identifier | TRUE | |
taxType | The type of tax the identifier applies to. Values are enumerated: “Hst-Gst”, “Pst”, “SalesTax” | TRUE | |
taxExempt | Tax Except | TRUE | |
taxJurisdiction | Tax Jurisdictions | TRUE | |
taxAmount | The amount of tax for this purchase order | FALSE |
Line Item
Field | Description | Required | Best Practice |
lineNumber | The line number of the line item | TRUE | |
description | The description of the line item. For simple order type (not using a configuration), use this field to explain the details. | TRUE | |
lineType | The type of order; values are enumerated: · “New” –A new purchase order with no prior order reference · “Repeat” —An exact repeat of a previous purchase order with the vendor · “Reference” –An order that has the same artwork as a previous order. | TRUE | Use “Repeat” and/or “Reference” if applicable. Connect with the Supplier to ensure they can process this information. |
Quantity | The quantity object that contains the value and unit of measure | TRUE | |
fobId | Used to indicate the FOB point. Use fobId from the supplier’s Product Pricing and Configuration Service to populate this information. | FALSE | Supplier specific feature. Recommend if supplier offers this feature and customer is planning to choose the ship location. |
ToleranceDetails | The object containing how tolerant this line is to overrun and underruns. | TRUE | |
allowPartialShipments | Allow partial shipments of this line item | TRUE | Recommend reaching out to Suppliers to confirm this feature is allowed. |
unitPrice | The unit price of the line item | FALSE | Populate this field if information is available. |
lineItemTotal | The total for the line item | TRUE | |
requestedShipDate | The date the line item is requested to ship from the FOB point. | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they track this field. Share this info if available. Share this info if available. |
requestedInHands | The date the line item is requested to arrive at the shipping destination | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they track this field. Share this info if available. |
referenceSalesQuote | The sales quote number associated with this purchase order line (if applicable). | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they track this field. |
Program | Program pricing information. | FALSE | |
endCustomerSalesOrder | The distributor’s order number provided to the end customer | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they consume this field. |
productId | The manufacturer’s product id associated with the configuration data. | FALSE | |
customerProductId | The distributor’s product id | FALSE | Share this info if available to have this displayed on the label. |
lineItemGroupingId | An identifier that allows configuration data to be spread out among multiple purchase order lines. Keep lineItemGroupingID unique when referencing the same product on the purchase order. Any change to the product, location, decoration, or artwork should produce a unique lineItemGroupingID to the purchase order. | FALSE | Send 1 to stay compliant with this service |
PartArray | An array of product part information. This array should be populated with information from the supplier’s PromoStandards Product Pricing and Configuration service | FALSE | Strongly recommend using this Array for sku accuracy. |
Configuration | An object containing line item configuration data | FALSE | Required for Configured POs. Please use PPC spec from the Supplier to populate this section. |
Tolerance Details
Field | Description | Required | Best Practice |
tolerance | An enumerator specifying the quantity tolerance allowed: AllowOverRun, AllowUnderrun, AllowOverrunOrUnderrun, ExactOnly. Specifying AllowOverRun, AllowUnderrun or AllowOverrunOrUnderrun without a value and uom will result in the supplier’s discretion. | TRUE | Use AllowOverruns and work with the Supplier to confirm this feature is available. |
value | The overrun/underrun permitted. This element is ignored if ExactOnly is specified for tolerance. | FALSE | |
uom | The unit of measure for value element; enumerated values are: {Percent, Quantity}. This element is ignored if ExactOnly is specified for tolerance. | FALSE |
Program
Field | Description | Required | Best Practice |
id | The program id associated with this purchase order line (if applicable). | FALSE | |
name | The program name associated with this purchase order line (if applicable). | FALSE |
Quantity
Field | Description | Required | Best Practice |
value | The quantity value | TRUE | |
uom | The unit of measure; values are enumerated. Values are: {BX, CA, DZ, EA, KT, PR, PK, RL, ST, SL, TH} BX - Box CA - Case DZ - Dozen EA - Each KT - Kit PR - Pair PK - Package RL - Roll ST - Set SL - Sleeve TH - Thousand | TRUE | Ensure quantity entered is based on UOM. Please review the corresponding PPC spec for Supplier and how they have configured the product. |
Configuration
Field | Description | Required? | Best Practice |
referenceNumber | The previous order number that this purchase order is referencing | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they consume this field. Ideal for Configured POs. |
referenceNumberType | The type of the prior order reference; values are enumerated: “PurchaseOrder”,”SalesOrder”, “JobOrWorkOrder” | FALSE | When reordering, it might be beneficial for the supplier to receive the PO or SO# for the previous order. Ideal for Configured POs. |
preProductionProof | Indicates that this line item is for a pre-production proof | TRUE | |
ChargeArray | An array of charge information. This array should be populated with information from the supplier’s PromoStandards Product Pricing and Configuration service | FALSE | Recommend providing all applicable charges |
LocationArray | An array of Decoration Location Information. This array should be populated with information from the supplier’s PromoStandards Product Pricing and Configuration service | FALSE | Recommend integrating with PPC service and passing desired location information |
Part
Field | Description | Required | Best Practice |
partGroup | An identifier that links common line item parts together | FALSE | Recommend to send, not required if providing partId from PPC |
partId | The part Id from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | Strongly recommend to populate this field to ensure accurate order processing |
customerPartId | How the part is being represented to the distributor’s customer | FALSE | Share this info if available |
customerSupplied | The part will be supplied by the customer or another entity other than the supplier | TRUE | |
description | The description from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | Best practice is to send the description that is provided in PPC otherwise distributor should send their part description |
Quantity | The quantity object that contains the value and unit of measure | TRUE | |
locationLinkId | An array of location link Ids. This links the part to its configured locations. | FALSE | Recommend to provide when requesting multiple locations across different parts. Typically kit orders |
unitPrice | The price of the part being referenced. | FALSE | Populate this field if information is available. |
extendedPrice | The unitPrice multiplied by the Quantity value. | FALSE | Populate this field if information is available. |
ShipmentLinkArray | Link this part and a specified quantity to one or many shipments. | FALSE | Check with the Supplier if they allow multiple Ship TOs on one PO. This can be omitted if there is only one shipTo for the order. |
ShipmentLink
Field | Description | Required | Best Practice |
shipmentId | The shipment Id | TRUE | Use this field to accurately tie Ship to Addresses to specific Line Items. Send 1 to stay compliant with this service |
Quantity | The quantity object that contains the value and unit of measure | TRUE |
Charge
Field | Description | Required | Best Practice |
chargeId | The chargeId from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | Populate this section from the PPC Spec |
chargeName | The chargeName from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | Provide chargeName if possible. |
description | The charge description from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | Provide description if possible. |
chargeType | The type of charge. Values are enumerated {Freight, Order, Run, Setup}. | TRUE | |
Quantity | The quantity object that contains the value and unit of measure | TRUE | |
unitprice | The price of the charge being referenced. | FALSE | Provide unitprice if possible. |
extendedPrice | The unitPrice multiplied by the Quantity value | FALSE | Provide extendedPrice if possible. |
Location
Field | Description | Required | Best Practice |
locationLinkId | An identifier to be used within the Part Array to link configured locations to a part. Due to different colors and sizes, identical locations may need to be decorated differently. | TRUE | Populate this section from the PPC Spec |
locationId | The locationId from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | Send - 1 to stay compliant with service |
locationName | The locationName from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | Provide locationName if possible. |
DecorationArray | An array of product decoration information | TRUE |
Decoration
Field | Description | Required | Best Practice |
decorationId | The decorationId from the supplier’s PromoStandards Product Pricing and Configuration service | TRUE | Populate this section from the PPC Spec |
decorationName | The decorationName from the supplier’s PromoStandards Product Pricing and Configuration service. | FALSE | Provide decorationName if possible. |
Artwork | The object containing the details of the artwork | TRUE |
Artwork
Field | Description | Required | Best Practice |
refArtworkId | A pre-shared artwork Id that can be used by the supplier to find and reference the artwork. | FALSE | Use refArtworkId for repeat artwork. Confirm with the supplier that this is supported. |
description | A textual description of the artwork being provided. | FALSE | |
Dimensions | The dimensions of the artwork | FALSE | |
ArtworkFileArray | An array of artwork file data | FALSE | |
instructions | Any instructions regarding the processing or modification of artwork. Adding instructions will cause delays in processing. | FALSE | |
Layers | An object that explains how the artwork layers or stops will be handled | FALSE | |
TypesetArray | An array of typeset data | FALSE | If order requires typset data outside the typical logo imprint, the typset object should be populated with the typeset data and include desired font size and sequence of each set |
totalStitchCount | The total stitch count for the specified embroidery art | FALSE |
Artwork File Name
Field | Description | Required | Best Practice |
fileName | The file name and extension only of the artwork | TRUE | Name of file including extension. |
fileLocation | The exact path/location to the artwork | TRUE | If this is an HTTP(s)/FTP location please ensure that it is accessible without authentication. Work with supplier for guidance for each transport mechanism. Best practice is to enter email address or email subject if transportMechanism is Email. |
transportMechanism | The mechanism that will be used to transport the artwork; values are enumerated: “Email”, “Url”, “Ftp”, “ArtworkToFollow” | TRUE | Suppliers should be prepared to accept files in excess of 25 megs due to the nature of file sizes of artwork files. |
artworkType | The purpose of the artwork file; values are enumerated: “ProductionReady”, “VirtualProof”, “SupplierArtTemplate”, “NonProductionReady” | TRUE |
Dimensions
Field | Description | Required | Best Practice |
geometry | The geometry of the decoration. Values are enumerated: {Circle, Rectangle, Other}. | TRUE | |
useMaxLocationDimensions | Use the maximum allowed imprint dimensions for this location. If this is set to true, all other dimension information is ignored except for geometry. Note: Max dimensions be also found from the supplier’s PromoStandards Product Pricing and Configuration service. | TRUE | |
height | The height of the artwork; leave blank if the imprint is not rectangular | FALSE | |
width | The width of artwork; leave blank if the imprint is not rectangular | FALSE | |
diameter | The diameter of the artwork; leave blank if the imprint is not circular | FALSE | |
uom | The unit of measure for the decoration area in ISO 20022 https://www.iso20022.org/standardsrepository/public/wqt/Description /mx/dico/codesets/_Y4XF0tp-Ed-ak6NoX_4Aeg_385163498 | FALSE |
Layers
Field | Description | Required | Best Practice |
colorSystem | The color system to use: Cmyk, Other, Pms, Rgb, Thread | TRUE | |
LayerOrStopArray | An array of layers for the artwork | TRUE |
LayerorStop
Field | Description | Required | Best Practice |
nameOrNumber | The name or number of the layer/stop | TRUE | |
description | A human readable description of the layer | TRUE | |
color | The color value that corresponds to the colorSystem defined | TRUE | Work with supplier for supported colors per colorSystem. |
Typeset
Field | Description | Required | Best Practice |
sequenceNumber | The order of the typeset information | TRUE | |
value | The typeset to be used on the order | TRUE | |
font | The font to use for the typeset | FALSE | |
fontSize | The font size to use for the typeset | FALSE |
Shipment
Field | Description | Required | Best Practice |
customerPickup | The shipment will be a pickup and will not be shipped | TRUE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they support this feature. |
ShipTo | The object containing the ship to information | TRUE | |
ThirdPartyAccount | The object containing the third party information for the shipping account to use and the business entity that is paying for the shipping. Otherwise known as ship using this account. | FALSE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they support this feature and ensure this is setup before going live. Populate this object with as much info as available. Company name, address and zip code at the minimum. |
shipReferences | Array of two strings max of identifiers used as the reference fields used during the shipping process. A shipReference can be a purchase order number, customer number, company name, Bill of Lading number, or a phrase that identifies that shipment | FALSE | |
packingListRequired | Packing list required | TRUE | Populate this field |
blindShip | Require blind shipping | TRUE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they support this feature. |
allowConsolidation | Allow consolidation of shipments | TRUE | Supplier specific feature. Recommend reaching out to Supplier to confirm if they support this feature. |
FreightDetails | The details on the freight: carrier and service | TRUE | |
comments | Comments regarding the shipment for further clarification. Note: Use comments only when absolutely necessary, as it may cause delays in order processing. | FALSE |
Freight Details
Field | Description | Required | Best Practice |
carrier | The carrier name of the shipping vendor being requested. (i.e. “UPS”, “FEDEX”, etc.) | TRUE | Recommend reaching out to Supplier for specific format/values. Recommend Suppliers supporting standard formats. |
service | The service code of the shipping vendor for the service being requested. i.e. GROUND, 2DAY, NEXTDAY, etc. | TRUE | Recommend reaching out to Supplier for specific format/values. Recommend Suppliers supporting standard formats. |
ShipTo
Field | Description | Required | Best Practice |
shipmentId | The shipment id that can be referenced in the ShipmentLink object. | TRUE | |
ContactDetails | The object containing the third party contact details | TRUE |
ThirdPartyAccount
Field | Description | Required | Best Practice |
accountName | The name of the account that will be used for shipping. | TRUE | |
accountNumber | The number of the account that will be used for shipping. | TRUE | |
ContactDetails | The object containing the third party contact details | TRUE |
Contact
Field | Description | Required | Best Practice |
contactType | The type of contact. Values are enumerated: {“Art”, “Bill”, “Expeditor”, “Order”, “Sales”, “Ship”, “Sold”} | TRUE | Recommend sending Contact information to support Order fulfillment issues. Work with the supplier to determine what is supported or expected. |
ContactDetails | The object that contains the details about the contact. | TRUE | Send as much info as you can |
accountName | The name of the account that will be invoiced for the purchase order. This should be populated when the contactType is Bill. | FALSE | |
accountNumber | The number of the account that will be invoiced for the purchase order. This should be populated when the contactType is Bill. | FALSE |
ContactDetails
Field | Description | Required | Best Practice |
attentionTo | Attention To (first and last name of contact) | FALSE | |
companyName | Company Name | FALSE | |
address1 | Address line 1 | FALSE | |
address2 | Address line 2 | FALSE | |
address3 | Address line 3 | FALSE | |
city | The city | FALSE | |
region | The 2 character US state abbreviation or 2-3 character non-US region. | FALSE | |
postalCode | The postal code | FALSE | |
country | The country in ISO 3166-2 format | FALSE | |
The Email | FALSE | ||
phone | The phone number | FALSE | |
comments | Comments regarding the contact for further clarification. Note: Use comments only when absolutely necessary, as it may cause delays in order processing. | FALSE |
Response: SendPOResponse
Field | Description | Required | Best Practice |
transactionId | The transaction identifier in response indicating a successful transfer of a schematically valid PO payload. It can also be used for IT departments to help with diagnostics and technical support. This transaction identifier does not indicate that the PO was successfully entered and inventory was allocated. The use of the Order Status service can provide the status of the order going forward. If no transaction identifier is returned, a populated ErrorMessage object must be returned indicating the fault (Error severity is a failure). A populated ErrorMessage object returned with a transaction identifier indicates the PO was successfully transferred but initial validation detected problems preventing it from being processed without human intervention (Error severity is a warning). Based on the agreement with the supplier, either correct these issues and resubmit a revised PO or wait for contact from a supplier representative. | FALSE |
|
ServiceMessageArray | An array of ServiceMessage objects. | FALSE | Please provide accurate error messages based on the Standardized codes in the spec |