Shopware ERP integration: 300K+ pharma SKUs, zero fulfilment errors
Bidirectional Shopware 6 to ERP sync for a German pharma distributor. 300K+ SKUs with batch tracking, expiry alerts, and audit trails. Zero fulfilment errors.
The Challenge
A German pharma distributor was managing 300,000+ SKUs with batch numbers, expiry dates, and a regulator looking over their shoulder. A single mismatch between the ERP and the storefront could mean a recall or someone receiving the wrong batch.
Critical Pain Points
- Every SKU needed individual batch and lot tracking, not just stock counts
- Expiry dates had to surface in time for markdown decisions and regulator filings
- ERP and Shopware needed to stay in sync both directions, in close to real time
- Order processing had to keep moving even when the catalogue was 10x larger than usual
- Every action had to leave an audit trail that would survive a pharma compliance review
There was no margin for "we'll fix it next sprint". A misfulfilled prescription costs more than the platform.
The Solution
I built a bidirectional sync layer that treats pharmaceutical compliance as a first-class concern, not an afterthought.
Two-way ERP sync
ERP changes flow into Shopware. Shopware orders flow back into the ERP. Both systems agree on stock and price within seconds.
Batch and expiry tracking
Each unit carries its batch number, lot, and expiry date. The system validates these on every order so nothing wrong leaves the warehouse.
Predictive expiry alerts
Products approaching expiry surface in a dashboard before they become waste. The team sees them in time to mark down or reroute.
Audit trail by default
Every inventory movement, price change, and stock adjustment is logged. Compliance reviews run on data, not on memory.
Results & Business Impact
Zero fulfilment errors
The right batch went to the right customer, every time. Recall risk dropped to operational noise.
Compliance without manual work
Batch tracking and audit logs satisfy regulator requirements without anyone exporting spreadsheets the night before an audit.
Sub-2-second per-record sync
A 300K SKU catalogue stays current to the second, not the minute.
Less expired stock
Predictive alerts let the team mark down or rotate stock before it hit the bin.
Technologies Used
- Shopware 6
- PHP 8
- Symfony
- MySQL
- ERP API
- Job Queues
- Batch Tracking
- Expiry Management
ERP and Shopware out of sync?
Wherever stock accuracy is non-negotiable, I've built integrations that hold up under audit. Let's talk through yours.
Book a consultationRelated Case Studies
Shopware import optimisation
Cut Shopware 6 import time by 91% for a German retailer. 530K+ SKUs in under 3 hours using Redis, Symfony Messenger, and dynamic batch sizing.
Read Case Study → B2B SolutionsIndustrial tender platform
Shopware 6 B2B tender plugin for a DACH industrial dealer. Multi-level approvals, status workflows, and a self-service dashboard. Cycle time cut from 6 weeks to 3.
Read Case Study → B2B SolutionsB2B RFQ platform
Shopware 6 RFQ platform for a German industrial distributor. Multi-item quote builder, ERP sync via OAuth2, DE/EN localisation, 24/7 self-service.
Read Case Study →