Prerequisites
Before creating sales orders:- Customers exist for B2B accounts (B2C may use a pooled customer).
- Items with stock in a warehouse.
- Default shipping warehouse configured under Products setup.
- Optional: Sales channel tagged for reporting and fulfillment defaults.
- Optional: packaging boxes and scales configured under Commerce setup for the pack workspace.
Sales order lifecycle
Create and submit a sales order
Open Sales Orders
- In the sidebar, open Commerce.
- Click Sales Orders.
Create a new order
Add lines
- On hand for the selected ship-from warehouse. A warning appears when ordered quantity is greater than available stock.
- Unit cost from the item’s standard cost.
- Margin, calculated as
(unit price − unit cost) ÷ unit price. - Supply, where eligible lines can use Purchase to order.
Save and submit
- Save as Draft — keeps editing without confirming. Drafts show as Draft order in lists and the header; the order number is assigned when you confirm.
- Save — moves status to Open, assigns the order number, and enables fulfillment creation.
Fulfillment workflow (pick → pack → ship)
Fulfillments track warehouse work against a sales order. Each fulfillment carries the order’s fulfillment method from channel defaults, and the method decides what the fulfillment needs: only In-house fulfillments weigh a package and buy a shipping label. 3PL, customer pickup, marketplace, and supplier drop-ship fulfillments skip both.Fulfillment detail layout
The Details card header carries the workflow strip — the method badge, progress dots, a Next: hint for the current stage, and a Workflow expander that lists every stage with units completed. The totals strip includes Postage: the label charge, No label purchased, or a caption such as Quote — not bought when a rate was quoted and not purchased. While a fulfillment is in Picking, Packing, or Ready for pickup, the Details card starts collapsed with a one-line summary (warehouse · sales order · units) so the pick list or pack workspace sits at the top of the screen. Click the card head to expand it.Orders list
Commerce → Sales Orders lists each order with Channel and ext. order number beside the adorabl order number. Channel is the source, such as Shopify - Web or Amazon FBA. ext. order number is the order number in that channel. Workflow summary in the header opens the path each channel takes from order to invoice.Fulfillments list
Commerce → Fulfillments lists every fulfillment document — one row per fulfillment, so an order shipped in two parts shows two rows. Each row shows the fulfillment number, its sales order, customer, warehouse, method, status, requested / picked / packed quantities, fulfilled date, and the invoice created from it. Click a tile at the top to scope the list:Start fulfillment
- In-house orders create a fulfillment that begins in Pick. Fulfill remaining opens the open fulfillment instead of raising an error that nothing is left to fulfill.
- Customer Pickup orders show Record pickup and skip manual pick and pack.
- 3PL, Marketplace fulfillment, and Supplier drop ship orders already have a waiting fulfillment created during submit.
Work the pick queue
- Open Commerce → Fulfillments and click the Picking tile (or open Pick batches for batched picking).
- Click a row to open fulfillment detail.
- Enter qty picked per line, record short-pick reasons when needed, and allocate quantities to bin locations. When the warehouse uses bin locations, picking cannot complete until every picked unit has a bin.
- Save pick progress and click Complete picking to advance to Pack.
Pack and buy the label
- Open Commerce → Pack, or open the fulfillment from the Packing tile.
- Scan a tote or shipment barcode, or select a ready fulfillment from the queue.
- Check the Ship to address in the Details card. It is editable during pack and verified as you type; a change saves to the order and re-rates the shipment.
- Assign each package to a box from your configured box list, and enter weight manually or read it from a configured scale. Add gift notes when needed.
- Print pack slip for warehouse paperwork and save the package.
- In the Shipping panel below the pack workspace, pick a carrier rate and click Buy label. Buying the label is how an in-house fulfillment ships: adorabl purchases postage, records tracking, relieves inventory, posts COGS, and accrues the label cost in one step. See Shipping labels.
Record other fulfillment methods
- Customer Pickup — click Record customer pickup.
- 3PL — click Complete fulfillment when the 3PL confirms shipment. The Commerce → Ship queue lists what is waiting.
- Marketplace fulfillment — click Record marketplace fulfillment when the marketplace confirms.
- Supplier drop ship — enter the supplier’s tracking and click Record supplier fulfillment.
Invoice
Invoicing from fulfillment
An AR invoice is created automatically when a fulfillment ships or is confirmed — whether that is an in-house label purchase, a 3PL confirmation, a customer pickup, or a marketplace (for example, Amazon FBA) confirmation.- One invoice per shipped fulfillment. An order that ships in two fulfillments gets two invoices. The order stays Open until every ordered quantity has shipped and been invoiced.
- Short picks invoice what shipped. If a fulfillment was short-picked, the invoice covers the posted quantity and the order stays open for the remainder.
- Lines and quantities come from the shipment; prices, tax, discounts, and terms come from the sales order. The invoice date is the shipment confirmation date.
- Order payments apply automatically. When the order already carries a successful payment — a checkout deposit, a prepayment recorded on confirm, or any incoming payment tied to the order — adorabl applies the unapplied balance to the new invoice, up to the invoice total. Across several shipments, the remaining cash flows to each later invoice until it is used up. This no longer depends on the channel’s Prepayment expected flag.
- The fulfillment shows its invoice, and the invoice links back to the fulfillment and order.
Fulfillment methods
Purchase to order
Use Purchase to order when you need to buy a stock item for a specific sales order before fulfilling it from your warehouse.Mark the sales-order line
Create the purchase order
Receive the goods
Pick, pack, and fulfill
Correct a submitted order
Open orders stay editable. When you save a material change — a quantity, an item, a line added or removed, a warehouse or ship-to change — adorabl asks why and records an order action with a full before-and-after snapshot.Edit the open order
Pick a reason
Added line 2 (TR-JK-L) qty 3 — and offers reason chips for that kind of change:Save changes
Protected work
For a partially fulfilled order, adorabl keeps the order open and protects committed work:- You can change or remove fully uncommitted lines.
- You can reduce a partially fulfilled line only as far as its fulfilled quantity.
- Item, description, price, and supply method are locked on picked or fulfilled lines.
- Lines assigned to an active fulfillment stay locked until that fulfillment is cancelled.
- Replace a committed item by cancelling its remaining quantity and adding a new line.
Copy an order
Use Copy order to start a new draft from an existing sales order. adorabl copies the order details and lines but does not copy fulfillment activity or the channel order number. You can optionally create a draft payment for the new order.Example: Trail Ridge Outfitters
Order SO-8820 for Aspen Sports Co.:- Save → status Open, channel B2B Portal, method In-house
- Create fulfillment FL-5501 → pick quantities captured from bin A-12-3
- Pack into Medium carton box, weigh it, print pack slip on March 4
- Buy label → postage purchased, inventory reduced, COGS posted, label cost accrued
- Invoice INV-1051 created automatically from the shipped fulfillment → AR balance $1,680.00
Returns
On a Fulfilled, Invoiced, or Closed order, click Create return. The order’s Returns tab lists each return and its Outcome — Received and restocked, Customer kept the item, or the choice still on a draft. See Customer returns.Relationship map
Both sales orders and fulfillments expose a Relationship map action showing linked invoices, payments, fulfillments, returns, purchase orders, and journal entries — useful when tracing a channel order from demand through supply and cash.Related guides
Customer returns
Shipping labels
Sales channels
Invoices & adjustments
Stock on hand
Warehouses
Troubleshooting
Save does not confirm the order
Save does not confirm the order
Cannot create fulfillment
Cannot create fulfillment
Customer pickup fails because stock is short
Customer pickup fails because stock is short
Cannot record supplier fulfillment
Cannot record supplier fulfillment
Cannot invoice the sales order yet
Cannot invoice the sales order yet
A shipped fulfillment shows Invoice pending – error
A shipped fulfillment shows Invoice pending – error
Save is waiting for a reason
Save is waiting for a reason
Rates or label purchase fail with an incomplete ship-from address
Rates or label purchase fail with an incomplete ship-from address
Ship fails — insufficient stock
Ship fails — insufficient stock
Order stuck in Open after shipping
Order stuck in Open after shipping
An order payment was not applied to the invoice
An order payment was not applied to the invoice
Pack workspace will not save
Pack workspace will not save
Buy label is blocked before any postage is spent
Buy label is blocked before any postage is spent
I don't see a Shipping panel on this fulfillment
I don't see a Shipping panel on this fulfillment
Need carrier rates or a printable label
Need carrier rates or a printable label

