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
orderIdmust 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
UNACKEDorCREATEDmay not have valid address information. - An address update can only apply to orders with status
UNACKEDorCREATED. - 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
TheorderItem[].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.)
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 statusCREATED:
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.- By Seller
- By Buyer
Sellers send a cancellation request with a
CancellationRequestId which JTL-Wawi uses to assign the response later.- The
CancellationRequestIdprovides 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
TheChannel: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.
- Required data: OrderId, OrderItem List (ItemId, Quantity, Reason, Comment)
- Optional data: ChannelReturnId (internal ID to identify the return case), Return Tracking Information (Carrier, TrackingNo.)
- 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 usingPOST /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 aChannel: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.