Canzonia · Case Study Report
FILE NO. 01
Inventory Management Revolution
Two Legacy Systems, Retired Store by Store
A multi-location Canadian grocery chain replaced two aging legacy systems with Odoo. That meant migrating more than 27 million records, and cutting a multi-hour procurement run to under five minutes.
By the Numbers
inventory stock moves migrated off two legacy systems, with the full operating history intact
automated procurement run, parallelized behind a job queue, down from the three to six hours it once took
point-of-sale orders carried into Odoo alongside the stock moves
to phase every store live, roughly two business days apart, never all at once
The Challenge
A Canadian natural foods grocery retailer was running on two aging legacy systems: an internally built inventory platform, and a separate category system that managed products and pricing.
It’s a multi-location chain with a catalog of roughly 10,000 SKUs.
Both systems had become a growing risk and a daily source of friction. The business needed a modern ERP that could scale as it opened new stores, without throwing away the processes that already worked.
Note 01
Client anonymized by industry. Delivered as an embedded partner, leading the development team inside an implementation firm.
What We Delivered
Rather than rip everything out and start over, we began by story-mapping the existing inventory and procurement processes. We kept what worked in the legacy systems, and solved what didn’t.
STORY-MAPPING
Kept what worked, fixed what didn’t
Story-mapped the client’s proven inventory and procurement workflows before we built anything. Then re-implemented them in Odoo rather than replacing them wholesale.
MIGRATION
Two legacy systems, retired
Moved data and processes off a custom inventory platform and a separate category and pricing system. That was more than 140,000 POS orders and roughly 27 million stock moves.
INTEGRATION
Sage 300, left in place
Integrated Odoo operations with the finance system the business already relied on. We built the exports and reporting that keep the two in sync, so nothing had to be migrated off it.
Inventory & pricing
PRICELISTS
Built a global pricelist strategy with hierarchical pricing to support regional pricing and promotions
POINT OF SALE
Integrated a third-party point-of-sale system with Odoo
FIFO COSTING
Implemented FIFO inventory costing by location, in production today, giving finance accurate location-level valuation to report against
Team & delivery
MENTORING
Led the development team with hands-on mentoring and code reviews throughout the engagement
ENVIRONMENTS
Standardized development environments on DevContainers so the team worked from one reproducible setup
VISIBILITY
Tracked delivery transparently in Azure DevOps so stakeholders always knew where the work stood
The Outcome
Procurement runs that once took three to six hours finished in under five minutes.
Management gained real-time inventory visibility across every location, on a system staff found intuitive to work in.
Rather than a risky big-bang cutover, each store went live roughly two business days apart over a two-week window, with a newly opened store serving as the live test bed.
We applied learnings from the first location rollout before the next one went live, and every rollout went smoother than the last.
Note 02
FIFO costing by location is in production today. Finance still runs on the client’s existing Sage 300, fed by Odoo.
In Their Words
I felt heard.
More Like This
Other Odoo engagements, from a shop floor to a trading desk.
Similar Situation?
If this sounds familiar, say so.
Book a 30-minute intro call. We'll tell you where Odoo fits, and what we'd need to see before we could scope it.
Book a Free Intro Call