Skip to content

Shipping and returns

Shipping is where the order meets the ledger: each shipped line books the same sale movement the quick flow books, at your real unit cost, with the line’s price and the order’s reference on the row.

Ship on a line opens the lot picker. Pick lots by name, or pick nothing: with no rows the line ships oldest first from released lots, which is the right answer most days, and the dialog says so. The picker shows each lot’s remaining balance, the batch it came from, its expiry, and what other orders or runs already count on it.

The ship dialog with the product’s lots

Held lots (waiting on a release check) appear in the list but cannot be picked; the release gate always wins. A line short of released stock follows your organization’s negative-stock policy, exactly as the quick flow does: warn offers Ship anyway, block refuses and names the shortfall, assist backfills a corrective batch.

When the whole order goes into one van, Ship all ships every covered line oldest first and skips the short ones. The toast tells the truth: “Shipped 3 lines. 1 is waiting on stock.” Ship line by line when you care which lot goes to whom.

An order printed in euros on a franc book needs a rate before anything leaves. The sale is booked in your own currency, at the rate the order carries, so with no rate there is no figure to book. Each line then reads “Set the exchange rate first” where Ship would be, and Ship all is disabled beside the same sentence. Set it from Booked at in the order’s totals card. The first shipment fixes the rate, because a sale already on the ledger is not booked twice.

A line ships whole. When a buyer takes 40 of the 60 now and the rest next week, split the line: edit it down to 40, add a second line of 20, ship the first. The order goes Partially shipped and the remaining 20 stay reserved. Quantity-level shipments are planned; until then the split is the honest workaround.

Units come back. On a shipped line, open the ⋮ menu and pick Record a return:

  1. The quantity, up to what shipped minus what already came back; the hint states the ceiling.
  2. What happens to it. Back into stock puts the units back on the lot they shipped from, sellable again, at the cost they carried. Write off records the return and changes nothing else: the units were unsellable.
  3. An optional date and note.

The return dialog with its two outcomes

Money is deliberately untouched: the totals and the paid flag stay what they were, and a refund lives in your accounting tool. The return is one honest ledger row, not a claims workflow.

Every movement born from an order shows in the product’s Activity with the order’s reference as a link, and the order shows what shipped and returned per line. Rows born from an order are corrected through the order, never edited as loose movements, so the document and the ledger cannot disagree.

Every shipped line is also a trace fact. Trace follows the lot it drew to this order and its customer, and the recall summary counts it.