By Clarus Content Team · Published 13 November 2026
A pharmaceutical warehouse is a site that stores, handles and distributes medicines under Good Distribution Practice (GDP), the quality rules that keep a product intact from the manufacturer’s dock to the pharmacy or hospital. Pharmaceutical warehouse management means running that site so that every pallet has a known batch, a known expiry, a known storage condition and a clear release status, and so that anyone can show who handled it and when. A pharmaceutical warehouse management system (WMS) has to apply those rules during the work, because a record made afterwards does not stop a bad pallet from shipping.
UK wholesale distribution runs on a licence, and the MHRA’s application guidance on GOV.UK says the holder must comply with good distribution practice and pass regular GDP inspections of the site. The World Health Organization sets out the same principles in its good storage and distribution practices annex, and the Wikipedia overview of GDP describes the scope, which runs from the manufacturer through to the end user.
This guide covers the rules a pharmaceutical warehouse works under, the controls a WMS needs to support them, and where software stops and the operator’s own procedures take over. We have kept to what public sources and our own product facts support, and we say so where they do not.
What GDP asks of a pharmaceutical warehouse
The EU guidelines on good distribution practice, adopted in November 2013 as 2013/C 343/01, are listed on the European Commission’s EudraLex page, and they remain the reference most UK operators work to. The licence itself sits under the Human Medicines Regulations 2012. Read across, the expectations reduce to four themes: controlled storage conditions, traceability by batch, control over stock that has not yet been released, and records that cannot be altered after the event.
Each theme maps to a specific WMS control. Storage conditions need recorded checks. Traceability needs batch and expiry captured at every movement. Release control needs a status that blocks allocation. Records need a transactional audit trail. The sections below take them in turn.
Storage conditions and temperature records
A pharmaceutical warehouse usually holds stock in two or three storage conditions. The label or summary of product characteristics (SmPC) for each product is the final word on its condition, but the reference ranges below are the ones UK health bodies publish for general storage.
| Storage condition | Reference range | What the WMS needs to record |
|---|---|---|
| Ambient (controlled room temperature) | 15°C to 25°C, per NHS Specialist Pharmacy Service guidance | Temperature checks by zone, timestamped against the location |
| Refrigerated | 2°C to 8°C, per CQC guidance on medicine fridges | Fridge or chiller readings, and any out-of-range hold |
| Any other condition | The product label or SmPC | The storage condition held on the product master record |
Temperature is where pharmaceutical storage departs most from general warehousing. A product that sits at 9°C at the dock may be fine or may need quarantining, and only the product’s stability data and your own procedure can settle which. The WMS cannot make that call. What it can do is make sure the reading exists, sits against the right batch and location, and carries the time it was taken.
Clarus does not monitor temperature continuously, and it does not map temperature across a building. Its approach is configurable check fields on the handheld, timestamped against each transaction. Those fields can be text, whole numbers or yes or no, so a receiving check can ask whether the vehicle was clean and whether the load arrived within range. That is a manual check recorded properly, which is different from a sensor network, and you should know which one you are buying. The cold chain management guide covers the wider process, and Clarus’s temperature-controlled storage feature describes how the checks are set up.
Batch, expiry and FEFO: deciding which pallet ships
Batch and expiry decide which pallet leaves next, which is why they sit at the centre of pharmaceutical stock control. First-expired, first-out (FEFO) allocation picks the stock closest to its use-by date from the stock that is eligible to ship. The FEFO explainer sets out the method in full, and the Clarus stock rotation feature shows how it is configured.
In Clarus, batch and expiry work as controls rather than labels. When batch control is switched on for a product, the handheld asks for the batch on every relevant task, and if the operator enters the wrong batch, the system warns them and asks for the right one. The batch and lot control page covers the setup. Batch, sell-by and best-before flags are set at account level and can be switched off for individual products, which suits packaging that does not need tracking. A pharmaceutical account would normally keep batch and expiry on for every medicine line, so treat any override as a decision to review rather than a default. The expiry date tracking feature covers the date side.
Be precise about the word FIFO. In Clarus, FIFO allocates by the date the stock record was created, down to the millisecond. Expiry-based rotation is a separate rule, configured on the account. For medicines the rule is usually expiry first, so check which rule each account uses before go-live.
Bulk storage makes rotation harder. The oldest pallet may be at the back of a stack, and moving fifty pallets to reach it is not practical. The sensible answer is to keep dated stock accessible pallet by pallet rather than stacked deep, and then let the rotation rule work with that layout.
Clarus also does not flash a warning when stock approaches its expiry. Its implementation team’s position is that the local process should check dates, so a near-expiry review needs to be a scheduled task on your side.
Quarantine and release status
Nothing that has not been released should be available to pick. Quarantine holds stock until someone has checked it, and it needs three things: a status that blocks allocation, a physical location where the stock is held, and a record of why it was released and by whom.
Clarus builds quarantine from automations rather than a standalone module. A quarantine location is created, the affected products are placed in a group, and an automation on the account sends received stock to that location and sets it to on hold. Held stock cannot be allocated to any task. Hold reasons can be enforced or optional, and the record shows the reason, who applied the hold and when, with the same detail for release. The receipt has to complete first, because the next check needs proof that the warehouse has taken ownership of the product.
Mathew Buttar gives one example from his operational experience. A manufacturer’s animal feed needed certification by a qualified veterinarian before it could be sold. The manufacturer did not want to hold it, so it went straight to a 3PL, and an automation placed it on hold as soon as the receipt was complete. The same pattern applies to any product that needs a release decision before it is sellable.
How recalls are handled in a pharmaceutical warehouse
A recall tests whether batch control works. The question is never only what is on the shelf. It is what has left the building, to whom, and what can still be stopped. Recall notices are published on the GOV.UK drug and device alerts page, so a warehouse needs a way to match a notice to batches quickly, not after a week of searching spreadsheets.
Clarus’s implementation team describes the response in five steps:
- Identify the destinations. Find which batches went to which customer, on which order and vehicle. This only works if dispatch captures that data.
- Hold the remaining stock. Put the rest of the affected batch on hold from the stock list. Held stock cannot be allocated to another order.
- Stop the picks in progress. Find stock already allocated to orders that have not left yet, and prevent those picks from happening.
- Reallocate. Move the affected orders to a batch that is not under recall.
- Confirm the hold. Put any stock that is still in the building and not yet picked on hold, so nothing else can leave.
Campeys of Selby, a food business rather than a pharmaceutical one, reports completing a full traceability recall test in under five minutes, the kind of mock recall that BRC standards require. Its customer story describes the result. The batch logic behind it is the same one a medicines operation needs.
Serialisation and the Falsified Medicines Directive in the UK
Serialisation is the part of UK medicines supply most often described wrongly, so state the position precisely. The EU Falsified Medicines Directive (FMD) required safety features on packs and verification against a European repository. The GOV.UK Windsor Framework explainer says the EU safety features stopped applying in Northern Ireland from 1 January 2025, and that the FMD system was disapplied across the UK from midnight on 31 December 2024. The UK National Medicines Verification System closed at the same point.
Packs may still carry 2D barcodes and serial numbers, but those must not be recognised by the European repository system. For a UK 3PL, the practical job is to scan what the pack carries, capture serial numbers where a customer requires them, and check each customer’s own rules for export lines, rather than assume any EU rule still applies. Clarus can capture serial numbers on arrival, on dispatch or both, through its serial number capture feature.
Controlled drugs, records and the responsible person
Controlled drugs sit outside standard GDP. Stock held by a licensed business has to be kept secure, and some schedules carry storage requirements under the Misuse of Drugs (Safe Custody) Regulations 1973. The Home Office’s security guidance for controlled drug suppliers sets out the expectations. Check the licence conditions for each product before you configure it. A WMS can hold batch, location and movement records, but it cannot decide what a licence allows.
On the licence side, the MHRA’s guidance says the licence holder must name a responsible person and named staff, and the MHRA checks their identities during the application. The detailed duties of the responsible person, and the record-keeping requirements, sit in the MHRA’s Guidance Note 6, which we have referenced but not reproduced. Read that note, and the MHRA Green Guide, before you rely on any summary, including this one.
What a pharmaceutical WMS needs to do
The table maps each requirement in this guide to what the system has to do. The final column shows the Clarus position as our product facts describe it, including where a capability is not there.
| Requirement | What the WMS must do | Clarus position |
|---|---|---|
| Batch and lot control | Capture batch on receipt, pick and dispatch, and warn on a mismatch | Batch control per product, with a handheld warning on a wrong batch |
| Expiry and rotation | Allocate by expiry where the product needs it | Expiry tracking and configurable rotation; FIFO is by stock record date, so set the rule per account |
| Quarantine and release | Keep unreleased stock out of allocation, with reasons recorded | Automation-driven hold; hold and release recorded with reason, user and time |
| Recall | Find affected batches, stop unshipped stock, trace dispatches | Stock on hold within seconds; dispatch records show what went where |
| Storage checks | Record temperature and condition checks against batch and time | Configurable check fields, timestamped; no continuous monitoring or temperature mapping |
| Serial numbers | Capture where a pack or customer requires it | Serial capture on arrival, on dispatch or both |
| Audit trail | Show who did what, when and on which device | Full audit trail of actions and stock movements |
| Client visibility (3PL) | Show each client its own stock and movements | Client self-service portal |
In a WMS, automation means rules that run without someone having to remember to apply them, such as the quarantine trigger described above. It does not mean robots, and it does not replace the physical checks GDP expects. The people who work the floor still have to inspect, count and sign off.
Where the WMS stops and the operator starts
Clarus’s head of solutions, Mathew Buttar, puts the boundary plainly:
“What it doesn’t control is what happens on the truck. It might be perfect when it gets to the back door. What happens once it leaves is a different story.” (Mathew Buttar, Head of Solutions at Clarus)
The same applies inside the building. A handheld can confirm that the scanned location, pallet and product match the task. It cannot confirm that the operator picked from the right pallet after turning round to speak to a colleague. Scanning reduces errors, and it does not eliminate them. Four limits matter most for a pharmaceutical operation:
- No GDP module. Clarus has no dedicated GDP, HACCP or AQL module. Compliance checks are typed fields that your procedure defines and that are timestamped against each transaction.
- No temperature mapping or heat maps. The warehouse map is a visual aid that shows where a location sits, not an exact model of the building.
- No built-in near-expiry alerts. Expiry checks depend on your local process, so build them into your schedule.
- Returns are manual. Returns handling is a manual process today, so confirm the current position with us before you rely on it for a returns-heavy operation.
The floor routines still need written procedures. The good warehouse practices checklist sets out the routines that the software supports, and the storage process in a warehouse guide covers how putaway and locations should be laid out.
Keeping stock accuracy high enough for traceability
Batch traceability only works if the system’s stock matches what is on the shelf. A cycle count programme does more for that than an annual full count. Count a sample of locations every week, measure the error rate, and apply that rate honestly to the rest of the stock, so that you know how far to trust the figures between counts. Clarus’s structured stock checks guide shows how to set this up, and the wider method is in how to improve inventory accuracy.
For a 3PL holding medicines for several clients, the further question is whether each client’s batches, holds and reports stay separate. Clarus is built for that: each client’s stock, reporting and billing is isolated within one warehouse, and clients can log in to see their own stock and orders. Our 3PL WMS page sets out the full set of multi-client features.
Speak to a warehouse expert
If you’re evaluating your options and want to see how a purpose-built WMS works in practice, Clarus is worth a conversation. We work with 3PLs and distributors across the UK to implement warehouse management software that fits the way you operate, not the other way around.
Get in touch with our team to talk through your requirements.