Skip to content

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

  1. In the application shell, open Sales → Sales Orders and click + New top-right.
  2. 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.
  3. 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)

  1. The Confirm task shows the order's number, dates, customer, store, total and status, with Confirm / Reject buttons.
  2. 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

  1. 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.
  2. 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.
  3. 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)

  1. The Post task shows the issue's number, date, store, customer, total and status, with Post / Reject buttons.
  2. 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

  1. 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.
  2. 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.

See also

The BusinessIntents Business Suite - end-user guide.