The chain had been running the same ECC setup for years off physical servers at their head office. It held up fine when they had a handful of stores, but as expansion picked up, the cracks started showing:
They needed something that could keep up as they opened new stores, without extra IT work every single time.
We started with a full assessment of the existing ECC environment to figure out what could move over as-is and what needed rework first. Since this wasn’t a clean-slate setup, years of transaction history and store-specific customizations were involved, a good chunk of the early work was just data cleansing and mapping out custom Z-tables so nothing broke mid-migration.
We didn’t want to just do a straight lift-and-shift upgrade, since the real problem wasn’t only an outdated SAP version, it was being stuck on physical, on-premise infrastructure that couldn’t flex with new store openings. So we combined the version upgrade with a move to cloud infrastructure in the same project.
That meant migrating the database and application layer off physical servers and onto a cloud-hosted environment, so new stores could be added without anyone needing to provision hardware each time. We also reworked how inventory synced between stores, moving it from batch updates to something closer to real time, and simplified the finance and reporting data model, which cut down a lot of the manual steps that used to eat up time during month-end close.
Before the final cutover, we ran the old and new systems in parallel for a few weeks so finance and operations could double-check that reports actually matched between the two before fully switching over.
Honestly, the most time-consuming part wasn’t the technical migration itself, it was the store-specific customizations. A few stores had picked up little workarounds and custom fields over the years that didn’t exist anywhere else in the network, and someone had to go through each one and decide what was actually worth carrying forward versus retiring for good. That review took longer than we initially scoped for.
Store managers can now check real-time stock across the whole chain instead of calling other locations. Month-end closing dropped from several days down to about a day and a half. Since infrastructure now runs on the cloud, spinning up what’s needed for a new store takes a fraction of the time it used to, no more waiting on hardware procurement. The client has opened a few new stores since the migration without the usual infrastructure scramble.
One thing still in progress: a handful of the older store-specific custom fields we flagged during the review haven’t been fully retired yet, they’re being phased out gradually rather than all at once, since a couple of legacy reports still reference them.
Frontend: ReactJs
Backend: NodeJs
Mobile: Flutter
Database: MongoDB & Redis
Cloud/Hosting: AWS
Other Tools/Integrations: Flolive