Skip to main content

Close, cancel, archive, and delete orders

Most sales orders finish on their own — you fulfill and get paid, and SKU.io marks the order Closed. But you'll sometimes need to step in: finalize an order early, send an approved order back to draft, cancel one and release its stock, tuck a stale order out of the way, or remove one entered by mistake. This guide covers all six end-of-life actions and exactly what each one does to inventory, fulfillments, and accounting.

Which action do I need?

These actions look similar but behave very differently. Pick by intent, not by which button is closest.

You want to…UseEffect on inventoryReversible?
Finalize an order and stop working it, keeping the recordClose OrderNone — leaves everything as-isYes — Reopen Order
Work a closed order again (fulfill, edit, invoice)Reopen OrderNoneYes — close again
Send an approved order back to an editable draftRevert to DraftReleases allocations, reverses shipment movementsYes — re-approve
Cancel an order and give its committed stock backCancel OrderCancels allocations, removes unfulfilled shipmentsYes — Reopen Order
Hide an order from the working list without deleting itArchiveNoneYes — Unarchive
Permanently remove an orderDelete OrderRemoves the order and reverses its movementsNo — permanent

Cancel and Revert to Draft overlap the most; the difference is covered in Cancel or revert to draft — which one? at the end.

Before you begin

  • Open the order you want to work with from Orders → Sales Orders. The examples use order SO-DOCS-0001 for customer Blue Bottle Retail, shipping from Main Warehouse.
  • On the order detail page, most of these actions live in the More menu (top right). On the list, they're on the bulk-actions bar that appears once you check one or more rows.
  • The action you can take depends on the order's current status and your permissions:
ActionPermissionAvailable when the order is…
Close OrderCancel sales ordersOpen or Reserved
Reopen Order (un-close)Update sales ordersClosed
Revert to DraftUpdate sales ordersOpen or Reserved
Cancel OrderCancel sales ordersAny non-cancelled order (not an external channel order)
Reopen Order (un-cancel)Cancel sales ordersCancelled
Archive / UnarchiveUpdate sales ordersAny status
Delete OrderDelete sales ordersAny status

There's no separate "close" permission: closing an order, cancelling it, and reopening a cancelled one are all governed by the single sales-orders Cancel permission. Grant that one permission and a role can do all three. (Reopening a closed — not cancelled — order is covered by the Update permission instead.)

Close an order

Closing finalizes an order and locks it. Use it when the work is done — or when you're done working it and want to stop further changes — but you want to keep the full record. Closing changes nothing about inventory or money; it only sets the status.

  1. Open the order and click More.
  2. Under Change Status, click Close Order ("Finalize and lock this order").
  3. If the order isn't fully fulfilled or fully paid, a Close Order dialog warns you (for example, "This order is not fully fulfilled and not fully paid. Are you sure you want to close it?"). Review it and click Close Order.

What you'll see: the order's status changes to Closed and a confirmation appears.

To close many orders at once, select them on the list, open the bulk-actions bar's More menu, and click Close. The confirmation notes that "Orders with active backorders or unmapped lines will be skipped." — those orders stay open (see the note below), and you get a per-order summary of what succeeded.

Bulk close skips orders with active backorders or unmapped lines

This skip applies to the bulk close path (list → More → Close). SKU.io leaves an order open there while it still has an active backorder queue — any line with a Planned or Awaiting Receipt allocation — or a product line that isn't linked to a product, because closing would strand demand the system is still trying to satisfy. Release or receive the backordered stock, or cancel the outstanding quantity, then close. See Inventory allocation and backorders. Closing a single order from its detail page (More → Close Order) sets the status directly and isn't gated by this check, so resolve any backorders or unmapped lines yourself before closing one that way.

Non-product orders can close themselves

When an order contains only financial lines (shipping, handling, or other charges) and no product lines, SKU.io closes it automatically if the Auto close non-product orders setting is on (the default). There's nothing to fulfill, so there's nothing to wait for.

Reopen a closed order

Reopen a Closed order when you need to fulfill, edit, or invoice against it again.

  1. Open the closed order and click More.
  2. Click Reopen Order ("Return to open status for further processing").

What you'll see: the status returns to Open and the order becomes workable again.

A manual reopen sticks

Reopening sets the order back to Open on purpose, even when every line was already shipped. SKU.io won't silently re-close it on the next background recalculation — your choice to keep it open is preserved until you close it again.

Revert an order to draft

Reverting takes an approved order (Open or Reserved) all the way back to an editable Draft. This is heavier than closing: it unwinds the approval so you can restructure the order freely.

  1. Open the order and click More.
  2. Under Change Status, click Revert to Draft ("Unapprove and return to editable draft").

What you'll see: the order returns to Draft. Behind the scenes SKU.io reverses any fulfillment inventory movements and restores the FIFO layers, cancels the order's allocations, clears its fulfillment records, resets the fulfillment and payment status, and deletes the accounting transaction. The order is a clean, editable draft again.

To revert several orders at once, select them on the list and click Mark as Draft from the bulk-actions bar's More menu.

You can't revert an order that's awaiting tracking or already closed

If the order's fulfillment status is Awaiting Tracking (a shipment has been dispatched to a provider but tracking hasn't landed yet), reverting is blocked with "Sales orders awaiting tracking can't be converted to draft. Try removing fulfillments first." Void or remove the shipment first. A Closed order returns "Closed orders cannot be reverted to draft."Reopen it first, then revert.

