Docs / Selling
Orders & shipping
Confirmed work: shipments, tracking, packing lists, invoicing.
Orders are confirmed work — created from an accepted quote or from scratch — and they drive fulfilment: shipments, packing lists and invoicing.

Projects
An order can belong to a project. An order converted from a quote on a project is already on it, and so is every invoice raised off the order — the chain stays joined without anybody re-picking it. What ships off a project's order counts as that project's material cost, at what the stock left the shelf at.
Order lines carry the same line kinds a quote does.
Order lifecycle
Draft → Confirmed → (Partially shipped → Shipped) → Completed, with
Cancelled available until then. The shipping states are derived
automatically from what you've actually shipped; Draft/Confirmed/Completed/
Cancelled are set by you. Order numbers come from your configured format
(default SO-000001) — or type your own Order # on the new-order screen,
and on the order afterwards, to match an external system. Setting it up front
avoids the gap an automatic number leaves behind when you rename it later.
Only the sensible moves are offered, and anything else is rejected:
- A Draft order can be confirmed or cancelled.
- A Confirmed order can go back to draft, be marked completed, or be cancelled.
- A Partially shipped or Shipped order can be marked completed or cancelled.
- A Completed order is closed. The one way back is the Reopen button
(or
POST /orders/{id}/reopenon the API), which puts it back to Confirmed — so closing out an order can't be undone by accident. - A Cancelled order is final and can't be revived.
The order page offers the legal moves as buttons — and below them a Status picker that can set any status by hand. It is your workspace and your paperwork: if an order really is shipped, you can say so without recording a shipment. Because the shipping states are normally derived, choosing one (or moving off one) asks you to confirm first — the warning explains that recording a shipment later can move the status on again — and the override is recorded in the order's history with your name on it.
Delete is always available too, whatever the status, behind a confirmation that spells out what goes with it. Deleting an order does not touch invoices already raised from it.
The order page
The number, the status, the action buttons and the Issued / Fulfilment / Total cards sit at the top, whatever you are doing. Everything else is on tabs:
- Details — the line items and their totals, the invoices raised from this order, and the bill-to, ship-to and internal notes.
- Fulfilment — getting it out of the door: buy a label, ship items, close short, the shipments already sent, what stock is set aside for this order and what is being made for it. The number beside the tab is how many shipments have gone.
- Money — margin, what has been invoiced and paid, the expenses on this order, the payment schedule, and closing the project out.
- Sharing — the public link and the covering email.
- Messages, Attachments, History — each with a count where there is something to count.
The tab is part of the address, so an order open on its shipments can be bookmarked or sent to somebody as it stands. Only the tab you are looking at is loaded, which is why a big order opens quickly.
Money: deposits, instalments and closing out
The Money tab is how a project stands financially: what it is worth, what has been invoiced, what has arrived, and what is left to bill — with a bar showing the three at a glance and every deposit already paid listed underneath.
A payment schedule splits the project into stages, each a percentage of the contract or a fixed amount, each triggered by acceptance, a date, a number of days, or a milestone you name. Create invoice turns one stage into its own invoice. A schedule agreed on the quote travels here when it converts.
Close the project out raises the final invoice: the whole contract, less everything already paid on it, deducted as its own line so the client can see the arithmetic. Only money that has actually arrived is deducted.
Letting the customer pay before you bill them — see Taking payment on an order below.
Full detail in Deposits, instalments and final invoices.
Taking payment on an order
Share an order with a customer and they can pay for it there, before anybody has raised an invoice. Useful for the maker who takes the money before the work starts, or before it goes out of the door.
An order is an agreement to do work rather than a bill, so there is no debt to settle — the payment is money on account. OrderDen handles that the same way it handles a deposit on a quote: pressing Pay raises a deposit invoice for what is left of the order, at the order's own tax rate, and takes the payment against it. You will see it on the order's Money tab straight away.
The part that matters: the invoice you raise later deducts it. Close the order out and the final invoice bills the contract less what has already arrived, so a customer who paid up front gets an invoice for nothing left to pay rather than a second request for the same money.
The button is offered only on an order that has been confirmed and not yet invoiced. Once you have billed it, the invoice is what gets paid — its own share link takes card payments in the usual way.
Changes to an agreed project
Work agreed after the order was written goes onto the order itself: add the line, and the money, the tax and the stock figures move with it. The order's history records the edit, and a fixed stage can be added to the payment schedule for it so the percentages already agreed still mean what they meant.
What the client originally agreed to is not lost: the accepted quote keeps its own numbers and its signature, and the project's contract figure is that quote's total, sitting next to what the work actually came to. See Projects, time and costs.
Telling the customer
Three emails can go to your customer automatically as the order moves: confirmed, shipped (with the carrier and tracking numbers) and delivered. Shipped is on by default because every buyer expects it; the other two are off, because plenty of workshops confirm and hand over by telephone.
Switch them on in Company Settings → Reminders, and change what they say in Company Settings → Email templates. See Reminders, follow-ups and status emails.
Customer PO
An order carries an optional Customer PO — the client's own purchase-order reference (up to 100 characters). It's copied from the quote when you convert one, shows on the order page and on every printed, emailed and shared copy (including the packing list), carries on to invoices raised from the order, and is searchable from the orders list — which can also show a Customer PO column.
A client with a portal account can hand you the purchase order itself rather than emailing it: you read it beside the order form and accept it as a draft order with their reference already filled in. See Purchase orders they hand over.
Requested and promised dates
An order carries two optional delivery dates:
- Requested date — the date the client asked for.
- Promised date — the date you committed to. This is the commitment fulfilment is measured against. If your workspace has a standard lead time, set it once under Company Settings → Sales defaults → Order lead time (in days) and every new order — including one converted from a quote — starts promised that far out, rolled to the next business day if it lands on a weekend. You can always change the date on the order.
Both appear on the order form and under the order number on the order page, and both are available as optional Requested and Promised columns on the orders list. The list also filters on Promised from / Promised to, and changes to either date are itemized in the order's history.
The promised date drives the Orders due this week dashboard widget, which lists every order that isn't Completed or Cancelled and is promised by the end of this week — anything already past its promised date is flagged Overdue.
Tags
Orders carry free-form tags (e.g. rush, wholesale) — the same tags
you know from clients and items. Edit them on the order form (comma-separated);
they show under the order number on the order page, are available as an
optional Tags column on the orders list, and the list's Tags filter
shows every order carrying any of the tags you type (comma-separated).
Tag changes are itemized in the order's history.
Shipping
Buying the postage here
The Buy a label card, at the top of the order's Fulfilment tab, asks USPS, UPS and FedEx what they would each charge for this parcel and shows the answers side by side. Buying one records the shipment, puts the postage against the order, keeps the label where you can reprint it and emails the buyer the tracking number — and the parcel marks itself Delivered when the carrier says it arrived. It also handles the orders that are not posted at all: collections, local deliveries and things handed over in person.
Connect an EasyPost key under Company Settings → Shipping and see the shipping guide for the whole of it, including buying forty labels in one pass from the Orders page.
Recording one you posted yourself
The Ship items card, under Buy a label on the same Fulfilment tab, records shipments against the order's open lines:
- Ship any subset of lines and quantities — partial fulfilment is normal; the order tracks shipped vs ordered per line.
- Each shipment carries a carrier from your workspace's own carrier list (managed under Company Settings → Carriers, seeded with UPS, USPS, FedEx and DHL), one tracking number per box for multi-box shipments, a ship date and notes.
- Paste a tracking number and the carrier fills itself in. UPS numbers
start
1Z, USPS uses the 22-digit barcode, FedEx is 12 or 15 digits, and so on — OrderDen recognises the shape and picks the matching carrier from your list, even if you renamed it (a list with "UPS Ground" still matches). It only ever fills a carrier you haven't chosen yourself, and you can change it. When a shipping platform is connected later, its carrier will be mapped onto your names the same way. - When the carrier has a tracking URL template, its tracking numbers render as clickable tracking links — on the order page, the Fulfilment and Packing list prints, the emailed order and the shared portal view. Without a template (or for a carrier that's been removed) they show as plain text.
- Ship from picks which of your locations the goods actually came off, and only appears when you have more than one. Beside each line it shows what that location holds and the bin it's in — "Studio: 5, A3" — so you can see before you record it that the shelf you're picking from has the stock. The stock leaves the location you chose, so the per-location figures stay true, and voiding the shipment puts the goods back on the same shelf. Shipping more than a location holds is allowed and takes it negative — OrderDen says so in amber rather than stopping you, because the goods may genuinely be in the box before the paperwork caught up.
- Void a shipment to roll its quantities back (blocked once it's been invoiced). Voiding asks one question: did the goods come back? It's ticked by default, because most voids are a correction made before the parcel went anywhere — the stock returns to the shelf it left from, at the cost it left at, so a purchase that moved your average cost in the meantime doesn't inflate what the returned goods are worth. Untick it when the parcel was lost or the customer kept the goods: the order's quantities reopen, but nothing goes back on the shelf, and the order's history says so.
- Once anything has shipped, the order's line items are locked — they anchor the shipment records.
- Shipping deducts stock. For lines drawn from an item that tracks stock, each shipment writes a Shipment movement to the item's ledger, takes the shipped quantity out of on hand, and uses up whatever the line had set aside; voiding the shipment puts the goods back on the shelf, free for anybody.
- Allocating decides who gets the stock you have. Confirming an order no longer claims anything by itself. The Stock allocation card, near the bottom of a confirmed order's Fulfilment tab, sets a quantity aside per line — optionally from a named shelf — and the order page shows what each tracked line has available and how far short it is. Cancelling the order, sending it back to draft, completing it or closing a line short hands its allocations back.
Picking by scan
Tick Pick by scanning on the ship form and every line drops to nothing; each scan then puts one in the box. It is the same trade as counting a delivery in: the default of "ship everything still open" is right most of the time, and wrong precisely when you would want a scanner.
What it buys is the mis-pick caught at the bench rather than in a customer's email. Matching happens in the browser, against the line's barcode and then its SKU, so a packing table with poor signal is no slower than one without — see barcodes and labels.
Freight cost and recovery
The Freight cost box on the ship form records what you actually paid the carrier for that shipment — your cost, as opposed to the Shipping amount the order charges the client. A label bought here fills it in for you, at what the carrier actually charged. It's optional: the carrier's bill often arrives after the goods have left, so every shipment card carries a Freight cost field you can fill in or correct later (clear the box and save to remove it). It stays editable after the shipment is invoiced and after the order is completed, and every change is itemized in the order's history.
Free shipping
Tick Free shipping on the order and the client is charged nothing for freight: the shipping line reads Free on the order, the invoice, the printed and emailed copies, and the client portal, whatever amount is in the shipping box.
What the carrier actually cost you is unaffected. Keep recording Freight cost on each shipment — it still counts against margin and still shows in freight recovery, both of which are internal. Free shipping is a promise to the client, not a hole in your numbers.
Each shipment card shows its freight cost next to the shipping charged on the order, and the top of the Shipments card sums it up as freight recovery: shipping charged minus the freight cost of every shipment on the order. A positive figure means the client paid more than shipping cost you; a negative one means you absorbed part of the freight. While some shipments have no cost recorded yet the figure is marked provisional. Freight cost is internal — it never appears on printed documents, emails or the client portal.
Gross margin
The Margin card at the top of the order's Money tab shows what the order earns after what it costs you (and is not shown at all to somebody without permission to see costs):
- Net revenue — the line totals after line and order discounts, plus the shipping charged. Tax is left out; it's passed through, not earned.
- Cost basis — each line's quantity × its unit cost (the cost snapshotted from the catalog item when the line was written, or set on the line for items not in the catalog), plus the freight cost recorded on the order's shipments, plus the payment fees charged on anything the client paid online against the order's invoices (see Getting paid online). The card breaks them apart.
- Gross margin — net revenue minus cost basis, as a percentage of net revenue and as an amount.
A cost is only ever known or unknown. A line with no unit cost, or a shipment with no freight cost, is left out rather than counted as free, and the card says so: based on 8 of 10 lines, freight cost known for 1 of 2 shipments. While anything is missing the margin is marked provisional; when no line has a cost at all it is simply unknown, never zero. To fill it in, give the catalog items a unit cost (see Items) and record freight costs on shipments.
The orders list has a Margin column (the percentage, with a small costed / total line count while coverage is partial), the CSV export adds Margin, Margin % and Margin coverage columns, and the dashboard's Gross margin widget rolls the period's orders up (see Dashboard).
Minimum margin
In Company Settings → Sales defaults → Margin, owners and admins can set a minimum gross margin. When an order's known margin is below it, the Margin card and the Confirm order button show a warning — the order can still be confirmed, and the confirmation is recorded in the order's history with the margin it had. An order with no cost data is never flagged. Margin is internal: it never appears on printed documents, emails or the client portal.
Fulfilment reads straight off the Line items table: beside each line's ordered quantity are the quantities shipped, cancelled (closed short) and still open, so one table answers both "what did we sell?" and "what still has to go out?".
Print a Fulfilment sheet or a Packing slip from the buttons in the order's header.
The packing slip
Everywhere else your customer hears from somebody else — the parcel is the carrier's, the payment page is Stripe's — and then a box arrives with a slip in it. That slip is the one thing they hold that you wrote, and it is the cheapest place in this whole application to be worth remembering.
So it carries more than a list of SKUs:
- The gift message, framed, at the very top, before anything else. It is the only thing on the slip the recipient is waiting to read, and a message printed under a table of item numbers is a message somebody misses.
- Your thank-you note, in your own words. Written once under
Company Settings → Documents and filled in per order:
{{client.firstName}},{{order.number}},{{org.name}}and{{org.website}}. A little Markdown works —**bold**and-bullets. - Care instructions, per line, from the item ("Trim the wick to 5 mm before every burn"). The ten seconds after the box comes open is the only moment anybody is ever going to read them.
- The personalisation the buyer asked for, so whoever packs the box has the words in front of them.
- Your handle and a review link at the bottom — again, that same ten seconds is when a review actually gets left.
Prices are off by default, and an order marked as a gift never shows them however you have that set. Somebody who was given a present must not be told what it cost; that is the one rule on this page a setting cannot override.
What it prints on
Three choices, under Company Settings → Documents:
- US Letter or A4 — ordinary paper, the whole slip.
- 4×6 label — the same thermal stock your postage prints on, so the slip comes off the printer you already have loaded. Too narrow for a price column, so it carries a QR code back to the order instead: the customer scans it for what they ordered, the tracking and a way to reach you.
A slip per parcel
Each shipment prints its own slip carrying only the lines in that box. A customer who ordered six things and received two should not open the parcel to a list of six and assume four were stolen. Find it beside each shipment on the order page.
Forty at once
The orders to post panel at the top of the Orders list is the packing table: everything confirmed, boxed and waiting to go out. Tick what is ready and Print slips — one PDF, one page each, in the order the parcels are stacked in. The same panel buys the postage.
Variants and personalisation
A line drawn from a product with variants names which one: the picker shows them nested under the product, and the option values go into the line's description, so the document still says what was sold long after the catalog moves on. Where the item allows it, the line also carries the buyer's personalisation — the engraved name, the message on the card.
Both print on the packing slip, which is where they matter: whoever packs the box needs the size, the scent and the words to engrave in front of them.
A line for a kit ships as its components: shipping two gift sets takes six candles and two boxes out of stock, each movement pointing back at the kit's own line.
Where an order came from
Every order carries an optional Source — free text, in your own words: "Instagram", "Repeat", the name of a fair. It is a label to group and filter by, nothing more, and it is on the orders list as its own column and filter and on the bulk menu, so tagging a batch of orders after a busy week is one action.
Closing an order short
Sometimes the balance of a part-shipped order will never ship — the client reduced the order, or stock is gone. The Close short card, on the Fulfilment tab, cancels the open remainder on the lines you select, with a required reason that is recorded in the order's history. Nothing is ticked when the card opens and the button stays disabled until you tick something — a cancelled quantity can never ship, so closing short is never the default.
A line counts as fulfilled once its shipped + cancelled quantities cover what
was ordered — so once every open line is shipped or closed short, a
part-shipped order becomes Shipped and can be marked Completed.
Cancelled quantities can never be shipped afterwards, and closing short
releases their claim on stock. On the API this is
POST /orders/{id}/close-short.
Invoicing an order
Two ways, both one click:
- Create invoice — bills the order's full lines.
- Invoice this shipment — bills exactly what one shipment moved, at the order's prices, discounts and per-line tax; ideal for invoice-per-shipment billing. A shipment can be invoiced once, and the order lists all its invoices. Percentage discounts carry over as they are; a fixed-amount discount is split in proportion to what shipped (a line's by quantity, the order's by the shipped lines' share of the subtotal), so the shipments' invoices add up to the order.
Both copy the order's line and document discounts.
A week of orders at once
Tick the orders on the list and choose Raise invoices. Each becomes its own draft invoice, closing that order out — one per order, which is what a retail customer agreed to when they ordered.
Two things it does on purpose:
- What has already been paid comes off. A deposit from the quote, a progress payment, money the customer paid on the order itself — each invoice asks for the balance, not the whole contract. Invoicing a week without that is how you send twenty invoices and get twenty replies.
- Drafts, not emails. Twenty invoices going out before anybody has looked at one is not a time-saver. Send them from the invoice list — tick, Send — once you have.
An order still in draft, or one already closed out, is skipped and says which it was: you get a list of what was done and what was not, never a bare count.
One bill for a client's week
A trade account you fulfilled five times in a week does not want five invoices. They pay five times, or chase five references, for one relationship.
Tick One combined invoice per client before you press Apply, and each client's selected orders share a single bill instead. It is per client, not per selection: pick twelve orders across four clients and you get four invoices. A client with only one order in the selection gets an ordinary one, exactly as if the box had been left alone.
The combined invoice lists each order under its own heading — Order SO-000012 and then that order's lines — so the client can see what they are paying for, and each deposit already paid is deducted at the foot naming the order it came off. Every order it covers shows it in its own Invoices card, with that order's share of the total beside it, and the invoice page says which orders it combines.
What it charges is what the separate invoices would have charged. Each order's lines, delivery and deposits are worked out on their own and then added up, so nothing shifts by a penny and each order's own figures — Invoiced, Left to invoice, the project's profitability — count only its share.
Some orders cannot share a bill, and those say so rather than being quietly adjusted:
- A discount on the whole order. It was worked out against that order's subtotal, and spreading it over another order's lines would change the tax on them. A discount on the lines combines without trouble.
- A payment schedule. Instalments were agreed for that order; invoice it from its schedule instead.
- Different projects, different currencies, or one order priced with tax included and another without.
- Delivery taxed at two different rates, since one invoice has one delivery charge.
When that happens, that client's orders are left uninvoiced with the reason on each row, and the other clients' bills still go through.
On the Free plan a combined invoice counts as one of your fifty, because it is one invoice raised.
Duplicating and reordering
Repeat work is one click:
- Duplicate on the order page copies the order into a new draft for the same client, whatever the original's status.
- Reorder next to a client's recent orders (on the client page) does the same thing, starting from that order.
The copy keeps the line items (with their catalog links, quantities, prices and line discounts, and the tax each line carries), the document discount, the tax on shipping, the shipping amount, the bill-to and ship-to addresses, the tags and the public notes, and gets a fresh order number from your configured format. Everything tied to the original stays behind: the new order starts as a clean Draft with no shipments, no shipped or cancelled quantities, no customer PO, no requested or promised dates — and the original's internal notes are deliberately not copied. Both orders' history records the duplication, each naming the other.
On the API it's POST /orders/{id}/duplicate, which returns the new order.
History
Taking an order is recorded as a single entry; from then on every change is itemized on the History tab — quantity, price and discount changes per line, added and removed lines, address and field edits, status changes, shipments and invoicing — each with the team member who did it. See Activity & history.
Everything on this page is in the free tier — one person, the whole product, no card.
Start free