Skip to Content

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.

Industry

Multi-location grocery retail

Engagement

Embedded partner

Relationship

Multi-year

By the Numbers

27M+

inventory stock moves migrated off two legacy systems, with the full operating history intact

5 min

automated procurement run, parallelized behind a job queue, down from the three to six hours it once took

140,000+

point-of-sale orders carried into Odoo alongside the stock moves

2 weeks

to phase every store live, roughly two business days apart, never all at once

01

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.

02

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

03

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.

their purchasing manager, after we presented a solution mapped directly from how their team actually worked

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
Database neutralized for testing: no emails sent, etc.