Skip to content
← Back to case studies

WMS with regulated batch traceability

Warehouse management for pharmaceutical distribution: batch traceability, picking labels, pending-stock reconciliation and cascading release of commercial and credit holds.

Industry
Pharmaceutical distribution
Period
2023 — 2026
Role
Development and continuous evolution
Scale
38 routines, 169 business rules

38

routines across two clients

Batch

end-to-end traceability

1

prototype promoted to production

Technologies

InterSystems IRISObjectScriptHandheld scannersBarcodesPicking labels

Challenge

In pharmaceutical distribution, batch traceability is a regulatory requirement. It must be possible to say, for any unit sold, which batch it came from, when it came in and who it went to. And to do that at the speed of a picking operation that can’t stop.

On top of that requirement sit two operational problems. The first is that releasing an order depends on conditions that live in different areas: commercial hold, financial hold, physical availability. When each one releases on its own, the order stays stuck without anyone knowing whose turn it is. The second is the drift between the physical label and the system balance, unavoidable in any warehouse, and costly, because it freezes good stock.

Solution

I implemented batch traceability across the warehouse flow. The picking labels are the link between the physical unit and the system record, read by barcode on the handheld scanner.

For release, I built a cascading mechanism: whichever condition is released last triggers a re-evaluation of the others, and the order proceeds automatically once all of them are satisfied, without depending on someone noticing. That removed the order forgotten in a hold that had already been resolved.

For the drift between physical and system, I wrote the pending-stock reconciliation routine, with label deallocation and reallocation and an audit trail of cancelled and regenerated labels. It started as a prototype to fix a one-off incident at a client. It worked well enough to be promoted to a production routine at a second distributor in the same industry.

Outcome

The operation gained batch traceability that is queryable and defensible in an audit, and the order queue stopped accumulating holds that were already resolved. The gap between physical label and system balance got a correction procedure with a trail, rather than an unrecorded manual adjustment.

What this case shows

I worked in a domain where the requirement is regulatory and isn’t up for negotiation with the user. Order release ended up event-driven, with no manual check in the middle. And a fix script written after an incident ended up as a production routine, reused at another client.

Stuck on a term? There is a glossary. Glossary