SSD · Slot 01 · Save file
Crossplay
a.k.a. Reverse Shot Cinema version ›
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.
- Sector
- Beauty and fragrance, multi-brand retail
- Period
- Nov 2024 — today
- Role
- Hyvä front end and catalogue sync from SAP
- Team
- 4 developers; more than half of the commits are mine
The problem
ERR Thousands of items, colour variants, prices and availability that change every day in the ERP.
WARN A sync error means an order that can't be fulfilled, or a product that disappears from the site for no reason.
The technical choice
- Patch 1.0.0
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.
- Patch 1.1.0
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.
- Patch 1.2.0
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.
- Patch 1.3.0
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.
- Patch 1.4.0
In-store pickup
Store locator and pickup in the chain's 7 stores, tied to stock levels.
How it works
- 0x01 SAP Business One Service Layer · changes only
- 0x02 PHP sync compared with Magento
- 0x03 Diff CSVs items, prices, quantities
- 0x04 Import jobs Magento 2 · Hyvä
- 0x05 Reindex shop in sync
In numbers
- 4000+ products synced from SAP
- 5 min for the fastest jobs; the heaviest run once a day
- 7 stores with pickup