Units & Variants
Units of Measure
Every product in StockFlow must have a Unit of Measure (UOM) — the thing that one “unit” represents. This affects how quantities are displayed, how inventory is counted, and how sales orders are entered.
Built-in units
StockFlow ships with 40 pre-configured units across these groups:
| Group | Units |
|---|---|
| Count | piece, pair, set, pack, dozen, gross, unit |
| Weight | kg, g, mg, lb, oz, tonne |
| Volume | litre, ml, gallon, fl oz, m³ |
| Length | m, cm, mm, km, ft, in, yard |
| Area | m², cm², ft² |
| Time | hour, day, week, month |
| Container | box, carton, pallet, crate, bag, drum, bottle, can |
Creating a custom unit
- Go to Settings → Units → + Add Unit
- Enter:
- Singular name — e.g.
Roll - Plural name — e.g.
Rolls - Abbreviation — e.g.
rl - Allow decimals — check if quantities like
2.5 rollsare valid
- Singular name — e.g.
- Click Save
Changing a product’s unit
Open the product, change the Unit of Measure field, and save. Changing the unit does not convert existing stock quantities — it only changes the label. If you change from kg to g, update the quantities manually to reflect the new unit’s scale.
Product Variants
Variants let a single product entry represent multiple physical variations — such as a T-shirt available in 3 sizes and 4 colours.
When to use variants vs separate products
| Use variants when… | Use separate products when… |
|---|---|
| Variations share the same name and description | Items are fundamentally different products |
| You want them grouped on one product page | They have completely different pricing structures |
| They differ only by size, colour, or material | They are from different suppliers and have different costs |
Setting up variant options
-
Open a product (or create a new one)
-
Click the Variants tab
-
Click + Add Option
-
Enter an option name and its possible values:
Option 1: Size → S, M, L, XL, XXL Option 2: Colour → Red, Black, White, Navy -
Click Generate Variants
StockFlow creates a variant for every combination: S / Red, S / Black, S / White, … XXL / Navy — 20 variants in this example.
Variant-level settings
Each variant has its own:
| Field | Notes |
|---|---|
| SKU | Auto-generated (e.g. TSH-001-S-RED) or set manually |
| Barcode | Optional — assign per variant for accurate scanning |
| Retail price | Can differ from the parent product’s price |
| Cost price | Can differ per variant |
| Weight / dimensions | For shipping calculation |
| Status | Active or Inactive — inactive variants are hidden from sales |
| Image | Assign a specific image (e.g. a photo of the red variant) |
Managing variants after creation
After generating variants, you can:
- Edit any row in the variants table to adjust prices, SKUs, or barcodes
- Delete a variant — only possible if it has no stock movements or sales history
- Deactivate a variant — hides it from sales without deleting it
- Add new option values — e.g. add a new colour
Greento an existing size/colour product; click Add value under the option and new combinations are generated
Stock per variant
Each variant has its own independent inventory. Adding stock to S / Red does not affect S / Black. You can view per-variant stock in the Inventory module by filtering to the parent product — it shows one row per variant/warehouse combination.
Variant limits
| Plan | Max variants per product | Max options per product |
|---|---|---|
| Starter | 50 | 3 |
| Growth | 500 | 5 |
| Enterprise | Unlimited | 10 |
Unit conversion (advanced)
If you buy a product in one unit and sell it in another (e.g. buy in box of 12, sell by piece), configure a unit conversion:
- Open the product
- Click Unit Conversion
- Set:
- Purchase unit:
box - Quantity per purchase unit:
12 - Sales unit:
piece
- Purchase unit:
- Click Save
When you receive a purchase order of 10 boxes, StockFlow adds 120 pieces to inventory. When you sell 1 piece, it deducts 1 piece. Reports show both the purchase unit and the sales unit.