Variant product selection
Menu: Sales → open a sale → Add Products
[BAWAS] Sales: Improve Product Selection for Multiple Variants — client requested, 4 July 2026 (for future reference). Adds multi-variant checkbox selection, keyboard shortcuts, and the ability to add the same variant more than once when Unit (or bulk qty) differs per line.
When a product has variants (size, colour, or SKU under a parent item), the Add Products modal lists every active variant so staff can add one or many lines in a single step.
Purpose
Counter and warehouse staff often need several sizes or colours of the same base product on one order. Multi-select avoids opening the modal repeatedly for each variant.
Special features
- Wider popup — Add Products opens at about 75% of the screen width so more columns stay readable.
- Product search — type name or code; parent products with variants open the variant grid. After you pick a product, the search box clears for the next search.
- Larger checkboxes — easier to tick on screen or with the mouse.
- Checkbox column — tick individual variants, or use the header checkbox to select all.
- A–Z list order — variants are listed alphabetically by Colour, then Size, then Code.
- Sticky column headers — Code, Title, Colour, Size, and other headers stay fixed at the top while you scroll.
- Sticky checked rows — variants you tick stay pinned under the header so you can keep browsing without losing them. Rows stay in their list place when you tick them (they do not jump).
- Add Selected (N) — adds every checked variant to Sales Items in one action.
- Per-row Add — add a single variant; products with multiple units allow one line per unit (not duplicate units).
- On order units — shows units already on the order; Full when every allowed unit is on the order.
- Stock column — on the parent search list, if the product has variants, Stock is the sum of active variant stocks. On the variant grid, Stock is that variant only. Confirmed purchase/sale still updates the selected variant. See Product Variants → Check variant stock.
- Keyboard shortcuts — full list below; a hint bar appears above the grid when variants load.
Works with products set up under Product Variants. Variant breakdowns on printouts are covered in Variants Short Print.
Workflows
Add multiple variants with the mouse
- Open a New sale and click Add Products.
- Search for the parent product (for example Sole Gents 0173).
- Tick the checkboxes for each size or colour you need.
- Click Add Selected (N).
- Click Close when finished, or search another product.
Add multiple variants with the keyboard
- Open Add Products and search for a variant product.
- When the list appears, use ↑ / ↓ to highlight a row (pink background). The pink row stays visible below any pinned checked rows.
- Press Space or Enter to toggle the checkbox on the highlighted row. Checked rows stay pinned under the header.
- Move to other rows with ↑ / ↓ — moving does not clear checkboxes. On the first 5 rows there is no list scroll; from row 6 onward the list scrolls a little with each arrow key.
- Press ⌘+Enter (Mac) or Ctrl+Enter (Windows) to add all checked variants.
- Press Close or continue searching.
Select or clear all from the keyboard
| Key | Action |
|---|---|
| ⌘+A / Ctrl+A | Select all variants in the list |
| ⌘+Shift+A / Ctrl+Shift+A | Unselect all checkboxes |
Click the header checkbox again to clear all selections with the mouse.
Keyboard reference
| Key | Action |
|---|---|
| ↑ / ↓ | Move highlight to previous / next variant (pink row stays clear of sticky checked rows; first 5 rows do not scroll the list) |
| Space | Toggle checkbox on highlighted row |
| Enter | Toggle checkbox on highlighted row; if any rows are already checked, adds all checked variants |
| ⌘+Enter / Ctrl+Enter | Add all checked variants |
| ⌘+A / Ctrl+A | Select all |
| ⌘+Shift+A / Ctrl+Shift+A | Unselect all |
| ⌘+1 … ⌘+9 | Add variant on row 1–9 immediately (single add, no checkbox) |
On Windows, use Ctrl wherever this guide shows ⌘.
Tip: Pink highlight = keyboard focus. Checkbox tick = selected for Add Selected. Ticked rows stay pinned under the header while you browse.
Add the same variant with different units
Client requested, 4 July 2026 — same SKU on one order with a different unit per line (for example Mtr, Roll, Pack, Nos, Kgs). No duplicate unit on the same order.
- Add the variant from Add Products — the line defaults to the first unit not yet on the order.
- On Sales Items, set qty and bulk values on that line if needed.
- Open Add Products again and Add the same variant — the next unused unit is selected automatically.
- Repeat until every allowed unit has a line; the row then shows Full.
A product with only Pair or Nos allows one line only.
Unit dropdown and Enter key workflow
Client confirmed on production, 9 July 2026 — bill unit (for example Mtr) must be the default so staff can add a product and continue with Enter only, without arrow keys on the unit dropdown.
Dropdown order
| Position | Unit types |
|---|---|
| First | Bill units — Mtr, Nos, Kgs, Pair, etc. (from the product Unit field) |
| Second | Bulk / top units — Pack, Roll, Cane (from Bulk Unit Type in Inventory) |
The selected unit on a line does not move to the top of the list. Bulk units always stay in second position.
Default unit on a new line
- The first bill unit is selected automatically (usually Mtr or Nos).
- Re-adding the same variant picks the next unused unit (for example Roll after Mtr is already on the order).
Keyboard flow after Add Products
- In Add Products, highlight a variant and press Enter (or ⌘+Enter for checked rows).
- The modal closes; focus moves to the Unit field on the new Sales Items row.
- Unit is already Mtr (or the first bill unit) — press Enter again to move to Qty without changing the unit.
- Continue with Enter through Qty, Price Type, and Unit Price on that row.
Use the mouse or arrow keys on Unit only when you need Roll, Pack, or Cane.
Validation rules
| Rule | Detail |
|---|---|
| Client request | 4 July 2026 — multi-variant selection; one line per allowed unit on the same variant |
| Active variants only | Inactive variants from Inventory do not appear in the list |
| List order | Variants show A–Z by colour, then size, then code |
| Multiple units | Maximum lines = number of allowed units (bulk + bill units, e.g. Roll, Mtr, Pack, Nos, Kgs) — one line per unit |
| Single unit products | Maximum one line per variant on the order |
| Duplicate unit on save | Changing Unit on the grid to one already used for that variant is blocked |
| Parent product | Searching the parent opens variants; searching a single SKU without children adds one line and closes the modal |
| Stock display | Parent row Stock = sum of active variants; each variant keeps its own stock in the variant grid |
| Line totals | Each line has its own unit, qty, and price |
| Client request (units) | 9 July 2026 — bill unit default (Mtr); bulk units (Pack, Roll, Cane) always second in dropdown; Enter workflow on grid |
| Print unit label | Mtr / Nos lines print as bill unit only; Roll / Pack / Cane lines print as bulk form (for example Roll (50 Mtr)) on Print Mini and Print Large |
| Multiple lines for one variant appear on Variants Short Print layouts |
Related pages
- Edit transaction — open sales and manage line items.
- Sales management — sales list and detail screen.
- Product Variants — set up size/colour SKUs in Inventory.