
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
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:
- Keep batch and expiry data after supplier receipt
- Assign the earliest-expiry stock first
- 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:
- Batch and expiry captured at receipt and confirmed at packing
- Automatic assignment of the earliest-expiry batch for picking
- 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
How a Gardening Retailer Got 34% More Clicks Without Raising Ad Spend
25,000+ SKUs, 50+ year-old family businessRead storyBedroom products e-commerceHow We Replaced Scissors with Algorithms for a Multi-Country Bedroom Products Seller
5 Shopify sites + 20 marketplaces, FR + ESRead storyHome & garden e-commerceHow a Multi-Channel Retailer Replaced Excel Chaos with One-Screen Order Management
5 sales channelsRead storyHunting & outdoor equipmentHow a Hunting Equipment Specialist Deploys 5 POS Terminals in Minutes at Trade Shows
2 physical locations + online storeRead storyPharmacy & parapharmacyHow a Pharmacy Brings Three Storage Areas Into One Picking Flow
25,000+ SKUs · ~200 orders/dayRead storyHome equipment retailHow We Guaranteed Profitability Across 10+ Marketplaces for a Home Equipment Retailer
10+ marketplaces, thousands of SKUsRead storyElectrical equipment (B2C + pros)How We Built a Custom Cable Cutting Workflow for an Electrical Retailer
B2C + professional electriciansRead storyE-commerce (multi-industry)How 50% of Our Clients Automate Cross-Dock and Dropship Supplier Fulfillment
50%+ of myFulfillment clientsRead storyCandle & fragrance manufacturingHow BOM-Based Stock Calculation Tripled Sellable Inventory for a Candle Manufacturer
4 e-commerce sitesRead storyElectronics e-commerceHow an Electronics Distributor Eliminated 90% of Label Errors with Centralized Shipping
3,000+ daily shipmentsRead storyThird-party logistics (3PL)How We Built Error-Proof Warehouse Workflows for a Lyon-Based 3PL
Local e-commerce clientsRead storyLifestyle & seasonal goodsHow a Lifestyle Retailer Eliminated Stockouts with Intelligent Replenishment Forecasting
12,000+ SKUsRead storyGifts & gadgets retailHow a UK Retailer Escaped Shopify POS and Unified 5 Stores on One Platform
5 physical stores + Shopify onlineRead storyPharmacy & parapharmacyHow a Pharmacy Runs Its Own Courier Delivery Rounds
Two delivery rounds a dayRead storyFashion & accessories DTCHow a DTC Fashion Brand Re-Internalized Logistics from Their 3PL in 3 Days
2,000+ orders/monthRead storyOrganic cosmeticsHow Similar Matching Gave an Organic Cosmetics Brand Competitive Visibility for the First Time
5,000+ SKUs, Magento + Google ShoppingRead storyHealth supplements & cosmeticsHow a Health & Wellness Retailer Achieved 100% Lot Traceability with FIFO Enforcement
800+ SKUs with expiry datesRead storyMulti-brand retail / e-commerceHow We Built an Omnichannel B2B2C System Connecting Retail Stores to E-Commerce Inventory
E-commerce + retail storesRead storyParapharmacy / Health & wellnessHow Inverted Pricing Reports Turned Market Data into Supplier Negotiation Leverage
5,000-6,000 SKUs, Shopify + Google ShoppingRead storyGifts & gadgets retailHow a UK Retailer Turned 5 Stores Into Omnichannel Fulfillment Nodes
5 physical stores + Shopify onlineRead storyAutomotive body parts e-commerceHow We Automated Multi-Supplier Cross-Dock for an Auto Parts Distributor with 500K SKUs
200K-500K SKUsRead storyHunting & outdoor equipmentHow a Hunting Equipment Specialist Sells the Full Warehouse Catalog From Any Store Counter
2 physical locations + online storeRead storyHome & garden equipmentHow a Brittany Retailer Turned Warehouse Walk-Ins Into 25% of Revenue
€3M revenue, 10+ marketplacesRead storyHigh-tech / Consumer electronicsHow AutoPilot AI Focuses Repricing on the Products That Actually Matter
~1,000 SKUs, multiple marketplacesRead storyMotorcycle parts & accessoriesHow AI Matching Achieved 99% Accuracy on 200,000 Complex Motorcycle Parts
200,000+ SKUs, PrestaShop + Google ShoppingRead storyReady 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