
Who Uses This Feature
How It Works: The Big Picture
1
Configure the item
Set “Has Batch No” and “Has Expiry Date” to ON on the item record.
2
Goods arrive and purchase receipt is created
Staff records the delivery as a Purchase Receipt.
3
Batch details entered
Staff enters the batch number, manufacturing date, and expiry date for each batch received.
4
Batch record created automatically
The system creates a Batch record in the background, linked to the item and receipt.
5
Stock available in inventory
The item is now in stock, tracked by batch.
6
Batch selected at point of sale
At the POS counter, Sales Invoice, or Delivery Note, staff selects the batch with the earliest expiry date.
7
Stock decrement recorded against the batch
Each sale reduces the quantity on the specific batch selected.
8
Batch depleted
When the batch quantity reaches zero, the batch is fully used.
9
Batch Expiry Status report reviewed
The report shows remaining batches, quantities, and expiry warnings across all active stock.
Step 1: Enable Batch Tracking on an Item
Before batches can be tracked, the item must be configured. On the Item record:- Tick Has Batch No = ON
- Tick Has Expiry Date = ON
- (Optional) Enter Shelf Life in Days for auto-calculated expiry
- (Optional) Enter Batch Number Series if you want the system to auto-generate batch IDs in a standard format
Step 2: Enter Batch Details on Purchase Receipt
When goods arrive from your supplier, you create a Purchase Receipt. For batch-tracked items:- Add the item to the Purchase Receipt items table
- Click on the Batch No field in the item row
- Enter the batch number printed on the packaging (e.g.
BTH001,MFG-2024-05) - Enter the Manufacturing Date and Expiry Date from the label
- The system automatically creates a Batch record in the database

The Batch Record
Every batch is stored as a separate record in the system. To view batches:- Go to Stock → Batch (search “Batch” in the top bar)
- Or open any item and look at its Batch records from the links section
Step 3: Selecting Batches When Selling
When you sell a batch-tracked item - at the POS counter, in a Sales Invoice, or on a Delivery Note - you must select the batch. At the POS counter:- Add the item to the cart
- A batch selection popup appears (if the item has multiple batches in stock)
- Select the batch with the earliest expiry date (FEFO - First Expiry, First Out)
- Confirm the quantity
- Add the item in the items table
- Click the Batch No field
- A list of available batches with quantities and expiry dates appears
- Select the appropriate batch
Monitoring Expiry: Key Reports
Batch Item Expiry Status
The most important report for a medical retail pharmacist or manager. Run this weekly (or daily for high-turnover stores). Go to: Stock → Reports → Batch Item Expiry Status (or search the report name) What it shows: Every batch of every item with its expiry date, quantity remaining, and how many days until expiry. Filters you can set:- End Date - show only batches expiring before a specific date (e.g. next 30, 60, or 90 days)
- Item / Item Group - filter by a specific product or category
- Warehouse - filter by storage location
- Batches expiring in less than 30 days: Move to front of shelf; actively promote; check return policy with supplier
- Batches expiring in less than 7 days: Remove from sale; arrange supplier return or write-off
- Expired batches (expiry date in the past): Immediately remove from sale; record a Stock Entry (Material Issue) to write off the stock

Available Batch Report
Use this when you need to know which batches of a specific medicine are available and in what quantity. Go to: Stock → Reports → Available Batch Report Set the item filter and choose your warehouse. The report shows all in-stock batches sorted by expiry date.Writing Off Expired Stock
If a batch has expired and cannot be returned to the supplier:- Go to Stock → Stock Entry → New
- Set Stock Entry Type to “Material Issue”
- Add the expired item, select the expired batch, and enter the quantity
- Add a note in the Reason field (e.g. “Expired - Batch BTH001, Exp 31/03/2025”)
- Submit
Returning Near-Expiry Stock to Supplier
If your supplier accepts returns of near-expiry stock:- Create a Purchase Return (from the original Purchase Receipt → Return button)
- Select the batch to return
- Enter the quantity being returned
- Submit - stock is reduced and a credit note is created against the supplier
Batch Recall Procedure
If a manufacturer issues a recall for a specific batch:- Run the Batch-Wise Balance History report - filter by the recalled batch number
- Check the remaining quantity in your warehouse
- Check which customer sales referenced that batch (from Sales Register, filter by batch)
- Contact affected customers as needed
- Return the recalled batch to the supplier (Purchase Return)
- Write off any quantity that cannot be returned
Best Practices
- Run the Batch Expiry Status report every week. Do not wait for customers to notice expired stock on your shelves.
- Follow FEFO strictly. Always sell from the batch with the earliest expiry date. Configure your POS to show batches in expiry order.
- Record batch details accurately at receipt. If the batch number or expiry date is entered incorrectly, the report will be unreliable. Cross-check labels with your Purchase Receipt.
- Set the expiry date on every batch. Never leave the expiry date blank on a batch record for a medicine.
- Quarantine expired batches immediately. Once identified as expired, physically separate them and write them off in the system - do not leave them in saleable stock.
Common Mistakes
- Leaving batch tracking OFF for medicines. This is the single biggest setup error. Without batch tracking, there is no expiry visibility and no recall traceability.
- Entering all stock under one batch. If a single delivery contains two batches (different manufacturing dates), they must be entered as separate batch rows - not combined into one.
- Not selecting a batch at point of sale. If the batch field is skipped, the system may deduct from an arbitrary batch, making your expiry tracking unreliable.
- Ignoring the Batch Expiry Status report. Letting near-expiry stock pass its date because nobody ran the report regularly.
Related Features
- Items Catalogue - enabling batch and expiry settings on an item
- Purchase Receipt - where batch details are first entered
- Point of Sale - batch selection at the billing counter
- Stock Entry - write-off of expired batches
- Reports & Monitoring - Batch Item Expiry Status and other stock reports