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

FieldNotes
Customer nameOptional. Displayed on the detail page and included in CSV exports.
Payment methodCash, Card, Bank transfer, or Other.
NotesOptional free-text note for the transaction.

Line Items

Each line represents one stock item being sold from a specific location.

FieldNotes
ItemThe stock item being sold.
LocationWhich location to deduct from. The location picker is filtered to locations that hold stock for the selected item.
QuantityHow many units are being sold.
Unit priceSelling 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:

  1. Creates the sale record with the calculated total.
  2. For each line, deducts the quantity from the chosen location’s stock level.
  3. Posts a sale movement 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:

ColumnDescription
ItemStock item name and SKU.
LocationWhere the stock was deducted from.
QuantityUnits sold.
Unit pricePrice per unit at the time of the sale.
Line totalQuantity × 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.