Skip to main content
This guide covers the full order lifecycle in SCX: creating orders, managing status transitions, handling cancellations from both sides, processing returns, and issuing refunds.

Order Lifecycle

An order moves from creation through acceptance, shipping, and any post-order handling such as returns or refunds.

Order Process

Orders are processed in four stages: create the order, provide address information (if required), accept the order, and update individual line items as fulfillment progresses.
1

Create the order

A new order must be created by calling POST /v1/channel/order first.
2

Provide address information

If the order was created with status CREATED or UNACKED, send address data via PUT /v1/channel/order/address-update before transitioning to ACCEPTED.
3

Accept the order

Update the order status to ACCEPTED using PUT /v1/channel/order/status. The order is now ready for shipping.
4

Process line items

Update individual order item statuses (shipped, cancelled, returned, refunded) via PUT /v1/channel/order/status.

Order Constraints

  • An order’s purchase date must be later than the seller’s creation date.
  • An orderId must be be unique for each seller.
  • Order line items cannot be added, removed, or modified after the order has been created.

Order Status

An order carries one of the following statuses.

Order Line Item Status

Each order line item has a status that should be used to determine the overall order status:

State Transition Rules

The following rules govern when an order can change status.
  • Orders with status UNACKED or CREATED may not have valid address information.
  • An address update can only apply to orders with status UNACKED or CREATED.
  • Address information must be available before a status transition to ACCEPTED.
  • Once an order is assigned status ACCEPTED, the order status cannot be changed.

Order Item Status Transition Matrix

The table below shows which transitions between order item statuses are allowed: This is the normal lifecycle. From UNSHIPPED or SHIPPED, an item can also jump directly to CANCELED_BY_SELLER, CANCELED_BY_BUYER, or REFUNDED; from UNSHIPPED it can additionally go straight to RETURNED.

Tax Handling

The orderItem[].taxPercent field controls how VAT is applied to each order line item in JTL-Wawi. The field is optional and accepts a stringified numeric value (e.g. "20", "7"). See the Channel API Reference for the full order payload schema.

When orderItem[].taxPercent is provided

JTL-Wawi uses the value directly as the tax rate for that line item. This gives the channel full control over the applied VAT, for example setting "20" for a French buyer or "21" for a Spanish buyer.

When orderItem[].taxPercent is omitted

JTL-Wawi calculates the tax rate itself based on:
  • The tax class of the matched article in JTL-Wawi
  • The tax zone configuration of the seller’s JTL-Wawi instance (shipping country, tax rules, etc.)
The resulting tax rate depends entirely on the individual seller’s JTL-Wawi setup. If the seller has configured tax zones correctly for international shipments (e.g. France 20%, Spain 21%), JTL-Wawi can apply the appropriate country-specific rate. Otherwise the seller’s default domestic rate applies (e.g. 19% / 7% for Germany), depending on their configuration.
For unmatched line items (i.e. the SKU does not match any article in JTL-Wawi), the ERP default tax rate applies.

Examples

The following examples walk through an order from creation to line-item status update.

Create a CREATED Order

This request creates an order with status CREATED and two line items plus shipping.

Send Address Information

Send address information for an order with status CREATED:

Update Order Status to ACCEPTED

This request transitions the order to ACCEPTED, making it ready for shipping.

Update Order Line Item Status

This request marks individual line items as shipped and paid.

Cancellation

Cancellations can originate from the seller or from the buyer, and each path follows its own flow.
Sellers send a cancellation request with a CancellationRequestId which JTL-Wawi uses to assign the response later.
  • The CancellationRequestId provides unique assignment of the data (OrderId / OrderItemIDs) to the client.
  • A cancellation should always include all items to be cancelled. If the entire order is cancelled, all order items must be specified. For partial cancellation, only the cancelled items need to be specified.

Returns

A return can be announced by the channel, processed with or without a return shipment, and confirmed back to the seller.

Channel Informs About Upcoming Return

The Channel:Order.Return event notifies SCX that a return has been initiated on the connected marketplace.
This event is optional. Not all marketplaces support return announcements.
The event carries the following data:
  • Required data: OrderId, OrderItem List (ItemId, Quantity, Reason, Comment)
  • Optional data: ChannelReturnId (internal ID to identify the return case), Return Tracking Information (Carrier, TrackingNo.)
JTL-Wawi stores the upcoming return case:
  • If no item return is required, the return can be answered directly via POST /v1/seller/order/return.
  • If a return is required, the seller waits for the incoming return.

Merchant Decides No Return Is Required (Optional)

The seller can decide whether the customer needs to make a return. If no return is required, POST /v1/seller/order/return can be sent after receiving the Channel:Order.Return event with the requireReturnShipping property set to false.

Return Shipment Arrives

Once the return has arrived, the seller checks the items and confirms the return using POST /v1/seller/order/return. If a return already exists in JTL-Wawi, the stored information (including the channelReturnId) should be used. The following information about individual order items must be transferred:

Refunds

Refunds are initiated directly by the seller, for example after a return has been processed or following an agreement with the buyer (via ticket/email/phone). The channel processes the refund and sends a Channel:Order.RefundProcessingResult event back to the seller to confirm whether the refund was processed successfully or failed.

What’s Next?

Product Sync

Learn how listing and stock synchronization works.

Seller Management

Seller sign-up, update, and unlink flows.

Rate Limits

Per-endpoint quotas and 429 handling.

Channel API Overview

Events, metadata, and media content handling.

Channel API Reference

Full endpoint reference for the Channel API.