Tradecloud API v2 manual
  • Introduction
    • Welcome
      • Checklist
      • Support
    • API
      • Rules
      • Requests
      • JSON versus XML
      • Environments
      • Standards
      • Compatibility
      • Tools
        • Swagger UI
        • Postman
        • .NET SDK
      • Webhook versus polling
        • Polling usage
        • Polling echo
      • Delivery schedule
    • Security
      • Security overview
      • Authentication
      • Authorization
      • Encryption
      • Document storage
  • Guide
    • 1. Getting an Account
    • 2. Sending your first order
      • Option A: Sending a Delivery Schedule per order line
      • Option B: Sending a Single Delivery per order line
  • Processes
    • Forecasts
      • Issue a new forecast
      • Issue a new Slimstock forecast
    • Orders
      • Buyer order process
        • Issue a new order
          • Delivery schedule
          • Indicators
          • No delivery expected
          • Propose when accepted
          • Attach a document to an order
          • Choose attach document API
        • Update an existing order
        • Receive an order response
          • Download a document attached to an order response
          • Single delivery order response
        • Receive goods
        • Complete an order
        • Reopen an order
        • Cancel an order
      • Supplier order process
        • Receive an order
          • Download a document attached to an order
          • Single delivery order
        • Send order response
          • Attach a document to an order response
        • Reopen an order
        • Cancel an order
    • Shipments
      • Supplier shipment process
        • Send despatch advice
      • Buyer shipment process
        • Receive a shipment event
          • Download a document attached to a shipment
Powered by GitBook
On this page
  • Receiving methods
  • Choose your API method
  • Choose Your Delivery Format
  • Implementation options
  • Using the webhook API
  • Using the polling API
  • Order structure
  • Order header
  • Buyer order
  • Supplier order
  • Order status
  • orderEvent or order lines
  • Buyer line
  • Supplier line
  • Confirmed line
  • Delivery schedule
  • Prices
  • Line status
  • Charge lines
  • Item details
  1. Processes
  2. Orders
  3. Supplier order process

Receive an order

How to receive a purchase order sent by the buyer

PreviousSupplier order processNextDownload a document attached to an order

Last updated 3 months ago

Tradecloud sends purchase orders (new or updated) to suppliers when order events are triggered.

Receiving methods

Choose your API method

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:

Choose Your Delivery Format

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:

Implementation options

Using the webhook API

  • orderEvent: Contains the actual order event

Using the polling API

  • order: Contains the actual order in its current state

Order structure

This section assumes you're using either the orderEvent webhook API or the order polling API.

Order header

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.

Buyer order

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.

Supplier order

  • 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.

Order status

The order status is the aggregation of all the lines statuses.

Order process status

The order process status is one of:

  • Issued: the order is (re)issued by the buyer.

  • InProgress: the order is under negotiation between buyer and supplier

  • Confirmed: the order is completely agreed between buyer and supplier

  • Rejected: the order is completely rejected by supplier

  • Completed: the order is completed at the buyer

  • Cancelled: the order is cancelled by the buyer

Order logistics status

The order logistics status is one of:

  • Open: no or partial quantity Produced, ReadyToShip, Shipped or Delivered

  • Produced: the order full quantity is produced by the supplier

  • ReadyToShip: the order full quantity is ready to be shipped by the supplier

  • Shipped: the order full quantity is shipped by the supplier

  • Delivered: the order full quantity is delivered at the buyer

  • Cancelled: the order is cancelled by the buyer

orderEvent or order lines

lines 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.

Buyer line

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:

Item

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.

Buyer requests

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

The request status is one of:

  • Open: Requested by one party. To be approved or rejected by the other party.

  • Approved: The request is approved by the other party.

  • Rejected: The request is rejected by the other party.

  • Closed: The request is closed because it is not relevant anymore.

If the request status is Open the other party must approve or reject it.

Supplier line

Confirmed line

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

Delivery schedule

When using order or orderEvent the delivery schedule is used.

The lines.deliverySchedule together with the lines.prices fields give a simpler alternative for the deliverySchedule and prices fields in different places like buyerLine, buyerLine.requests, supplierLine.requests and confirmedLine.

  • 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.

Delivery schedule fields

  • 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

The delivery line logistics status is one of:

  • Open: no or partial quantity Produced, ReadyToShip, Shipped or Delivered

  • Produced: the delivery line quantity is produced by the supplier

  • ReadyToShip: the delivery line quantity is ready to be shipped by the supplier

  • Shipped: the delivery line quantity is shipped by the supplier

  • Delivered: the delivery line quantity is delivered at the buyer

Prices

  • 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.

Prices fields

  • 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)

It is advised to only use netPrice for its simplicity, or alternatively use grossPrice together with discountPercentage.

Line status

Line process status

The line process status is one of:

  • Issued: the line is (re)issued by the buyer

  • InProgress: the line is under negotiation between buyer and supplier

  • Confirmed: the line is agreed between buyer and supplier

  • Rejected: the line is rejected by supplier

  • Completed: the line is completed at the buyer

  • Cancelled: the line is cancelled by the buyer

Line in Progress status

The line in progress status is a more fine-grained status when an order line processStatus is InProgress and is one of:

  • OpenSupplierProposal: There is an open proposal from the supplier.

  • RejectedSupplierProposal: The proposal from the supplier was rejected and no other requests are open.

  • ReissuedRejectedLine: The rejected order line was reissued by the buyer.

  • OpenSupplierReopenRequest: There is an open reopen request from the supplier.

  • OpenBuyerReopenRequest: There is an open reopen request from the buyer.

  • RevertedCompletedLine: The completion of this line was reverted.

Line logistics status

The line logistics status is one of:

  • Open: no or partial quantity Produced, ReadyToShip, Shipped or Delivered

  • Produced: the line quantity is produced by the supplier

  • ReadyToShip: the line quantity is ready to be shipped by the supplier

  • Shipped: the line quantity is shipped by the supplier

  • Delivered: the line quantity is delivered at the buyer

  • Cancelled: the line is cancelled by the buyer

Charge lines

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.

Item details

The buyer may send item details to inform the supplier about part information. The supplier may check, change and add item details if they are not correct or incomplete. lines.mergedItemDetails will contain the original item details added by the buyer merged with the changed or added item details by the supplier.

  • 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

Webhook versus polling
Delivery schedule
Single delivery order
POST order webhook
order event name
POST poll
Download a document attached to an order
Send order response
Download a document attached to an order
Send order response
Standards
UNCL7161
Order process statuses
Order logistics statuses
Buyer line
Supplier line
Confirmed line
Delivery schedule
Delivery schedule
Prices
Prices
Line process status
Line in progress status
Line logistics status
Item details
Item
Charge lines
Request status
Charge lines
Scheduled delivery logistics status