# Batches and expiry dates

> Keep a product's stock in lots with a batch number and expiry date. Sales take the earliest-expiring lot first, and expired lots can be blocked and written off.

For products such as medicine or packaged food, Tukri can keep stock in lots (batches), each with its own batch number, cost and expiry date. Sales take stock from the lot that expires first (FEFO). Tukri shows what is expiring, can stop expired stock from being sold, and lets you write expired lots off.

## Before you begin

- It works in any shop type, for products without variants. A product with variants cannot track batches.
- Turning it on for a product needs "Add & edit products"; writing a lot off needs "Correct stock". The **Owner**, **Admin** and **Staff** roles all start with both.
- New to adding products? Start with [Add a new product](https://tukri.bd/help/add-a-product).

## Turn on batches for a product

1. Open the product from **Products** to edit it (or the form for a new product), and go to the **Stock** step at the top.
2. Turn on **Track batches & expiry**.
3. When a new product has **Opening stock**, or you switch this on for a product that already has stock, fill in that stock's **Batch / lot no** and **Expiry date**.
   ![The product's Stock step: opening stock 50, Track batches & expiry on, batch number PCM-2410 and the expiry date box](https://tukri.bd/help-center/en/batches-and-expiry/product-batches-phone.webp)
4. Tap **Save**.

## Record the lot when stock comes in

For a product that tracks batches, every way of adding stock asks for its lot:

- [Recording a purchase](https://tukri.bd/help/record-a-purchase): each line asks for the **Batch / lot no** and **Expiry date**. When one delivery has two dates, tap **+ Another batch of this**.
- Receiving a purchase order asks the same.
- In [a stock adjustment](https://tukri.bd/help/stock-adjustment), choosing **Stock in (+)** asks **Which lot?**

## At the till

- Sales take stock from the lot with the nearest expiry date first. Lots with no date go last.
- On the till, the product card shows the state of the lot that goes out next: **Expired**, or how many days are left, so the cashier hands over the right box.
  ![The Paracetamol card at the till: the price, 47 pcs in stock and a red Expired badge](https://tukri.bd/help-center/en/batches-and-expiry/till-badge-phone.webp)

## Block selling expired stock

1. Open **Settings** › **Shop** and choose the **Selling & stock** tab.
2. Turn on **Block selling expired stock** and save.
   ![Shop settings, Selling & stock tab: the Block selling expired stock switch](https://tukri.bd/help-center/en/batches-and-expiry/block-expired-phone.webp)

With it on, sales skip expired lots, and a sale that could only be filled from expired stock is refused. Lots with no expiry date are held back too, and from then on every new lot must have an expiry date. A lot that expires today can still be sold today. Pharmacy shops start with it on; other shops start with it off. Changing it needs permission to manage settings (the owner and Admins).

## See what is expiring

- The **Stock** page has an **Expiring soon** card with lots that have expired or expire soon.
  ![The Expiring soon card on the Stock page: one lot expired, another with 20 days left, each with a Dispose button](https://tukri.bd/help-center/en/batches-and-expiry/expiring-card-phone.webp)
- The **Dashboard** shows the most urgent lots too.
- **Reports** › **Expiring Stock** lists every such lot, plus lots with no date, with a CSV download.
  ![The Expiring Stock report: the value of expired and soon-expiring lots, and each lot's quantity, expiry and state](https://tukri.bd/help-center/en/batches-and-expiry/expiring-report-computer.webp)

How many days count as "soon" is set in **Settings** › **Notifications** › **Expiring-soon window (days)**. With **Expiry alerts** on there, the owner and admins also get a daily notification on devices where they turned notifications on.

## Write off an expired lot

1. On the **Stock** page, tap **Dispose** beside the lot in the **Expiring soon** card.
2. Enter the quantity (**Quantity to write off**), choose a **Reason** and add a **Note** if useful.
3. Tap **Write off**. Tukri shows "Lot written off."
   ![Write off lot: batch PCM-2401, its expiry date and quantity, the keypad, the Expired reason and the Write off button](https://tukri.bd/help-center/en/batches-and-expiry/write-off-phone.webp)

> **Important:**
>
> Writing a lot off takes that quantity out of stock for good. Check the lot and the quantity before you tap.

## Fix a wrong batch number or expiry date

1. Open **Reports** › **Expiring Stock**. Lots with no date are under the **No date** filter.
2. Tap the lot. **Correct this lot** opens.
3. Correct the **Batch / lot no** or **Expiry date** and tap **Save**. Only the label changes, never the quantity.

Only lots in this report (expired, expiring soon, or with no date) can be corrected here. Opening the report needs permission to see reports; saving needs "Correct stock".

## Find who bought a batch

When a supplier recalls a batch, open **Reports** › **Batch search** and type the batch number. Each matching lot shows how much is **Still on the shelf** and who it was **Sold to customers** to, with dates, so you can contact them.

## If something goes wrong

**A product will not sell and says it has expired.** **Block selling expired stock** is on and the stock in hand has expired or has no date. Write the expired lot off, give an undated lot its real date, or record the new stock.

**"An expiry date is needed here, because this shop does not sell expired stock."** Your shop blocks expired sales, so every new lot needs an expiry date.

**There is no Dispose button.** Your role does not have "Correct stock".

**There is no batch switch on the product.** The product has variants; a product with variants cannot track batches.

---
- Source: https://tukri.bd/help/batches-and-expiry
- Language: English
- In বাংলা: https://tukri.bd/bn/help/batches-and-expiry
- Last reviewed: 2026-10-22
- Site index for language models: https://tukri.bd/llms.txt
