Odoo Gold Partner for Nigeria · Offices in Lagos and AbujaClient supportadvisors@growthstack.gs+234 913 842 1230

Odoo for Pharma and Healthcare in Nigeria: Batches, Expiry and Compliance

Pharmacist scanning a medicine box in a pharmacy store room

An expired batch on the shelf costs more than the stock written off. It costs the trust of the pharmacist, doctor or patient who finds it, and it can bring a regulator's visit.

For pharma distributors, pharmacy chains, hospitals and diagnostics groups in Nigeria, stock is not just stock. Every pack has a batch number and an expiry date, and the business needs to know where each batch is, which one should leave first, and who received it.

This article looks at the problems we see most often in pharma and healthcare businesses, and how Odoo handles each one.

Five problems pharma and healthcare businesses deal with

1. Batch and expiry dates tracked by hand, or not at all

Batch numbers are written on goods received notes or kept in a separate spreadsheet, if they are recorded at all. The stock system knows there are 400 packs of a product, but not that 120 of them expire next month.

2. Stock picked first in, first out, when it should be first expiry, first out

Stores teams naturally pick the oldest stock, or simply whatever is nearest. With medicines, a batch received later can expire sooner. Picking by arrival date instead of expiry date is how short-dated stock ends up written off.

3. Several branches, each with its own count

A pharmacy chain or hospital group may have a central store and several outlets. Each one keeps its own count, transfers between them are recorded late, and nobody can see total stock of a product, or of a batch, across the group without phoning around.

4. Imported products priced in dollars and sold in Naira

Many products are imported. Freight, clearing, duties and other charges are added in Excel to work out a landed cost, and the exchange rate used is rarely the same twice. Margins on the price list are then a guess.

5. No quick way to trace a recall

When a supplier or regulator recalls a batch, the question is simple: who received it, and how much is still in stock? Without batch tracking in the system, answering that means going through invoices and delivery notes by hand, often over several days.

How Odoo handles each one

Batches and expiry dates on every movement

In Odoo Inventory, products can be tracked by lot (batch) or serial number, with expiry dates recorded at receipt. From then on, every movement carries the batch: receipts, transfers between stores, deliveries and returns. You can see stock by batch and expiry date at any location.

Odoo can also record related dates for each batch, such as a "best before" date and an alert date, so the team is warned before stock reaches its expiry date rather than finding out on the shelf.

First expiry, first out

Odoo supports a first-expiry-first-out (FEFO) removal strategy. When an order is picked, the system proposes the batch that expires soonest, not the one that arrived first. Pickers scan or confirm the batch, so what leaves the store matches what the system expected.

All branches in one system

Each branch, outlet or store is a warehouse or location in the same database. Transfers between them are recorded as they happen, with the batch going with the goods. Management can see stock of any product or batch across the whole group, and reorder rules can be set per location.

Landed costs and multi-currency

Purchases can be made in dollars or other currencies with the exchange rate on the day, and Odoo's landed costs feature adds freight, clearing and duty to the cost of the goods received. The cost of each product reflects what it actually cost to bring in, so pricing and margin reports are based on real figures. For the purchasing side of this, see Odoo for Distributors in Nigeria.

Traceability from supplier to customer

Odoo's traceability report follows a batch from the supplier receipt through every transfer to each customer delivery or sale. In a recall, you can see in minutes which customers received the batch, in what quantity, and how much is still in each store, so you can quarantine the remaining stock straight away.

A point of sale linked to the same stock

Retail pharmacies can use Odoo Point of Sale, connected to the same inventory. Sales at the counter reduce stock at that outlet, batch-tracked products can be sold with their batch recorded, and head office sees sales and stock across all outlets without waiting for end-of-day reports.

A note on compliance

Software does not make a business compliant on its own. What Odoo provides is the record-keeping and traceability that compliance depends on: which batches you received, from whom, where they are, and who they went to.

Your obligations to NAFDAC, the Pharmacy Council of Nigeria (PCN) and other regulators remain your own, and your quality and regulatory team should agree how the system is set up to support them. A good implementation partner will work with that team, not around it.

Where to start

Pharma and healthcare projects go best when they are done in a sensible order:

  1. Clean product master data. Agree how products are named and described: generic name, brand, strength, dosage form and pack size. Duplicate and inconsistent product records are the most common source of stock errors.
  2. Batch-tracked stock first. Set up locations, switch on batch and expiry tracking, and load opening stock by batch. This alone gives you visibility of short-dated stock.
  3. Then purchasing, sales and point of sale. Once stock is reliable, connect buying, customer orders, invoicing and counter sales to it.

Healthcare providers often add accounting, HR and payroll later, once stock and sales are running smoothly. You can read more about how we work with the sector on our pharma and healthcare page.

Talk to us

If expired stock, branch counts or recalls are costing your business time and money, book a free consultation. We'll look at how you manage stock today and show you what batch and expiry tracking in Odoo would look like for your business.

Thinking about Odoo for your business?

Talk to a Growth Stack consultant about your processes, timeline and budget. The first consultation is free.

Book a free consultation

Keep reading