NAFDAC Batch and Expiry Tracking in Nigeria

Every carton of drugs, milk powder, seasoning or agro-chemical moving through the Nigerian trade carries two numbers that decide whether it becomes revenue or a write-off.

Those two numbers are the NAFDAC-registered batch number and the expiry date. For a distributor loading a truck in Lagos for the run to Onitsha, or a pharma wholesaler breaking bulk in Idumota, they are the difference between a clean recall and a scramble through hundreds of provision stores.

The chain is long: distributor to sub-distributor to wholesaler to open-market trader to the table-top seller at the roadside. When a batch has to be traced or pulled off the shelf, most operators discover they simply do not know where it went.

This is a practical guide for FMCG and pharma distributors in Nigeria on building batch and expiry discipline that survives contact with the real market: the open-air stalls, the intermittent network, the multilingual field force and the cash-and-transfer reality of everyday trade.

Batch and expiry inventory dashboard for a Nigerian FMCG and pharma distributor tracking NAFDAC batch numbers and near-expiry stock

Why NAFDAC Batch and Expiry Discipline Is Non-Negotiable

NAFDAC regulates food, drugs, cosmetics, agro-chemicals and packaged water in Nigeria. Every regulated product carries a batch identity for a reason.

When the agency issues a recall or public alert on a specific batch, distributors are expected to pull that exact batch from circulation quickly. If your records only tell you how many cartons you sold, but not which batch went to which customer, you cannot respond.

You then end up with two bad options:

  • Recall everything, which is expensive and damages your reputation.
  • Recall nothing, which is dangerous and non-compliant.

Expiry is the quieter, more constant drain. Short-shelf-life lines age out fast: dairy, juices, bread and confectionery, many pharma SKUs, and agro inputs tied to a planting season.

In a chain where stock can sit for weeks at a sub-distributor in Aba or a wholesaler in Kano before it reaches a retailer, product that looked fresh at dispatch can be near-dead by the time it is sold. Without batch-level expiry tracking, that stock quietly turns into Naira write-offs, returns and damage claims that erode already-thin distributor margins.

Mapping the Batch Through the Distribution Chain

The core problem is visibility across handoffs. A batch does not fail at one point; it disappears from view a little at each step.

To track it properly you need to capture the batch at every change of custody, not just at your own warehouse door.

Capture the batch when goods come in

Batch tracking starts at goods receipt, not at sale. When a consignment arrives, whether manufactured locally by a firm in Ibadan or Agbara or imported and cleared through the Lagos ports, the batch number, manufacturing date and expiry date should be recorded per line on the goods received note (GRN) before the stock is put away.

Skip this and every downstream record is guesswork. Getting it right at inward means:

  • Every carton in your warehouse is tied to a real batch and a real expiry, not just an SKU count.
  • Imported consignments and locally-manufactured stock of the same product stay distinguishable, even when they share a shelf.
  • Your near-expiry clock starts the moment stock lands, so nothing ages silently in a corner of the warehouse.

Keep the batch attached through dispatch and secondary sales

Once stock is in, the batch must ride along with it. When you dispatch to a sub-distributor in Port Harcourt or a wholesaler in Onitsha Main Market, the invoice and delivery note should carry the batch.

When a field rep books a secondary order at a provision store or kiosk in Ibadan, the system should already know which batch is being allocated. That way, if a recall lands, you can trace a batch forward to the specific outlets that received it, and backward from a complaint to the consignment it came from.

FEFO, FIFO and the Rules That Keep Stock Fresh

Deciding which batch leaves the warehouse first is the single most powerful lever you have against expiry loss. There are a few standard rules, and choosing the right one per product matters.

The table below sums up when each rule fits:

RuleWhich batch leaves firstBest for
FEFO (First Expiry, First Out)Batch closest to expiryPerishables: pharma, dairy, juices, bread, agro inputs
FIFO (First In, First Out)Oldest received batchStable, non-perishable lines where receipt order tracks age
LIFO (Last In, First Out)Newest received batchNarrow cases; rarely wise for expiry-sensitive stock
Manual selectionOperator picks by handNAFDAC recalls, or clearing one near-expiry batch to a chosen outlet

The practical move is to set FEFO as the default for perishable SKUs and let a stable line run on FIFO. Then keep manual override available for the exceptions, so a warehouse loader in Kano is never choosing batches from memory under pressure.

A Lagos-to-Kano Recall: How the Chain Holds or Breaks

Picture a distributor in Lagos who receives a NAFDAC alert on one batch of a paracetamol suspension, three weeks after dispatch.

With batch discipline in place, the trail is short:

  1. The batch number was captured at GRN, so the exact quantity received is known.
  2. Dispatch records show that batch went to two sub-distributors, one in Kano and one in Aba.
  3. Secondary-sales records show which wholesalers and pharmacies each sub-distributor supplied.
  4. The distributor issues a targeted pull-back to those outlets within hours, not weeks.

Without it, the same distributor knows only that 800 cartons were sold that month across dozens of customers. The choice becomes recalling everything at ruinous cost, or hoping the affected units were never sold. Either way, NAFDAC sees a distributor who cannot account for its own stock.

