FAQ

Orders and checkout

Stuck orders, the three statuses, orders that never reached the ERP, partial deliveries, stock that lies, and returns.

An order carries three independent statuses and one flag, and most order questions are answered by reading all three before touching anything. The lifecycle says where the order is, the payment status says whether money arrived, and the fulfilment status is derived from what has shipped.

An order has not moved for a week. What do I check?

Six causes, cheapest first: it is on hold, and the banner names the reason; it is waiting for approval, and your threshold may be so low that ordinary orders queue; stock is not there, often because available is zero although on_hand looks fine; the ERP never took it, visible as an empty acknowledged_at on an order that is days old; it shipped from the warehouse system without a shipment being recorded; or nobody owns the queue. See Orders that get stuck.

What do the three status badges on an order mean?

status is the lifecycle: pending, placed, in_fulfillment, completed or cancelled, moved by actions such as acknowledge and ship. payment_status is fed by the Payments app, or set by hand for a bank transfer. fulfillment_status is never set by anyone; it is read off the position quantities, so it reads partial when some has shipped. placed / open / partial is confirmed, unpaid and half delivered, all at once and entirely correct. See The three order statuses.

Why does an order read completed although it is not paid?

Because by default an order completes when every position has shipped, and on invoice terms payment comes later. If you consider an unpaid order an open order, change the completion setting to full shipment and payment, or to manual. Either way, chase the payment, not the order; revenue at risk is a payment_status question and no report on status alone will show it. See The three order statuses.

The order never reached the ERP. Where do I look?

Three places in order: the order's History tab, where a placement event with nothing after it means the order was placed correctly and the problem is downstream; Integration Studio › Runs, which is the screen that answers "the order never reached SAP"; and the event itself, because integrations react to the placement event, not to a row appearing. An order days old with no acknowledgement is an integration alarm, not a slow warehouse. See Reconcile orders with your ERP.

Orders arrive twice in the ERP.

An order's life is published twice on purpose: as named events for each thing that happens, and as a raw audit feed of every transition. A workflow that listens to both processes every order twice. Pick the named events for anything that acts and keep the raw feed for archives. The other cause is a receiver that retried after a timeout and does not deduplicate on the message ID. See Reconcile orders with your ERP.

How do I ship part of an order?

Open the order, select Create shipment, and enter the quantity per position that is going; positions left at zero stay open. The shipment gets its own number, the lines' quantity_shipped goes up, and the order reads in_fulfillment / partial. Repeat for the next delivery; when the last open quantity ships, the order completes. Do not do the arithmetic yourself; the order knows the open quantity per position. See Partial deliveries and backorders.

Where is the backorder list?

There is no backorder object. A position with an open quantity is the backorder, and the open quantity is quantity − quantity_shipped − quantity_cancelled. Your backorder list is the order list filtered on fulfillment_status = partial, plus placed orders that have not started. Whether a backorder may exist at all is the stock system's backorder policy. See Partial deliveries and backorders.

Can I change the delivery address after the order was acknowledged?

Not here, by default. Acknowledgement is the moment the fulfilling system takes ownership, and after it addresses, buyer details and references are frozen, because two systems editing one order in parallel is how goods go to the old address. A tenant can allow late modification, but do that knowingly. See Process an order.

The shop says out of stock and the shelf is full.

Stale reservations, nearly always. An abandoned checkout that reserved stock and has no expiry holds it forever, and available is on_hand − reserved. Check Order Management › Stock › Reservations for active holds against orders that were never placed, run Release expired, and set a reservation lifetime so it does not recur. Do not fix it with a +20 adjustment; that makes on_hand wrong as well. See When stock numbers drift.

How do I handle a return, and does it refund the customer?

Register it from the order's Fulfilment tab with the positions, the reason and a restock decision per position; work it under Order Management › Returns through registered, received and completed. A return moves goods and quantities only. The credit note is raised in your accounting system, and a refund on a payment is a separate action where refunded means refunded in full. See Returns and credit notes.

A part-shipped order still reads placed.

Impossible from inside the platform, because a shipment moves the lifecycle to in_fulfillment. It means somebody shipped from the warehouse system and never recorded the shipment here. Record it now, retroactively; the order will not correct itself, and every report you run until then is wrong. See Orders that get stuck.

What is the customer order number, and why does it matter?

The buyer's own PO number, entered at checkout and stored as customer_order_number. Their accounts-payable department matches your invoice against it, and an invoice without it is frequently returned unpaid. It is one of three references on an order: your own number, their PO number, and the ERP's external_ref written on acknowledgement. See Reconcile orders with your ERP.

What does putting an order on hold block?

That is a tenant-wide setting: shipping only, shipping and cancellation, or nothing, which makes the flag a visible warning and nothing more. If you use holds for credit checks, blocking cancellation as well is usually right, because you do not want the order cancelled out from under the check. Release hold puts it back in the queue. See The three order statuses.