Sales
The Sales module lets you record individual sales transactions against your stock. Each sale deducts the sold quantities from the relevant locations and creates a full audit trail in Stock Movements.
Recording a Sale
Open Sales from the sidebar and click New sale. Fill in the sale header, then add one or more line items.
Stock is not checked for availability before saving. It is possible to record a sale that takes a location’s stock level negative if more is sold than is currently on hand. Check current quantities before recording, or verify the Reorder Workbench for items already at or below minimum level.
Header Fields
| Field | Notes |
|---|---|
| Customer name | Optional. Displayed on the detail page and included in CSV exports. |
| Payment method | Cash, Card, Bank transfer, or Other. |
| Notes | Optional free-text note for the transaction. |
Line Items
Each line represents one stock item being sold from a specific location.
| Field | Notes |
|---|---|
| Item | The stock item being sold. |
| Location | Which location to deduct from. The location picker is filtered to locations that hold stock for the selected item. |
| Quantity | How many units are being sold. |
| Unit price | Selling price per unit in your configured currency. Defaults to the item’s sale price if one is set, but can be overridden per line. |
You can add as many lines as needed using the Add line button. A line is included in the submission only if an item, location, and quantity are all filled in - partially filled lines are ignored.
The Line total (quantity × unit price) is calculated per line, and the Sale total is the sum of all line totals.
On save, Kitted:
- Creates the sale record with the calculated total.
- For each line, deducts the quantity from the chosen location’s stock level.
- Posts a
salemovement for each line (reason:"Sale to <customer>"or"Sale"if no customer name was given).
Stock is not checked for sufficiency before saving - it is possible to record a sale that takes a location negative if more is sold than is on hand. Check the Reorder Workbench for items at or below their minimum level.
Sale List
The sales list shows all transactions in reverse chronological order. Use the From / To date filters to narrow the list to a date range. Each row shows the sale ID, date, customer name, number of lines, and total value.
Click any row to open the sale detail page.
Sale Detail Page
The detail page shows the full header (date, customer, payment method, notes, total) and a line-by-line breakdown:
| Column | Description |
|---|---|
| Item | Stock item name and SKU. |
| Location | Where the stock was deducted from. |
| Quantity | Units sold. |
| Unit price | Price per unit at the time of the sale. |
| Line total | Quantity × unit price. |
Exporting a Sale
Click ↓ Export CSV on the detail page to download a CSV of that sale. The file contains one row per line item and includes: Sale ID, Date, Customer, Payment Method, Notes, Item, SKU, Location, Quantity, Unit Price, Line Total, and Sale Total.
Bulk CSV Export
On the sales list page, click Export CSV to download all sales within the currently active date filter. The format is identical to the single-sale export, with one row per line item across all matching sales. Use this for external reporting or accounting integrations.