Tracking modes — quantity, serialized, batch
Most products don’t need more than a stock count — “we have 12 of these, sell one, now we have 11.” Fexl Lite calls that Quantity mode and uses it by default. But for the ~15% of inventory where the count isn’t enough — phones with IMEIs, medication with expiry dates, anything where the customer cares which exact unit they got — there are two stricter modes that pin every unit to extra metadata.
You set the tracking mode when you create a product, in the Inventory tracking field of the new-product form. The choice changes how the POS picks units, what the inventory page shows, and what the customer’s receipt prints — but it does not change how costing works. All three modes use the same FIFO engine underneath.
Picking a mode
Three rules of thumb cover most decisions:
Use Quantity when…
- A unit is fungible. Any one off the shelf is as good as any other.
- You don’t need to recall which unit a particular customer bought.
- There is no expiry date or it isn’t relevant to the customer (cleaning supplies, hardware, packaged groceries with long shelf life).
This is the default, and it should stay the default for almost everything you sell.
Use Serialized when…
- Each unit has a manufacturer-assigned unique identifier — IMEI, serial number, registration number.
- The customer needs that identifier on the receipt for warranty, registration, or insurance.
- You need to look up which customer bought a specific unit (theft tracing, recall, repair history).
Phones, laptops, large electronics, firearms, vehicles, and rented equipment usually want this mode.
Use Batch when…
- Units within the same lot are interchangeable, but lots themselves matter.
- There’s an expiry date and selling expired stock is a real risk.
- You need to recall every unit from a specific lot if a supplier flags a defect.
Food, pharmaceuticals, cosmetics, lab consumables, and dyed fabrics usually want this mode.
The three modes in detail
Quantity
When to use — the default for stock you count, not identify.
What changes in POS — nothing extra. Scan or tap, the unit lands in the cart, you check out. The receipt prints product name and price.
What the inventory page shows — a single number per product (or per variant): On hand: 12. Restocks add to the count, sales subtract from it.
See Simple products for the full setup walk-through.
Serialized
When to use — every unit has a unique identifier the customer cares about.
What changes in POS — after you add the product to the cart, a picker opens listing every available IMEI/serial. You pick one (or scan the IMEI directly). The receipt prints the IMEI under the line item. Restocks make you enter each new identifier.
What the inventory page shows — a count plus a per-unit table: every IMEI/serial in stock with status (available, sold, defect, with_supplier). Click a unit to see its full history — when it arrived, who sold it, to which customer.
See Serialized products for IMEI capture, bulk import, and warranty linking.
Batch
When to use — stock is grouped into lots with shared expiry dates.
What changes in POS — after you add the product to the cart, a picker opens listing each lot with its expiry date and remaining quantity. The POS sorts oldest-expiry first so you sell expiring stock before fresh stock. The receipt prints the lot number and expiry under the line.
What the inventory page shows — total on hand plus a lot table: lot number, expiry date, quantity remaining. Lots that hit their expiry threshold raise a banner on the inventory page.
See Batch and expiry tracking for lot import, expiry alerts, and bulk write-off.
What FIFO means across all three
Switching modes after creation
Related
Simple products
The default mode — set up, restock, sell.
Serialized products
IMEI and serial-number capture, bulk import, warranty linking.
Batch and expiry tracking
Lot numbers, expiry alerts, bulk write-off.
FIFO costing
Per-layer cost via qty_remaining. The shared engine for all three modes.
- Restock a product — adding stock in any mode
- Release notes — v1.6.100 — the FIFO unification fixes