Receive an order
How to receive a purchase order sent by the buyer
Last updated
How to receive a purchase order sent by the buyer
Last updated
Tradecloud sends purchase orders (new or updated) to suppliers when order events are triggered.
You must choose between two methods to receive orders:
Webhook API (Push): Tradecloud pushes orders to your system
Polling API (Pull): Your system periodically checks for new orders
For details on choosing between these methods:
You must also choose between two delivery formats:
Delivery Schedule: Multiple scheduled deliveries per order line
Single Delivery: One scheduled delivery per order line
For details on choosing between these formats:
If you're using single delivery format, please see:
orderEvent
: Contains the actual order event
order
: Contains the actual order in its current state
This section assumes you're using either the orderEvent
webhook API or the order
polling API.
The order header contains:
id
(in order
) or orderId
(in orderEvent
): Tradecloud order identifier
buyerOrder
: the buyer part of the order, see below.
supplierOrder
: the supplier part of the order.
indicators.deliveryOverdue
is true when at least one order line is overdue.
version
: the Tradecloud order version number.
eventDates
: some key order event date/times.
meta
: meta information, including source and trace info, about this messsage.
lastUpdatedAt
: is the latest date time the order has been changed, useful for polling orders.
buyerOrder
contains the buyer order fields:
companyId
: the buyer's Tradecloud company identifier.
supplierAccountNumber
: your account number as known in the buyer's ERP system.
description
: a free format additional description of this order added by the buyer.
contact
: the buyer employee responsible for this order.
properties
: are key-value based custom fields, added by the buyer.
notes
: are simple custom fields, added by the buyer.
labels
: value-added services labels on order level.
documents
: contain meta data, objectId or url, of attached documents by the buyer. See:
orderType
: the order type, one of Purchase
, Forecast
or RFQ
. Default Purchase
.
buyerAccountNumber
: the buyer account number as known in your ERP system.
The buyerAccountNumber
should be set on forehand in the Tradecloud connection with your buyer. You can set the account code when inviting a new connection or in the connection overview in the portal.
The order status is the aggregation of all the lines statuses.
orderEvent
or order
lineslines
contains one or more order lines:
id
: the Tradecloud line identifier.
indicators.deliveryOverdue
is true when the order line is overdue.
eventDates
: some key line event date/times.
lastUpdatedAt
: is the latest date time the order line has been changed, useful for polling.
buyerLine
contains the buyer order line fields:
position
: the line position within the purchase order
description
: a free format additional description of this line
requests
: the buyer can request different delivery schedule, prices and charge lines
terms
: the line terms as agreed with your buyer
contractNumber
: the agreed framework contract number
contractPosition
: the related position within the framework contract
projectNumber
: The buyer's project number reference
productionNumber
: The buyer's production number reference
salesOrderNumber
: The buyer's sales order number (not be confused with your sales order number)
indicators.noDeliveryExpected
: No goods are expected to be delivered to the buyer, for example a service, fee or text line.
indicators.delivered
: All goods are delivered at the buyer.
properties
: are key-value based custom fields. may be used for a new line in the value.
notes
: are simple custom fields. may be used for a new line.
labels
: value-added services labels on line level.
documents
: contain meta data and link of attached documents, see:
lines.buyerLine.item
: The item (or article, goods) to be delivered.
number
: the item code or number as known in the buyer ERP system.
revision
: the revision (or version) of this item number
name
: the item short name
purchaseUnitOfMeasureIso
: the purchase unit according to ISO 80000-1, a typical example is PCE
supplierItemNumber
: the item code or number as known at the supplier.
item.number
and supplierItemNumber
are optional and may be left empty by the buyer, for example in case of service or RFQ orders.
If the supplier cannot process the order line without item.number
or item.supplierItemNumber
, the supplier should reject the order line and provide a reason.
item.number
should be unique within the buyer's company and should never change.
lines.buyerLine.requests.reopenRequest
: the buyer requests to reopen the confirmed order line. The buyer has requested a different delivery schedule, prices and/or charge lines compared to the confirmed order line.
deliverySchedule
: the requested alternative delivery schedule
prices
: the requested alternative prices
reason
: the reason of this request given by the supplier
Request status
If the request status is Open
the other party must approve or reject it.
lines.confirmedLine
: the agreed order line between buyer and supplier.
Only if the process status is Confirmed
the line is agreed between buyer and supplier
lines.confirmedLine.deliverySchedule
: the agreed delivery schedule
lines.confirmedLine.prices
: the agreed prices
When using order
or orderEvent
the delivery schedule is used.
lines.deliverySchedule
: the current delivery schedule, either having Issued
or Confirmed
values.
The lines.deliverySchedule
field does NOT include any open supplier or buyer request. Be aware that either the Issued
or Confirmed
values are returned, dependent on the line status.
lines.deliveryScheduleIncludingRequests
: the current delivery schedule, either having Issued
, In Progress
or Confirmed
values.
The lines.deliveryScheduleIncludingRequests
field does include any open supplier or buyer request. Be aware that the Issued
, proposal or reopen request or Confirmed
values are returned, dependent on the line and request status.
lines.deliverySchedule[IncludingRequests].position
: the optional position in the delivery schedule. Not to be confused with the line.position
lines.deliverySchedule[IncludingRequests].quantity
: the quantity of this delivery schedule position. Quantity has a decimal 1234.56
format with any number of digits.
Logistics fields
These additional logistics fields are only available in the order line level delivery schedule:
lines.deliverySchedule[IncludingRequests].etd
: The optional logistics Estimated Time of Departure (local date without time zone). Date has ISO 8601 date yyyy-MM-dd
format.
lines.deliverySchedule[IncludingRequests].eta
: The optional logistics Estimated Time of Arrival (local date without time zone). Date has ISO 8601 date yyyy-MM-dd
format.
Scheduled delivery logistics status
lines.prices
: the current prices, either having Issued
or Confirmed
values.
The lines.prices
field does NOT include any open supplier or buyer request. Be aware that either the Issued
or Confirmed
values are returned, dependent on the line status.
lines.pricesIncludingRequests
: the current prices, either having Issued
, In Progress
or Confirmed
values.
The lines.pricesIncludingRequests
field includes any open supplier or buyer request. Be aware that the Issued
, proposal or reopen request or Confirmed
values are returned, dependent on the line and request status.
lines.prices[IncludingRequests].grossPrice
: the gross price. Used together with discountPercentage
.
lines.prices[IncludingRequests].discountPercentage
: the discount percentage. Used together with grossPrice
.
lines.prices[IncludingRequests].netPrice
: the net price.
priceInTransactionCurrency
: the price in the transaction currency of the supplier, like CNY
in China.
value
: the price value has a decimal 1234.56
format with any number of digits.
currencyIso
: the 3-letter currency code according to ISO 4217, like EUR
, USD
and CNY
priceInBaseCurrency
: the price in your base currency, like EUR
in the EU.
value
: the price value has a decimal 1234.56
format with any number of digits.
currencyIso
: the 3-letter currency code according to ISO 4217, like EUR
.
lines.prices[IncludingRequests].priceUnitOfMeasureIso
: the 3-letter price unit according to ISO 80000-1. The purchase unit and price unit may be different.
lines.prices[IncludingRequests].priceUnitQuantity
: the item quantity at which the price applies. Typically this is 1 (unit price) or 100 (the price applies to 100 items)
chargeLines
: the requested or confirmed additional cost lines of an order line, independent of the order line prices, like transport, packing, administration, inspection and certification costs.
position
: the position used to identify a charge line.
chargeDescription
: a mandatory free text description, like "Transport costs".
quantity
: the mandatory quantity of this charge line.
price
: the mandatory price of this charge line.
priceInTransactionCurrency
: the mandatory price in the transaction currency of the supplier, like CNY
in China.
value
: the price value has a decimal 1234.56
format with any number of digits.
currencyIso
: the 3-letter currency code according to ISO 4217, like EUR
, USD
and CNY
.
priceInBaseCurrency
: the optional price in your base currency, like EUR
in the EU.
value
: the price value has a decimal 1234.56
format with any number of digits.
currencyIso
: the 3-letter currency code according to ISO 4217, like EUR
.
priceUnitOfMeasureIso
: the 3-letter price unit according to ISO 80000-1 which applies to the charge line price.
countryOfOriginCodeIso2
: The ISO 3166-1 alpha-2 country code of manufacture, production, or growth where an article or product comes from.
combinedNomenclatureCode
: A tool for classifying goods, set up to meet the requirements both of the Common Customs Tariff and of the EU's external trade statistics.
netWeight
: Net weight of one item.
netWeightUnitOfMeasureIso
: Net weight unit according to ISO 80000-1.
dangerousGoodsCodeUnece
: UN numbers or UN IDs are four-digit numbers that identify dangerous goods, hazardous substances and articles in the framework of international transport.
serialNumber
: is an unique identifier assigned incrementally or sequentially to an item, to uniquely identify it.
batchNumber
: is an identification number assigned to a particular quantity or lot of material from a single manufacturer
Use the endpoint.
eventName
: Contains the
Use the endpoint.
status.processStatus
: is the aggregate of all lines .
status.logisticsStatus
: is the aggregate of all lines .
supplierOrder
is mostly an echo of your order fields as explained in .
buyerLine
: the buyer part of the order line, see below.
supplierLine
: the supplier part of the order line, see below.
confirmedLine
: the order line as agreed between buyer and supplier, see below.
deliverySchedule
: the current aggregated delivery schedule, see .
deliveryScheduleIncludingRequests
: the current aggregated delivery schedule including requests, see .
prices
: the actual prices, see below.
pricesIncludingRequests
: the actual prices, including any open supplier or buyer requests, see .
status.processStatus
: the order line's .
status.inProgressStatus
the order line's .
status.logisticsStatus
: the order line's .
mergedItemDetails
: detailed part information provided by both buyer and supplier, see .
item
: the item (or article, goods) to be delivered, see
chargeLines
: the requested alternative charge lines, see
status
: the .
supplierLine
is an echo of your order line fields as explained in .
lines.confirmedLine.chargeLines
: the agreed charge lines, see
lines.deliverySchedule[IncludingRequests].date
: the delivery date of this delivery schedule position. Date has ISO 8601 date yyyy-MM-dd
format. See also .
lines.deliverySchedule[IncludingRequests].status
: the optional delivery line's .
chargeTypeCode
: the mandatory charge reason code according to