Cancel an order

Cancelling ends an order and hands its committed inventory back. Use it when the customer won't be receiving the order — but you've already shipped part of it, or you want an auditable cancelled record rather than deleting the order outright.

  1. Open the order and click More.
  2. Under the destructive actions at the bottom, click Cancel Order ("Cancel and release all inventory").
  3. In the Cancel Order dialog — "This will cancel the order, release all inventory reservations, and remove unfulfilled fulfillments. This action can be reversed by reopening the order." — click Cancel Order.

What you'll see: a red banner appears reading "This order has been cancelled. All inventory allocations have been cancelled.", and the order's status shows Cancelled.

Cancelling does a lot at once. It:

  • removes every unfulfilled shipment on the order (already-shipped shipments stay);
  • cancels all active allocations and re-syncs coverage so the backorder and forecast queues see the freed stock;
  • wipes inventory movements on unfulfilled lines, but preserves the movements on lines you already shipped, so COGS history stays intact;
  • stamps each line's still-unfulfilled quantity as its cancelled quantity;
  • deletes the accounting transaction;
  • closes the order and notifies any connected shipping providers to recall the order.
"Cancelled" is a closed order with a cancellation stamp

SKU.io doesn't store "cancelled" as a separate order status. A cancelled order is stored as Closed with a cancellation timestamp, and the list and detail views surface that as Cancelled. That's why a cancelled order behaves like a finalized one everywhere else.

Channel orders are cancelled in the channel, not in SKU.io

For an order that came from a connected sales channel (Shopify, Amazon, and more), Cancel Order is disabled with a tooltip explaining the order must be cancelled in that channel. Cancellations sync back into SKU.io automatically. See How channel orders sync.

Cancelling an Amazon FBA (AFN) order still closes it cleanly

Amazon-fulfilled (AFN/FBA) orders ship entirely outside SKU.io and carry no SKU-side fulfillment records, so SKU.io normally pins them Fulfilled and Closed on every recalculation. A cancellation is the deliberate exception: once the order is cancelled, that carve-out stops applying, so the order settles as a normal Cancelled record instead of a background recalculation snapping it back to fulfilled-and-open. The cancellation itself comes from Amazon and syncs in (AFN orders are Amazon channel orders). See Amazon FBA, MCF, and externally fulfilled orders.

Reopen a cancelled order

Changed your mind? Cancellation is reversible.

  1. On the cancelled order, click Reopen Order in the red cancelled banner (or Reopen Order in the More menu).

What you'll see: the cancellation is cleared and the order is reopened for processing. SKU.io re-runs approval, so the order returns to Open with fresh allocations where stock is available.

Archive and unarchive orders

Archiving hides an order from your working list without deleting anything — handy for clearing out old or test orders while keeping them retrievable. It has no effect on inventory, fulfillment, or accounting.

From the list (bulk):

  1. Go to Orders → Sales Orders and check the orders you want to archive.
  2. On the bulk-actions bar, choose the scope — Selected Only (the checked rows) or All Filtered (every order matching your current filters).
  3. Click Archive. Confirm in the Archive Sales Orders dialog ("Archived items can be restored later.").

To bring them back, filter the list to archived orders, select them, and click Unarchive ("Items will be restored to their active state."). Each row also has its own archive/unarchive toggle.

Archiving twice is harmless

Archiving an already-archived order (or unarchiving one that isn't archived) returns a gentle warning rather than an error, so bulk actions never fail on a row that was already in the target state.

Delete orders

Deleting removes an order permanently. Unlike cancelling, there's no cancelled record left behind. Reach for delete only for genuine mistakes — duplicate entries, test orders, orders created in error.

A single order (detail page):

  1. Open the order and click More → Delete Order.
  2. In the Delete Order dialog — "Are you sure you want to delete this order? This action cannot be undone." — click Delete.

Many orders (list):

  1. Select the orders on the list and pick a scope (Selected Only or All Filtered).
  2. Click Delete and confirm in the Delete Sales Orders dialog ("This action cannot be undone.").

What you'll see: a bulk delete runs in the background as a tracked job — a star animates into the job tray, and the message reads "Deleting N sales orders — track progress in the job tray." The list refreshes when the job finishes. See Bulk actions on the sales orders list for how the tracked job tray works.

Deleting is permanent and can be blocked

Deleting an order can't be undone. SKU.io also refuses to delete an order whose return receipts have already had their restocked inventory consumed by other transactions — deleting would corrupt that downstream stock history. In that case you'll see a message identifying the return receipt, product, and quantity involved. Cancel or archive the order instead. See Process returns: RMAs and credits.

Cancel or revert to draft — which one?

Both hand back committed inventory, but they leave the order in very different places.

Cancel OrderRevert to Draft
Ending statusCancelled (a closed, cancellation-stamped record)Draft (fully editable)
IntentThe order is over — the customer won't receive itYou want to restructure and re-approve the order
Already-shipped linesKept, with their COGS movements preservedShipment movements reversed (a draft has nothing shipped)
Accounting transactionDeletedDeleted
Provider ordersRecalled from connected providersCleared with the fulfillment records
Reverse it withReopen OrderRe-approve the order

Use Cancel Order when the order is genuinely finished and you want an auditable cancellation. Use Revert to Draft when you intend to keep selling the order but need to rework it first.

Next steps

Last verified: