How an Online Pharmacy Traces Every Parcel in a Batch Recall

How an Online Pharmacy Traces Every Parcel in a Batch Recall

Batch at shipping

Not recorded → Retained on every shipment

Batch selection

Nearest box → Earliest-expiry batch assigned for picking

Batch recall

Manual order search → Order list returned by one filter

Listen to our case analysis
0:00 / 0:00

This online pharmacy and parapharmacy is operated by a community pharmacy. It sells non-prescription medicines, dermo-cosmetics, and supplements from one fulfillment warehouse. Many products carry an expiry date or a best-before date. The Magento 2 store mainly receives small, multi-line orders. Purchases are placed with pharmaceutical wholesalers and laboratories, often through the pharmacy management system (LGO).

The Challenge

Without continuous tracking, batch information stopped in a spreadsheet or was never recorded. Pickers took the nearest box with no assigned batch. Short-dated stock surfaced during an inventory count instead of through the normal outbound flow. When a recall reached the pharmacy through DP-Rappels, the recall channel run by France's Ordre des pharmaciens, the team had to work back through order history to find the affected patients.

Top challenges:

  1. Keep batch and expiry data after supplier receipt
  2. Assign the earliest-expiry stock first
  3. Find every order and customer affected by a recall

The Solution

Batch and expiry tracking is enabled only for products that require it. At supplier receipt, the team records the batch and date; a CSV import can speed up the task. When an order enters picking, myFulfillment assigns the batch with the earliest expiry. The packer confirms that batch at the packing bench. The shipment record then records the batches packed in the parcel.

What We Configured

A batch-number filter displays the orders shipped with that batch and the patients to contact. The setup applies the first-expired, first-out (FEFO) best practice by assigning the earliest-expiry batch first. The rest of the order follows the standard flow: picking waves, a scan for every item at packing, and a Colissimo label. Replenishment suggestions use sales history to prepare purchases from pharmaceutical wholesalers and laboratories, often through the LGO.

What We Custom-Built

As part of the custom setup, medicine-box Data Matrix reading was added at goods receipt. It captures the CIP13, batch number, and expiry date. The standard path remains available: the team can enter these details or import them by CSV.

The link between a batch and an order is not reconstructed later. It is created at receipt, retained when the batch is assigned for picking, and confirmed at packing. Filtering by batch number returns the relevant shipments and customers directly.

Key benefits:

  1. Batch and expiry captured at receipt and confirmed at packing
  2. Automatic assignment of the earliest-expiry batch for picking
  3. Orders and customers for one batch returned by a single filter

The Results

Batch at shipping

Not recorded → Retained on every shipment

Batch selection

Nearest box → Earliest-expiry batch assigned for picking

Batch recall

Manual order search → Order list returned by one filter

At receipt, the batch number and expiry date are recorded against the product’s stock. During picking, the team follows the assigned batch instead of choosing a box at random. At packing, the operator confirms what actually leaves. The first-expired, first-out best practice guides assignment according to the setup. When DP-Rappels flags a batch, the pharmacist filters on that number in myFulfillment and gets the orders to review and patients to contact without rebuilding the trail across several files.

See this case explained in a video

Batch tracking beyond medicines

The same flow applies when a catalog must retain a batch and date for every unit shipped.

  • Dermo-cosmetics with expiry or best-before dates
  • Supplements purchased from several laboratories
  • Wellness products subject to batch recalls

Explore more case studies

Gardening & pet supplies retail

How a Gardening Retailer Got 34% More Clicks Without Raising Ad Spend

25,000+ SKUs, 50+ year-old family businessRead story
Bedroom products e-commerce

How We Replaced Scissors with Algorithms for a Multi-Country Bedroom Products Seller

5 Shopify sites + 20 marketplaces, FR + ESRead story
Home & garden e-commerce

How a Multi-Channel Retailer Replaced Excel Chaos with One-Screen Order Management

5 sales channelsRead story
Hunting & outdoor equipment

How a Hunting Equipment Specialist Deploys 5 POS Terminals in Minutes at Trade Shows

2 physical locations + online storeRead story
Pharmacy & parapharmacy

How a Pharmacy Brings Three Storage Areas Into One Picking Flow

25,000+ SKUs · ~200 orders/dayRead story
Home equipment retail

How We Guaranteed Profitability Across 10+ Marketplaces for a Home Equipment Retailer

10+ marketplaces, thousands of SKUsRead story
Electrical equipment (B2C + pros)

How We Built a Custom Cable Cutting Workflow for an Electrical Retailer

B2C + professional electriciansRead story
E-commerce (multi-industry)

How 50% of Our Clients Automate Cross-Dock and Dropship Supplier Fulfillment

50%+ of myFulfillment clientsRead story
Candle & fragrance manufacturing

How BOM-Based Stock Calculation Tripled Sellable Inventory for a Candle Manufacturer

4 e-commerce sitesRead story
Electronics e-commerce

How an Electronics Distributor Eliminated 90% of Label Errors with Centralized Shipping

3,000+ daily shipmentsRead story
Third-party logistics (3PL)

How We Built Error-Proof Warehouse Workflows for a Lyon-Based 3PL

Local e-commerce clientsRead story
Lifestyle & seasonal goods

How a Lifestyle Retailer Eliminated Stockouts with Intelligent Replenishment Forecasting

12,000+ SKUsRead story
Gifts & gadgets retail

How a UK Retailer Escaped Shopify POS and Unified 5 Stores on One Platform

5 physical stores + Shopify onlineRead story
Pharmacy & parapharmacy

How a Pharmacy Runs Its Own Courier Delivery Rounds

Two delivery rounds a dayRead story
Fashion & accessories DTC

How a DTC Fashion Brand Re-Internalized Logistics from Their 3PL in 3 Days

2,000+ orders/monthRead story
Organic cosmetics

How Similar Matching Gave an Organic Cosmetics Brand Competitive Visibility for the First Time

5,000+ SKUs, Magento + Google ShoppingRead story
Health supplements & cosmetics

How a Health & Wellness Retailer Achieved 100% Lot Traceability with FIFO Enforcement

800+ SKUs with expiry datesRead story
Multi-brand retail / e-commerce

How We Built an Omnichannel B2B2C System Connecting Retail Stores to E-Commerce Inventory

E-commerce + retail storesRead story
Parapharmacy / Health & wellness

How Inverted Pricing Reports Turned Market Data into Supplier Negotiation Leverage

5,000-6,000 SKUs, Shopify + Google ShoppingRead story
Gifts & gadgets retail

How a UK Retailer Turned 5 Stores Into Omnichannel Fulfillment Nodes

5 physical stores + Shopify onlineRead story
Automotive body parts e-commerce

How We Automated Multi-Supplier Cross-Dock for an Auto Parts Distributor with 500K SKUs

200K-500K SKUsRead story
Hunting & outdoor equipment

How a Hunting Equipment Specialist Sells the Full Warehouse Catalog From Any Store Counter

2 physical locations + online storeRead story
Home & garden equipment

How a Brittany Retailer Turned Warehouse Walk-Ins Into 25% of Revenue

€3M revenue, 10+ marketplacesRead story
High-tech / Consumer electronics

How AutoPilot AI Focuses Repricing on the Products That Actually Matter

~1,000 SKUs, multiple marketplacesRead story
Motorcycle parts & accessories

How AI Matching Achieved 99% Accuracy on 200,000 Complex Motorcycle Parts

200,000+ SKUs, PrestaShop + Google ShoppingRead story

Ready to see similar results?

Book a demo and we'll show you how we can solve the same challenges for your business.

Free 20-minute call · No commitment