Skip to content

Products & Inventory in Fexl Lite

Products & Inventory is your stock, the way you actually run it: three precision levels — a simple quantity count, unique serial numbers, or batch lots with expiry — all tracked from the same screen, and all costed FIFO so cost-of-goods stays honest as prices drift.

Updated 4 May 2026·For v2.2.0·5 min read
Inventory History — per-product stock list with status badges (in stock / low stock / out of stock)

What’s on the Inventory page

The Inventory page is the daily-driver view of “what do we have, and what’s running out.” Every product line shows up exactly once, with five sortable columns:

  • Product Name — the name as it appears on the POS grid and on receipts.
  • SKU — the internal stock code, monospaced for quick scanning.
  • Category — pulled from the product itself; also drives the category bar at the top of the page for one-tap filtering.
  • Stock Level — total units across all variants, batches, and serials. Red and bold when the level is at or below the low-stock threshold.
  • Status — a coloured badge: In Stock (green), Low Stock (yellow), or Out of Stock (red).

Above the table, a search box matches on name or SKU, and the Category Bar lets you drill into a single category. Sort preferences (which column, ascending or descending) are remembered between sessions, so the page reopens the way you left it.

Each row’s overflow menu carries the per-product actions: View History, View Tracking (for serialized or batched products), Remove Stock, Reassign Unassigned (only appears when a variable product has legacy null-variant stock that needs a human call), and Delete.

The three tracking modes

Every product you create picks exactly one tracking mode, and the choice drives how Fexl Lite handles stock for the rest of that product’s life.

  • Quantity — a simple integer count. Best for fast-moving SKUs where one unit is interchangeable with the next: t-shirts, soft drinks, packaged groceries.
  • Serialized — every unit has a unique identifier (IMEI, serial number, asset tag). The POS forces you to pick the exact unit at sale time; returns and warranty work track the individual piece.
  • Batch — units are grouped by lot number and, optionally, expiry date. Fexl Lite sells the oldest batch first and warns when expiries approach. Right for pharma, food, cosmetics, anything with a shelf life.

Pick one per product when you create it. The tracking mode is locked in for the lifetime of the product (changing it mid-stream would break historical journal entries) — so think a beat before saving. The full mechanics of each mode, including configuration knobs like the identifier label and the expiry warning window, live on the tracking modes deep dive.

Common tasks

1

Restock from a supplier

Open the product, hit Restock, pick the supplier, enter the quantity and unit cost. A new FIFO layer is added; landed costs from the purchase order (shipping, customs) flow into the layer cost automatically by weight.

2

View per-product history

From the row’s menu pick View History. The timeline shows every ingress (green up-arrow), egress (red down-arrow), and adjustment (orange) — with supplier or customer attribution, the user who did it, the unit cost, and any notes. Serial numbers and variant attributes are stamped right onto the entry.

3

Set a low-stock threshold

In Settings → Inventory, set the global low-stock threshold (default 10). The Inventory page badge flips to yellow at or below it; the dashboard surfaces a low-stock alert tile.

4

Generate barcodes and print labels

On the Products page, the Generate Barcode button creates a unique EAN-compatible code for any product missing one. The Print Labels action exports a PDF of barcode labels you can run through any sticker printer.

5

Manage defect inventory

When a return is routed to “defect” instead of back to sellable stock, it lands on the Defect Inventory page. From there you bulk-select pending items and route them to a supplier as a return — status flips through Pending → Awaiting Shipment → Sent to Supplier → Resolved.

6

Run an inventory valuation

Reports → Inventory Valuation prices every unit on hand at its FIFO cost layer for an exact stockroom value. Inventory Moves gives you the same data as a movement log over a date range. #67 v1.6.100 The Moves report’s source column now emits a readable label instead of a raw enum.

Deep dives

MODES

Quantity vs serialized vs batch

The three precision levels side by side: when each is right, what each costs you in friction at the till, and how to migrate a product if you guessed wrong on day one.

SIMPLE

Create a simple product

Name, SKU, barcode, price, category, condition. The minimum viable product line — most retail stock fits here.

VARIANTS

Variable products & the variant manager

Size / colour / style matrices. One parent product, many sellable variants, separate stock counts per variant.

SERIALIZED

Serialized stock (IMEI, S/N)

Every unit unique. Picker at the till, per-unit history, warranty-friendly. Used for phones, electronics, repair items.

BATCH

Batch & expiry tracking

Lots with shelf lives. FIFO-by-expiry, near-expiry alerts, batch picker on returns and the till.

BARCODES

Barcodes & label printing

Generate codes, scan to find, print sticker sheets via PDF.

RESTOCK

Restock & cost layers

How a restock writes a FIFO layer, how landed cost from a PO is split across lines, and what shows up on the General Ledger.

HISTORY

Per-product timeline

Every move, every adjustment, with supplier / customer / user attribution and serial / variant tags.

ALERTS

Low-stock thresholds & alerts

Global default plus per-product overrides; dashboard tile and Inventory list badges.

DEFECTS

Defect inventory & supplier returns

Where return-to-defect items live, how to bulk-route them to a supplier, and the four-state lifecycle.

FIFO

FIFO costing explained

Per-layer qty_remaining, how sales drain the oldest layers first, and how cancel-restore returns cost back to the right layer.