Purchase Order - JSON Specifiction

Summary

Use this format to send purchase orders to Chain.io or to receive them from Chain.io with the “Chain.io Order JSON” document type.
NameDescription
RootThe top level document
OrderA Purchase Order
OrderLineA line on a purchase order.
AddressA physical location.
Costing ComponentA further breakdown of the purchase order line into individual costing components.
AttachmentA file attachment
ContainerA container used to ship goods
Order ContainerA container used to ship goods
Planned Shipment LegsA planned shipment leg associated to an order
Planned Shipment Custom DeclarationA planned shipment custom declaration associated to an order
Planned ShipmentsA planned shipment associated to an order
MilestonesA milestone associated to an order
Order Native Reference NumbersA reference number associated to an order
NotesA note associated to an order
Native Reference NumbersA reference number associated to an order
NameData TypeDescriptionRequired
doc_typeStringAlways chainio_purchase_order
ordersArray<Order>Array of orders
versionStringThe version of the specification being used.
NameData TypeDescriptionRequired
addressesArray<Address>Addresses related to the purhcase order. Valid types are buyer, supplier, freight_forwarder, ultimate_consignee, carrier, customs_broker, buying-agent, consignee, manufacturer, ship_to, consignor, sending_forwarder, receiving_forwarder, carrier, goods_available_at.
booking_confirmation_dateDateTimeThe date on which the purchase orders have been confirmed for booking by the service provider (the forwarder or NVOCC if not a direct carrier booking) prior to shipment booking.
booking_confirmation_numberStringThe booking confirmation number from the service provider.
brand_codeStringCode for the purchasing party's brand.
cancelledBooleanWhen true, the PO is cancelled.
containerization_typeStringThe type of containerization for the purchase order.
containersArray<Order Container>Array of containers
created_atDateTimeTimestamp of the time this node was created.
currencyStringThe 3 character ISO 4217 currency code for the currency that will be used for values on the purchase order. Like “EUR”, “USD”.
currency_descriptionStringA long description of the currency like “Euros” or “US Dollars”.
customer_idStringThe supplier's identifier for the purchasing company.
customer_nameStringThe name of the customer associated with the order.
customer_order_numberStringThe order number from the party issuing the purchase order.YES
department_codeStringThe purchasing company's department number that is responsible for issuing the purchase order.
department_code_descriptionStringDescription of the customers department responsible for the order.
earliest_delivery_dateDateTimeThe earliest moment the supplier may deliver the product to the customer without penalty.
earliest_in_dc_dateDateTimeThe earliest date which the shipment should be delivered.
exchange_currencyStringThe currency in which the purchase order was or will be placed.
exchange_rateDecimalThe exchange rate for calculating the exchange currency.
exworks_required_dateDateTimeThe date on which the product should be ready for pickup.
first_saleBooleanWhether the first sale rule is applicable when clearing customs
follow_up_dateDateTimeThe date on which the purchase order should be followed up.
general_goods_descriptionStringGeneral description of the goods on the purchase order.
inco_termStringThe Incoterm under which the product will be purchased.
inco_term_descriptionStringThe description of the INCO Term under which the product will be purchased.
inco_term_named_placeStringThe place at which the Incoterm will be fulfilled. For example, the port for an FOB shipment.
inspection_passed_dateDateTimeDate/time when the order passed inspection.
inspection_requiredBooleanIs an inspection of the product required before shipping?
instructionsStringInstructions from the purchasing party to the supplier.
interchange_control_numberStringThe sequential identifier sent on an EDI document from a trading partner.
invoice_dateDateTimeThe date on which the invoice was issued.
latest_delivery_dateDateTimeThe last moment the supplier may deliver the product to the customer without penalty.
latest_in_dc_dateDateTimeThe latest date which the shipment should be delivered.
latest_in_store_dateDateTimeThe latest date on which the product should be in store.
master_order_numberStringThe purchasing party's master order number for the purchase order.
milestonesArray<Milestones>Array of milestones
modeStringThe mode of transportation for the purchase order.
native_reference_numbersArray<Order Native Reference Numbers>Array of native reference numbers
notesArray<Notes>Array of notes
order_dateDateTimeThe date and time that the order was issued by the purchasing party.
order_linesArray<OrderLine>The lines on the order.
order_type_codeStringCode of the order type
order_type_descriptionStringDescription of the order type
payment_termStringThe terms of the payment like NET30, COD, etc.
payment_term_descriptionStringA longer description of the payment term. Like “Cash on Delivery”.
planned_equipment_typeStringThe type of container / trailer in which the order should be sent.
planned_shipmentsArray<Planned Shipments>Array of planned shipments
promotion_start_dateStringThe date/time when the promotion and advertising for the product in this purchase order will start.
purchaser_notesStringPrivate notes that are only visible to the purchasing party and owner.
sales_order_numberStringThe identifying number on the Sales Order issued by the supplier.
seasonStringThe target retail season for the goods on the purchase order. Generally consists of an identifier like 'Summer 2021 ' or 'Black Friday 2021'.
season_typeStringDescribes the type of season indicated in the season field. Ex. 'Adhoc' or 'Catalogue'
secondary_order_numberStringAn alternate purchase order identification number in addition to the the customer's order number and supplier's order number. This may be a number representing the purchase order in a secondary purchasing system or a supply chain tool.
seller_order_numberStringDEPRECATED: Use supplier_order_number instead.
sent_dateStringTime the record was sent by the source system.
service_level_codeStringThe service level code for the purchase order.
service_level_descriptionStringThe service level description for the purchase order.
ship_from_countryStringThe country from which the goods are shipped.
ship_from_country_nameStringThe name of the country from which the goods are shipped.
source_system_idStringRecord identifier in the system that hosts the master copy of this record.
status_codeStringStatus code for the purchase order.
status_descriptionStringDescription of the status of the purchase order.
supplier_confirmation_dateDateTimeThe date on which the purchase orders have been confirmed by the supplier.
supplier_idStringThe purchasing company's identifier for the company that is supplying the product.
supplier_nameStringThe name of the supplier.
supplier_order_numberStringAn additional order number beyond the customer_order_number assigned by the supplier.
terms_and_conditionsStringThe legal terms and conditions specific to the order. This may be a reference to an external document.
transaction_purpose_codeStringThe purpose of the transaction. For example, the code could indicate that it is an original, a cancellation of a previously-submitted purchase order, or a duplicate of a previously-submitted purchase order.
transaction_type_codeStringThe type code of the transaction in relation to the purchase order.
transmission_uidStringA one-time unique identifying code for this transmission of the purchase order in question. Used for tracing and logging purposes.
warehouse_pick_ticketStringPick ticket number to be used in warehouse.
NameData TypeDescriptionRequired
actual_in_dc_dateDateTimeThe actual date the product arrived at the distribution center
addressesArray<Address>Addresses related to the line. Valid types are shipTo, ship_to_store, ship_from, ultimate_consignee, seller, forwarder, consignee, manufacturer.
arrival_portLocodeThe UN/LOCODE for the port where the shipment will arrive in its final country, generally provided on an international shipment.
arrival_port_actualDateTimeActual date the shipment arrived at the final air or ocean port (not including final inland transportation)
arrival_port_estimatedDateTimeEstimated date the shipment will arrive at the final air or ocean port (not including final inland transportation)
brand_codeStringThe code for the purchasing party’s brand.
buyer_referenceStringAn additional reference used by the Buyer on the Purchase Order
cargo_ready_dateDateTimeDate the product is ready to be picked up from the supplier
case_codeStringThe barcode displayed on the outer-most packaging of the product. Generally, this code is used to differentiate the case as a distinct retail product apart from the individual items inside the case.
color_codeStringA code representing the color of the product.
color_descriptionStringA human readable description of the color.
confirmation_dateDateTimeThe date that the order was confirmed.
containersArray<Container>Array of containers
costing_componentArray<Costing Component>Array of costing components
country_of_originStringThe product's country of origin, as defined by the rules of origin. This may be different than the country from which the product is exported
customer_product_idStringThe product identifier (or style) of the product. Generally this is a higher level category which may have child variants specified by the SKU.
customer_skuStringThe customer’s stock keeping unit number. This represents the most detailed product. For example, this may be STYLE-COLOR-SIZE.
delivery_modeStringThe mode of delivery like CY/CY, CFS/CY, etc.
departure_actualDateTimeActual date and time the vessel departed from it's origin point
departure_estimatedDateTimeEstimated date and time the vessel will depart from 's origin point
destination_warehouseStringThe destination warehouse where the product is being sent
ean_codeStringThe European Article Number code that is used to identify the product
earliest_delivery_dateDateTimeThe earliest moment the supplier may deliver the product to the customer without penalty.
earliest_in_dc_dateDateTimeThe earliest date which the shipment should be delivered.
estimated_in_dc_dateDateTimeThe date the line is estimated to be in the distribution center.
estimated_landed_costDecimalThe alternate price or the estimated landed cost of this product
ex_factory_dateStringDate at which the supplier needs to ensure the shipment is ready to move out from the factory and handed over to the shipment forwarder
extended_priceDecimalThe total price for all items on the line.
factory_countryStringThe country where the factory that made the product is located in
fish_and_wildlifeBooleanWhether fish and wildlife customs clearance will be required for the goods
gohStringThe Garments on Hanger code for this product
gross_weight_kgsDecimalThe gross weight of the item in Kilograms.
gross_weight_measure_codeStringThe unit of measure for the gross weight
gtinStringGlobal Trade Identification Number (https://www.barcode.graphics/education-gtin-14-barcode/)
hot_flagBooleanIf true, then the line is considered important and should be tracked with additional care
hts_codeStringThe product’s primary harmonized tariff code.
inco_termStringThe Incoterms under which the product will be purchased
inco_term_named_placeStringThe place at which the Incoterms will be fulfilled. For example, the port for an FOB shipment.
inner_pack_package_type_codeStringThe unit of measure for the inner pack.
instructionsStringInstructions from the customer to the supplier.
invoice_numberStringThe invoice number
item_height_cmsDecimalThe height in centimeters of a single item or unit.
item_length_cmsFloatThe length in centimeters of a single item or unit.
item_length_cmsFloatThe length in centimeters of a single item or unit.
item_material_descriptionStringDescription or breakdown of the item's materials or composition (ex. 75% polyester, 25% cotton).
item_width_cmsDecimalThe length in centimeters of a single item or unit.
item_width_cmsDecimalThe width in centimeters of a single item or unit.
lading_portLocodeThe UN/LOCODE for the lading port, generally provided on an international shipment.
latest_delivery_dateDateTimeThe last moment the supplier may deliver the product to the customer without penalty.
latest_in_dc_dateDateTimeThe latest date which the shipment should be delivered
line_idStringThe line number.
marks_and_numbersStringThe marks and numbers printed on the packaging.
modeStringThe mode of transport that should be used to deliver the product to the customer. Depending on the INCOTerm used, this may be the responsibility of the seller or the customer.
native_reference_numbersArray<Native Reference Numbers>Array of native reference numbers
outer_pack_package_height_cmsFloatThe height of the outer pack in centimeters.
outer_pack_package_length_cmsFloatThe length of the outer pack in centimeters.
outer_pack_package_type_codeStringThe code that represents the type of packaging for the largest packaging group. We recommend that you use standardized package type codes.
outer_pack_package_width_cmsFloatThe width of the outer pack in centimeters.
package_height_cmsFloatThe height in centimeters of a single product pack unit.
package_length_cmsFloatThe length in centimeters of a single product pack unit.
package_width_cmsFloatThe width in centimeters of a single product pack unit.
packaging_descriptionStringDescription of the packaging used, eg. “Brown Box”
packaging_requirementsStringSpecific packaging requirements or packing instructions for the order line.
prepack_typeStringInstructions on the child product that make up this SKU if it is a prepack of multiple individual items
price_ticket_instructionsStringThe instructions for the product tickets to detail whether or not the products will be ticketed and when in the process. For example: no tickets, supplier tickets, checkpoint tickets, cargo tickets
price_ticket_typeStringThe type of ticket of the product. For example: whether it is stick on or hang tag
product_category_codeStringA general category code that covers multiple unique products, see product_category_description for examples
product_category_descriptionStringA general category description like Shirts, Outerwear, Electronics that covers multiple unique products
product_descriptionStringThe product's description.
product_group_nameStringThe group this product is a part of
product_nameStringThe common or marketing name of product.
quantity_fulfilledDecimalThe total quantity that has been delivered from the supplier to the customer.
quantity_requestedDecimalThe total number of products requested by the supplier. In a simple order scenario, this is the line quantity.
required_in_store_dateDateTimeThe date that the product is required to be in store.
retail_priceDecimalThe retail price of this product
sales_order_line_idStringA value uniquely identifying the associated Sales Order line.
sales_order_numberStringA value uniquely identifying the Sales Order issued by the supplier.
sales_order_quantity_requestedFloatThe total number of products agreed to on the associated Sales Order line.
second_size_codeStringThe second size code of the product
ship_method_codeStringCode representing method of shipment to be used.
ship_method_descriptionStringInstructions on method of shipment to be used.
ship_to_location_idStringThe customer’s identifying code for the ship to address.
size_codeStringA code representing the size of the product.
size_descriptionStringA human readable description of the size.
sku_descriptionStringA description of the item being ordered.
sub_brand_codeStringThe code for the purchasing party’s sub brand.
supplier_product_idStringproduct_id assigned by the supplier.
total_inner_packagesFloatThe total number of inner packages included in the item.
total_packagesDecimalThe total number of packages included in the item.
total_piecesDecimalThe total number of individual pieces or eaches being shipped. If there are 5 cartons with 10 shirts in each carton this value should be 50 (5 x 10).
transaction_purpose_codeStringThe purpose of the transaction. For example, the code could indicate that it is an original, a cancellation of a previously-submitted purchase order, or a duplicate of a previously-submitted purchase order.
unit_of_measureStringA code representing the unit of measure of the item being ordered.
unit_of_measure_descriptionStringA human readable description of the unit of measure.
unit_priceDecimalThe price for a single unit of the product.
units_per_packDecimalThe number of inner units in each quantity ordered. For example, if ordering 10 6-packs of shirts, then quantity_requested = 10 and units_per_pack = 6 and the total number of physical shirts is 60.
upcStringThe UPC code of the product.
vendor_colorStringThe vendor specified color of the product
volume_cbmsDecimalThe volume of the item in Cubic Meters.
volume_per_unit_cbmsFloatThe volume in cubic meters of a single unit of the product.
warehouse_pick_ticketStringPick ticket number to be used in warehouse.
weight_per_unit_kgsFloatThe weight in kilograms of a single unit of the product.
NameData TypeDescriptionRequired
address_1StringThe first line of the address.
address_2StringThe second line of the address.
address_typeStringThe type of address represented by this element. Specific types may be defined on a per specification basis
cityStringThe city.
contact_nameStringThe full name of the contact person.
countryStringThe 2-Digit ISO 3166 Alpha-2 Country Code. Like 'US'
country_nameStringThe full name of the country like “United States”
emailStringThe contact email address
nameStringThe name associated with the address.
phone_numberStringThe contact phone number
postal_codeStringThe postal or ZIP code.
stateStringThe state, province, or administrative division code
state_nameStringThe full name of the state, province, or administrative division.
unlocodeStringThe UN/LOCODE associated with the address. Like 'USCHI'
NameData TypeDescriptionRequired
costDecimalCost of the costing component.
costing_codeStringCode for the costing component
NameData TypeDescriptionRequired
contentBase64A Base64 encoded string of the file content
created_atDateThe timestamp this document was attached.
created_byUserThe user account / party responsible for adding the attachment.
file_nameStringThe name of the file
file_type_codeStringA short code representing the logical type of file. (You might use 'INV' for an invoice.)
file_type_descriptionStringA descriptive file type like 'Invoice to customer X'
media_typeStringThe Media Type of the file (also known as MIME Type or Content-Type)
memoStringInformation regarding the contents of the file.
privateBooleanIf true, attachment is considered a private attachment.
source_system_uidStringA unique identifying code from the system of record for this attachment.
NameData TypeDescriptionRequired
container_numberStringIdentifying container number (including SCAC prefix)
seal_1StringContainer seal one
NameData TypeDescriptionRequired
container_numberStringIdentifying container number (including SCAC prefix)
seal_1StringContainer seal one
size_codeStringISO 6346 container size code (like 20G0)
type_codeStringISO 6346 container type code (like 20GP)
NameData TypeDescriptionRequired
arrival_estimatedDateTimeThe timestamp of the estimated date/time when shipment is estimated to arrive at the arrival unlocode.
leg_sequence_numberDecimalThe order of this leg within the shipment.
modeStringThe mode of transportation for the shipment. Recommended values: AIR, SEA, TRUCK, CARRY, RAIL, PARCEL.
vessel_nameStringThe name of the vessel, typically for ocean shipments.
voyage_numberStringThe voyage or flight number.
NameData TypeDescriptionRequired
broker_referenceStringThe Broker's file number for the customs declaration.
NameData TypeDescriptionRequired
arrival_unlocodeStringThe UN/LOCODE for the port where the shipment will arrive in its final country, generally provided on an international shipment.
arrival_unlocode_descriptionStringThe description of the UN/LOCODE for the port where the shipment will arrive in its final country, generally provided as the arrival city.
bill_of_lading_origin_unlocodeStringThe UN/LOCODE for the origin location of the bill of lading.
bill_of_lading_origin_unlocode_descriptionStringThe description of the UN/Locode for the origin location of the bill of lading.
booking_referenceStringThe reference number assigned to the booking by the booking party
customs_declarationArray<Planned Shipment Custom Declaration>Array of planned shipments customs declaration
forwarder_referenceStringThe forwarder's reference number for the shipment.
house_billStringThe house Bill of Lading Number.
legsArray<Planned Shipment Legs>Array of planned shipments legs
master_billStringThe master Bill of Lading Number.
service_levelStringThe level of service provided by the shipment's mode of transportation.
NameData TypeDescriptionRequired
estimated_dateDateTimeThe timestamp of when the event is estimated to occur. (May be in the past or future)
event_codeStringA code that indicates the type of event. Each tracking provider uses their own list of codes which you can map to actions. In an EDI 315 this would generally map to the B403 segment.
event_dateDateTimeThe time zone of the event date before converted to a timestamp.
event_nameStringThe description of the type of event. Use the same event name for all events with the same event code.
NameData TypeDescriptionRequired
codeStringA code identifying the type of reference number (ex. EDIREF, PO2).
descriptionStringA plain-text description of the reference number code. (ex. "EDI Reference Number", "Secondard PO Number").
valueStringThe reference number value
NameData TypeDescriptionRequired
bodyStringA code that indicates the type of event. Each tracking provider uses their own list of codes which you can map to actions. In an EDI 315 this would generally map to the B403 segment.
contextStringThe description of the type of event. Use the same event name for all events with the same event code.
typeStringThe time zone of the event date before converted to a timestamp.
NameData TypeDescriptionRequired
codeStringA code identifying the type of reference number (ex. EDIREF, PO2).
descriptionStringA plain-text description of the reference number code. (ex. "EDI Reference Number", "Secondard PO Number").
valueStringThe reference number value

Example