Production & Lot Tracking
This chapter covers Quasar’s production batch and lot-tracking system. A production batch links a batch number and expiry date to a quantity of inventory and tracks that quantity through every stage of its lifecycle — purchasing, sales, adjustments, inventory counts, vendor claims, and store transfers. These features are essential for bakeries, delis, produce departments, dairy, pharmaceuticals, and any business that manages perishable or lot-controlled goods.
Batch Lifecycle Overview
A batch record is created when goods are received and updated automatically as inventory moves through the system:
| Stage | Effect on Batch |
|---|---|
| Purchasing (Vendor Invoice) | Creates the batch record — sets Received and Remaining quantities |
| Sales (POS / Customer Invoice) | Depletes the Remaining quantity using FEFO (First Expiry, First Out) — the batch with the earliest expiry date is consumed first |
| Adjustments (Item Adjustment) | Increases or decreases Remaining for a specific batch and expiry date |
| Inventory Counts | Count adjustments update the batch’s Adjusted and Remaining columns |
| Vendor Claims / Returns | Returns expired or damaged goods to the vendor — reduces Received and Remaining on the specific batch |
| Transfers | Moving goods between stores carries the batch and expiry data with the transfer, updating the source and destination batch records |
Purchasing: Creating Batches
Batch records are created when you receive items on a Vendor Invoice. When you add a batch-tracked item to the invoice, Quasar prompts for the batch and expiry information:
- Create a new Vendor Invoice and add the item
- When the item is flagged for expiry tracking, Quasar automatically opens a dialog requesting the Batch Number and Expiry Date
- You can also enter or change these values on the Expiry Date field in the item info area below the invoice grid
- Post the invoice — Quasar creates an
expire_changerecord with the received quantity set as both the Received and Remaining values
If you receive the same item with the same batch number and expiry date on a subsequent invoice, Quasar adds to the existing batch record rather than creating a duplicate.
Sales: FEFO Depletion
When a batch-tracked item is sold at the POS or on a Customer Invoice, Quasar automatically depletes batch quantities using FEFO (First Expiry, First Out) logic:
- Quasar queries all active batches for the item and store where Remaining > 0 and the expiry date has not passed
- Batches are sorted by expiry date ascending — the earliest-expiring batch is consumed first
- If the sold quantity exceeds the first batch’s remaining stock, Quasar moves to the next batch and continues until the full quantity is allocated
- The Sold column increases and the Remaining column decreases accordingly
Adjustments: Batch Corrections
When you create an Item Adjustment for a batch-tracked item, the Expiry Info tab lets you specify the batch number and expiry date. The adjustment updates the batch record:
- Positive adjustment — increases Adjusted and Remaining (e.g., found stock, correction)
- Negative adjustment — decreases Remaining (e.g., shrinkage, damage write-off)
If the specified batch/expiry combination does not yet exist, Quasar creates a new batch record. If it exists, the Adjusted and Remaining columns are updated in place.
Inventory Counts and Batches
Physical inventory count adjustments (generated when counts are processed) also update batch records. The adjustment entries created by the count process follow the same batch adjustment logic — they update the Adjusted and Remaining columns for the relevant batch.
Vendor Claims: Returning Batched Goods
When batch-tracked goods need to be returned to the vendor (expired product, quality issues), use a Vendor Claim. The claim process updates the batch record for the specific batch number and expiry date:
- Received is reduced by the claimed quantity
- Remaining is reduced by the claimed quantity
The claim must reference an existing batch — you cannot claim against a batch that does not exist. If the claim quantity would push Remaining below zero, Quasar rejects the transaction.
Transfers: Moving Batched Goods Between Stores
When batch-tracked items are transferred between stores via Item Transfer, Quasar carries the batch and expiry data with the transfer. The sending store’s batch Remaining is reduced, and the receiving store gets a corresponding batch record (created or updated).
Production Batch Screen
The Production Batch screen is the central inquiry tool for viewing and querying batch status across the entire system. It answers questions like “what batches are about to expire?” and “how much of batch X is still in stock?”
| Screen | Access | Purpose |
|---|---|---|
| Production Batch | Inventory → Production Batches | View and query batch/lot status |
Selection Criteria
| Field | Purpose |
|---|---|
| Item Number | Filter to a specific item |
| Production Batch | Search by batch number |
| Expire Date From / To | Filter by expiry date range |
| Store | Limit to a single store |
| Vendor | Show batches from a specific vendor |
| Department / Subdepartment | Filter by merchandise hierarchy |
| Brand | Filter by brand |
| Show Remaining Only | When checked (default), hides fully depleted batches so you only see batches with stock remaining |
Display Columns
| Column | Meaning |
|---|---|
| Store | Store number |
| Item / Description | Item number and name |
| Production Batch | The batch number assigned at receiving |
| Expire Date | When this batch expires |
| Size | Item size for this batch entry |
| Received | Total quantity received into this batch |
| Sold | Quantity sold from this batch (FEFO) |
| Adjusted | Quantity changed by adjustments or counts |
| Remaining | Current balance (Received − Sold +/− Adjusted) |
A Total Remaining field below the grid shows the sum across all displayed batches.
Lot Tracking Screens Summary
| Screen | Menu | Help |
|---|---|---|
| Production Batch | Inventory → Production Batches | Help |
- Chapter 18 — Building Kits & Matrix Items
- Chapter 16 — Physical Inventory (counts, adjustments, stock status)