Sales

Product version: 1.0.0+1 Last updated: 2026-10-14 Audience: Tenant users with sales:sale:read (create/update for mutations)


A. What is a Sale?

A sale is a document that sells inventory stock items from one or more inventories. It starts as a draft; issuing its invoice confirms it.

The flow is always the same:

  1. Sale — enter the customer and items.
  2. Pick list — only when Create a picklist is ticked: the warehouse collects the lines first.
  3. Invoice & payment — one step: the invoice is issued and the customer's payment is recorded together (in full, in part, or later). The step is done once the invoice is paid.

The new-sale form, the sale page and the invoice page all show this as the same Progress card: done steps are ticked, the current step is highlighted, and Next step explains what to do with one button for it (for example View picklist, Invoice & collect payment or Record payment). When an invoice is partly paid, Next step shows how much was received and how much is still due.

Returns are not part of this flow. They are recorded separately in the Returns section at the bottom of the invoice — see Invoices.

Numbers look like SALE-202608-0001.

This is not a quote, purchase order, or separate “sales order” document type — the app calls these sales.


B. Viewing sales

  1. Open Sales > Sales (hub tile or /sales/list).
  2. Browse the list (status pills: draft / confirmed / cancelled).
  3. Open a row for detail.

C. Creating a draft sale

Required permission: sales:sale:create

  1. Tap New sale. The page opens with the Progress card on its first step, Sale, followed by the steps still to come.
  2. Customer — optionally select a customer (or walk-in). All amounts on the sale are in your organization currency (set in Workspace settings).
  3. Items — search for a product in the inventory you sell from (or scan its code) and add lines: - Quantity (must be positive) - Unit price - Discount % (optional) - Tax % (optional)
  4. Fulfillment — tick Create a picklist if the warehouse should collect the items first (saving reserves the stock; it leaves inventory when the pick list is completed). The Pick list step then appears in the Progress card. Leave it unticked for over-the-counter sales: the stock leaves inventory when the invoice is issued.
  5. Add notes if needed and check the total. A sale needs at least one item. - Without a pick list, tap Complete sale to save it and go straight to the Invoice & payment step (see E) — the fastest way to sell over the counter. Save as draft keeps it as a draft to finish later. - With a pick list (or without sales:sale:update), tap Create sale. The sale stays draft until its invoice is issued.

Line totals are computed as: quantity × price, minus discount %, then plus tax %.

Representative stock: a sale on a pool held by a sales representative belongs to that representative. It is always direct (no pick list) and every line must come from that pool. A sale on a warehouse pool cannot include stock from a representative's pool. See Sales representatives.


D. Editing a draft

Required permission: sales:sale:update

Only draft sales can be edited. Open detail → Edit, change header or lines, save.


E. Invoice & payment

Required permission: sales:sale:update to issue the invoice; sales:invoice:update to record the payment

  1. Open a draft with at least one line (or use Complete sale on the new-sale form).
  2. With a pick list: complete it in Inventory (issue) — View picklist in Next step opens it. Stock leaves the warehouse there, not on invoicing.
  3. Tap Invoice & collect payment in Next step. One dialog shows the total and asks how the customer pays: - Collect payment now (on by default): the amount is prefilled with the total — enter less for a part payment — and you pick the method (Cash, Card, Bank transfer or Other). Tap Issue invoice & record payment. - Turn Collect payment now off to sell on credit, then tap Issue invoice. The invoice stays unpaid until you record the payment.
  4. With a pick list, the system checks that pick lists are completed and issued quantities match the sale lines; without one, it checks stock and takes it out of inventory now. The sale becomes confirmed, the invoice is issued, and the payment is recorded on it. The app then opens the invoice.

If the invoice is issued but the payment can't be recorded (for example a network error), the app says so and keeps the invoice: record the payment again from the invoice or the sale page — the sale is never invoiced twice.

Users who can issue invoices but not record payments see Issue invoice only; someone with sales:invoice:update collects the payment later. While a pick list is still open, Next step points to the pick list instead.

After the invoice is issued, Next step on the sale page shows what is still due and offers Record payment directly, without opening the invoice.


F. Cancelling a sale

Required permission: sales:sale:update

When allowed, Cancel sale is at the bottom of the sale page and asks for confirmation.

Current state Cancel allowed?
Draft Yes → cancelled, unless its pick list is in progress (complete or cancel it first)
Confirmed, invoice issued or paid No — void the invoice first (paid cannot be voided)
Confirmed, invoice void or no invoice Yes → cancelled
Already cancelled No

Where the goods go: a draft pick list is cancelled with the sale. If the pick list was already completed (goods issued), nothing is reversed automatically: a customer return opens in Inventory so the warehouse receives, inspects and restocks the goods into their bins. Sales confirmed without a pick list (direct) have their stock reversed on cancel, back into the pool it was taken from — including a representative's pool.


G. Status reference

Status Meaning
draft Editable; pick list may still be open or completed
confirmed Fulfillment done; invoice created
cancelled Terminal

Previous: Customers Next: Invoices

Related: Overview · Stock Items