OthTech Solutions
Batch & expiry

Batch and expiry tracking that catches stock before it expires

Give every strip, bottle and carton a batch number and expiry date, see stock batch by batch, and get a first-expiry-first-out pick plan before you dispatch. Batches running out of date show up on the dashboard 90 days ahead, and damaged or expired stock goes to quarantine, out of sellable stock.

For chemists, medical and surgical distributors, and FMCG stockists.

  • Batch and expiry on every lot
  • FEFO pick plan by godown
  • Near-expiry and quarantine lists
A pharmacist checking medicine stock on the shelves

Rack B · Shelf 2 FEFO

Paracetamol 650

B PC2401

EXP 03/27

Paracetamol 650

B PC2311

EXP 11/26

Paracetamol 650

B PC2408

EXP 08/27

Amoxicillin 500

B AX2207

EXP 12/26

Cough syrup 100 ml

B CS0912

EXP 05/27

Quarantine
OthTech Invoice · Batches

Goods received

GRN-0388 · Medilink Pharma

ItemParacetamol 650

BatchPC2408

Expiry08/2027

Quantity200 strips

Put awayRack B · Shelf 2

Batch and expiry saved

  1. Receive
  2. FEFO pick
  3. Near expiry
  4. Quarantine
On the shelf

Know which batch to take from before it expires

Batch and expiry come in on the goods receipt. The FEFO pick plan lists the batches to draw from, earliest expiry first, and near-expiry stock shows up while there is time to sell it.

invoice.othtech.com/inventory/fefo

FEFO pick plan · Paracetamol 650

10 strips needed · earliest expiry first

Planning…
PC2311Exp 11/202624
PC2401Exp 03/2027140
PC2408Exp 08/2027200

PC2311 expires in November, so its 24 strips are also on the near-expiry list.

Sorting batches by expiry…

GRN-0388 · Medilink Pharma

Received with batch details

Paracetamol 650
200 strips
Batch
PC2408
Expiry
08/2027

Batch and expiry on every line

Expiring in 60 days

Sell or return them in time

PC2311 Paracetamol 650
11/26
AX2207 Amoxicillin 500
12/26
OR1915 ORS sachet
12/26

38 batches · ₹1.12L at cost

Illustration · sample names and numbers

What each batch carries

The details printed on the strip, kept against the product so stock can be counted batch by batch.

Batch number per product

Each product has its own list of batches. A batch number can't be entered twice for the same product.

Expiry date on the batch

Optional, so ORS, cotton or devices that don't expire can still be batch-tracked.

Stock in and out by batch

Record receipts, issues and adjustments against a batch, and each batch shows what is left.

Rack and shelf

Tag stock with a bin such as Rack B · Shelf 2 and see what sits where in each godown.

FEFO pick plan

Know which batch to pick before the order goes out

Enter the product, the godown and the quantity you need. The plan takes from the batch that expires soonest, then the next one, and tells you how many to pull from each. Batches with no expiry date come last.

A retailer orders 250 strips of Paracetamol 650. Batch PC2311 has 120 strips left and expires in November 2026, so all 120 go first. The other 130 come from PC2401, which expires in March 2027. PC2408 stays on the shelf.

  • Soonest expiry first, undated batches last
  • Quantity per batch worked out
  • Warns when a pick would use an expired batch
  • Shortfall shown before you promise the order

FEFO pick plan · Paracetamol 650

Main godown · 250 strips needed

1. PC2311 · exp 11/2026
120 of 120
2. PC2401 · exp 03/2027
130 of 200
3. PC2408 · exp 08/2027
0 of 200
Expired batches used
None
Shortfall
0
Allocated250 of 250 strips

Illustration · sample numbers

Near expiry

See what is running out of date while you can still sell it

The pharmacy dashboard works from the batches in stock, valued at cost, so you can push them, return them to the supplier or set them aside.
  • Expiring in 30 days

    How many batches in stock expire this month, and what they are worth at cost.

  • Expired on the shelf

    Batches already past their date that still show stock, with the value to return or write off.

  • Expiring soon list

    Every batch expiring in the next 90 days, soonest first, with batch number, date, quantity and value.

  • Stock by expiry

    Batch stock value split into expired, within 30 days, 31–60, 61–90 and over 90 days.

  • FEFO stock valuation

    Value what you hold by weighted average, FIFO or FEFO from the stock valuation report.

  • Held in quarantine

    The number of lots sitting in quarantine, on the same dashboard.

Quarantine, release or write off

Damaged cartons and expired strips should not sit in sellable stock while someone decides what to do with them.

  • Set it aside

    Pick the product, the godown and the quantity. It leaves sellable stock at once, and you can't hold more than you have.

  • Give a reason

    Damaged, expired or on hold, with a note such as the supplier's recall letter number.

  • Release it back

    Cleared by the supplier or checked again? Release puts the quantity back into stock.

  • Write it off

    Stock that can't be sold or returned is written off and the record is closed.

On each quarantine record

  • Product and godown
  • Quantity held
  • Reason: damaged, expired or hold
  • Note for the file
  • Status: held, released or written off

Set up batch tracking in a day

  1. 01

    Choose Pharmacy at signup

    The workspace opens with the pharmacy dashboard, the counter POS and the batch screens.

  2. 02

    Add your batches

    For each medicine, add the batches you hold with their batch number and expiry date.

  3. 03

    Put the stock against them

    Record opening stock and new arrivals on the Movements screen, picking the batch and, if you like, the bin.

  4. 04

    Pick and watch

    Run the FEFO plan for orders, check the dashboard each week, and quarantine anything damaged or expired.

Batch stock moves through the Movements screen. Receiving a purchase order, POS bills and invoices don't ask for the batch yet, so they don't reduce a batch's count; record the batch-wise issue there and use the FEFO plan to decide what to pick. Quarantine holds a quantity of a product in a godown, not one particular batch. Only the expiry date is kept, not the manufacturing date.

Questions

Questions about batch and expiry tracking

Something not covered here? Call or WhatsApp us and you'll speak to the people who build the product.

Yes. Add batches to a product with the batch number and expiry date, then record stock in and out against the batch. Each batch shows how much is left. The expiry date is optional, so items that don't expire can still be kept by batch.

The FEFO pick plan does. Enter the product, the godown and the quantity, and it lists how much to take from each batch, soonest expiry first. Bills don't pick the batch on their own yet, so the plan is what you give the person picking the order.

The pharmacy dashboard counts batches expiring in the next 30 days and their value at cost, and lists every batch expiring in the next 90 days, soonest first. In the batch list, anything with 30 days or less shows the days left.

Move it to quarantine with a reason: damaged, expired or on hold. The quantity comes out of sellable stock straight away. Later you release it back to stock, for example after a supplier clears it, or write it off.

Yes. The stock valuation report works out the value of what you hold by weighted average, FIFO or FEFO, where the earliest-expiring batches are treated as sold first.

No. It handles billing, batches, expiry, stock and GST. Keep the Schedule H register and licence records the way your drug controller asks.

Know what expires before it reaches the shelf

Start a 14-day free trial, add a few batches with their expiry dates and run your first FEFO pick plan. No card needed.

  • 14 days free
  • FEFO pick plan
  • Near-expiry on the dashboard
Start free trial