Managing Near-Expiry Stock Before It Becomes a Write-Off

Near-expiry stock is not a loss yet; it is a countdown. The distributors who protect their margins are the ones who act while there is still shelf life to sell.

That means measuring the right things and moving early. Focus on three signals:

  • Days-to-expiry by batch and warehouse so you can see which specific batches in which locations are at risk, not just a headline stock figure.
  • Stock ageing buckets that group stock into ranges (over 90 days, 30 to 90 days, under 30 days to expiry) so at-risk value is visible at a glance.
  • Sell-through rate per SKU so you know whether a near-expiry batch can realistically clear through your outlets in time.

Once a batch crosses a near-expiry threshold, the options are practical. Transfer it to a faster-moving territory, since a slow batch in Kaduna might clear quickly through a high-traffic market in Lagos.

You can also push a scheme or price incentive, or raise a claim with the principal where the trade terms allow. The key is that the alert reaches the right person early, while there is still time to act.

Common pitfalls to avoid

  • Tracking at SKU level only means you know you hold 500 cartons but not their batches, so you cannot recall or run FEFO. Batch is the unit that matters.
  • Capturing batch at sale instead of at inward is too late to plan around expiry. Capture it at GRN.
  • No batch on the invoice or delivery note breaks the trail at the first handoff to a sub-distributor or wholesaler.
  • Alerts that go to no one are the same as no alert. Route the near-expiry flag to the person who can move the stock.
  • Relying on rep memory to pick the right batch guarantees mistakes. Automate the allocation and keep manual override for genuine exceptions.

Making It Work On Nigerian Ground: Power, Network and the Field Force

A batch-tracking process that only works on a good day in the office is useless. Nigerian trade has specific conditions that any system has to survive.

Offline-first, because the grid and the network are not guaranteed

Blackouts are routine, and mobile coverage inside a dense market like Balogun or Onitsha Main Market is patchy at best.

If capturing a batch at GRN or booking a batch-allocated order requires a live connection, it will simply not happen. Reps fall back to paper and the data never reconciles.

Batch capture and order booking need to work offline on the mobile app and sync automatically once signal returns, so a rep in a market basement or a warehouse during a power cut keeps recording accurately.

Built for a multilingual field force and landmark navigation

Your reps speak English, Hausa, Yoruba, Igbo and Pidgin, and they navigate to outlets by landmark, not by street name, because many streets are unnamed.

Batch and expiry workflows have to be simple enough that a rep can confirm the right batch at the point of sale without slowing the visit. Outlet records should map to GPS and landmarks so the same store is recognised on every visit, keeping the batch-to-outlet trail intact.

How 1Channel Helps Nigerian Distributors Track Batches and Expiry

Batch discipline only holds when capture, allocation and alerts live in one connected system rather than across spreadsheets and rep memory. 1Channel brings the whole batch-to-outlet trail into a single platform built for Nigerian distribution.

It captures batches at goods receipt, keeps them attached through dispatch and secondary sales, and works offline in busy markets where the network drops.

On this topic, the platform helps you:

  • Record batch number, manufacturing date and expiry at GRN, per line.
  • Run FIFO, FEFO, LIFO or manual allocation, set per SKU or platform-wide.
  • Flag near-expiry stock by batch and warehouse, and route alerts to the right person.
  • Trace any batch forward to the outlets that received it and backward to its consignment during a NAFDAC recall.
  • Keep capturing and booking orders offline, syncing automatically once signal returns.

Track Every Batch and Expiry Date From One Platform

See how 1Channel's Cloud AI Batch & Expiry Management Software captures batches at GRN, runs FIFO, FEFO, LIFO or manual allocation, flags near-expiry stock, and keeps working offline when the network drops inside a busy Nigerian market.

Explore Batch & Expiry Software →

FAQs

What does NAFDAC batch tracking actually require a distributor to do?

At minimum, you must be able to identify which specific batch of a regulated product went to which customer. That means capturing the batch number and expiry at goods receipt and keeping it attached through dispatch and secondary sales, so a recall can be traced to named outlets.

Should I use FEFO or FIFO for my stock?

Use FEFO for anything perishable, such as pharma, dairy, juices, bread and agro inputs, because it pushes the batch closest to expiry out first. FIFO suits stable, non-perishable lines where receipt order roughly tracks age. Set the default per SKU and keep manual override for recalls.

How do I track batches when the network is down inside a market?

Batch capture and order booking should run offline on the mobile app and sync automatically once signal returns. That way a rep in a market basement or a warehouse during a blackout keeps recording accurately, and the batch-to-outlet trail stays intact.

How does batch discipline actually protect my margins?

The same batch-level records that let you answer a recall in hours instead of days also surface near-expiry stock early enough to move it, discount it, or claim it. Capturing the batch at inward, keeping it attached through every handoff and running FEFO where it counts turns compliance into a margin advantage rather than a cost.

Insights

Want to get more insights? Click on a topic below