03.1 · Case
Reverse Shot
The online shop of a perfumery chain: over 4,000 products whose prices and stock live in SAP Business One, and a shop that must mirror them without anyone touching a spreadsheet.
Scene 01The problem
Thousands of items, colour variants, prices and availability that change every day in the ERP.
A sync error means an order that can't be fulfilled, or a product that disappears from the site for no reason.
Scene 02The technical choice
- Shot 01
A shop in six weeks
Between November and December 2024 we built the shop on Magento 2 and Hyvä: I handled listings, product page, menu, search and mobile.
- Shot 02
Deltas, not dumps
Through the SAP Service Layer only items changed since the last run are read; comparing them with Magento sends only the differences to the jobs.
- Shot 03
One job per data type
Items, prices, quantities, stock and new products each have their own job and schedule, from every 5 minutes to once a day.
- Shot 04
The emergency button
A Magento admin module runs a manual import for a list of SKUs, with reindexing, and dedicated scripts find orphan variants and misaligned brands.
- Shot 05
In-store pickup
Store locator and pickup in the chain's 7 stores, tied to stock levels.
Scene 03How it works
- 01 SAP Business One Service Layer · changes only
- 02 PHP sync compared with Magento
- 03 Diff CSVs items, prices, quantities
- 04 Import jobs Magento 2 · Hyvä
- 05 Reindex shop in sync
Scene 04In numbers
- 4000+ products synced from SAP
- 5 min for the fastest jobs; the heaviest run once a day
- 7 stores with pickup