Fulfil a sales order
Personas: Salesperson (takes the order), Approver (confirms the order, posts the goods issue), Storekeeper (issues the goods, creates the delivery note) · Modules: Sales Orders, Inventory, Delivery Notes Take a customer's order, get it confirmed, ship the goods out of the store — stock actually moves only when the goods issue is posted — and hand the customer their delivery note.
Before you start: the customer exists in Customers, the products are in the catalogue, and the store you ship from exists in Stores. Colleagues sit in the Approver group (any of them — or an administrator — can complete the Confirm and Post tasks).
1. Order — Salesperson creates the sales order
- In the application shell, open Sales → Sales Orders and click + New top-right.
- Pick the Customer (required) and the order Date (required); optionally a Due date and the fulfilling Store — the store the goods will later be issued from. Company and Payment method (Bank transfer) start pre-filled; Currency and free-text conditions are optional. Save — the sequential SO-number is stamped immediately and becomes the title; the order is DRAFT.
- Add lines with the items table's Add button: pick a Product — its price, unit of measure and tax rate are copied in and stay editable. Enter Quantity (and a Discount if any); Net, VAT (default 20%) and Total calculate themselves, and the read-only footer sums them.
2. Confirm — Approver (Inbox or inline on the order)
- The Confirm task shows the order's number, dates, customer, store, total and status, with Confirm / Reject buttons.
- Confirm moves the order to CONFIRMED — the hand-off to the warehouse. Reject cancels it (CANCELLED).
3. Issue the goods — Storekeeper creates the Goods Issue
- Open Inventory → Goods Issues and click New Goods Issue. The GI-number is stamped at create; the issue starts DRAFT — a draft holds no stock.
- Pick the Store (required — the order's fulfilling store), the date (required), the Customer, and the Sales Order this issue fulfils — the document trail stays clickable in both directions.
- Add the lines being shipped: Product (the picker offers only stock-tracked products, never services), quantity, and the price copied from the product (editable). Net/VAT/Total compute per line and sum in the footer.
4. Post — Approver (Inbox)
- The Post task shows the issue's number, date, store, customer, total and status, with Post / Reject buttons.
- Post is the one moment stock moves: every line writes an OUT movement (negative quantity) to the stock ledger, linked back to this goods issue, valued at the product's current moving-average cost — never the sales price. The issue becomes POSTED (final — no editing after that). Reject marks it CANCELLED and stock never moves.
5. Delivery note — Storekeeper, one click
- On the posted goods issue, click Create Delivery Note. No re-typing: the customer, store, sales order and all lines (product, name, quantity, unit) are copied over, today's date is set, and the note keeps a link back to the goods issue.
- The note gets its own sequential DN-number as its title. It is deliberately light — quantities only, no prices, no status, no approval. Optionally add the dispatching Employee and a carrier tracking number.
What happened behind the scenes
- Number series used: Sales Order (SO), Goods Issue (GI), Delivery Note (DN) — all stamped at create.
- Status paths: order DRAFT → CONFIRMED (reject: CANCELLED); goods issue DRAFT → POSTED (reject: CANCELLED, stock untouched).
- The ledger rows carry the moving-average cost and signed cost value — they feed the Monthly Cost Of Sales report; on-hand in the store drops the moment the issue posts (see Check stock on hand).
- The sales order itself stays CONFIRMED — the FULFILLED / INVOICED statuses exist for the cross-document flows, which are not automated yet; posting the issue does not flip the order.
Variations and refusals
- Posting is idempotent — a repeated post can never write the movements twice.
- If your deployment blocks negative stock, posting an issue that would over-issue a product refuses with the product and the shortage, and the issue stays DRAFT until stock suffices.
- A goods issue without a customer or sales order works too — an internal or scrap issue.
- Goods coming back later? See the customer return in Move and count stock.