Building Discipline in QSR Supply Chain & COGS

January 24, 2026 – From blog: 365weeks.com

In QSR, margins are not lost in big strategic mistakes. They usually disappear quietly, somewhere between a supplier invoice, a delivery note and what actually gets used in a restaurant.

For a long time, we treated COGS as a number you calculate after the fact. Food cost reports, variance checks, monthly reviews. Useful, but always backward-looking. The problem with that approach is simple: by the time you see the number, the money is already gone.

What we needed at Koykan was not a better report. We needed control over the entire flow that creates COGS in the first place.

From Cost Tracking to Supply Chain Thinking

As we grew across countries and store formats, it became obvious that COGS is not just about prices. It is about structure. Who buys. From whom. Under which conditions. How goods move. When data becomes available. And how quickly inconsistencies surface.

We started treating supply chain management as a core operating system, not a support function. That meant designing a process where procurement, inventory, finance and store operations all speak the same language.

At the center of that system sits Odoo as our ERP. Not as a passive accounting tool, but as the place where commercial reality is enforced. What can be ordered, at what price, from which supplier and under which rules.

kShop as a Control Layer

On top of Odoo, we built kShop controlled procurement layer (our eCommerce solution as part of the Odoo environment). From the store perspective, it looks simple: a digital cart, clear prices, clear confirmation steps. Behind the scenes, it is anything but simple.

Every order becomes a single commercial truth. A sales order that connects customer intent, supplier RFQs, pricing logic, margins and delivery expectations. Nothing moves forward without confirmation. Nothing gets paid without matching data.

This is deliberate friction. In QSR, speed without structure is expensive. kShop slows things down just enough to prevent errors, leakage and silent margin erosion.

Data Has to Move Automatically

Control only works if data flows without human interpretation. That is why the system is connected to our POS environment (Remaris) through a data layer that synchronizes goods receipts and consumption data.

When goods are received in a store, that confirmation becomes data. That data flows back into Odoo. From there, it flows into our analytics layer built on top of Tableau BI platform. The goal is simple: what is delivered, what is received and what is sold should reconcile without manual intervention.

Where it does not reconcile, we want to know quickly. Not at month-end, but while correction is still possible.

Inventory Is a Financial Topic

One of the more uncomfortable lessons is that inventory is not an operational detail. It is a financial risk.

Over-ordering hides problems. Under-ordering creates stress and bad decisions. Missing goods distort margins. Small consumables quietly add up.

For that reason, not everything is tracked the same way. High-value items flow through strict inventory logic. Packaging and consumables are tracked at the financial model level, with consumption patterns monitored through dashboards rather than warehouse counts.

This is not about perfection. It is about proportional control.

Why This Matters

COGS discipline is not about saving cents. It is about building a business that behaves predictably at scale.

If you want to open the next 10 or 50 locations, you cannot rely on heroics or local fixes. You need systems that work when people are tired, busy or replaced. You need a supply chain that protects margins by default.

This setup took time. It took iteration. And it is still evolving. But it changed how we think about COGS.

Not as a number to explain after the fact, but as a consequence of decisions made upstream.

That shift made a bigger difference than any single supplier negotiation ever could.

A Note of Thanks

What sits behind this system is not a short-term learning burst or a single implementation project. It is the result of almost two years of continuous learning, iteration and sometimes uncomfortable conversations. Step by step, the ideas became processes and the processes became something tangible that now runs the business.

That would not have been possible without partners and individuals who stepped in at key moments, challenged assumptions, helped translate ideas into systems and stayed patient while we learned by doing.

These are the people and partners I would like to personally thank:

  • Our IT Managed ProServe partner, we:innov8, and their IT guru, Lionel Sacon, for managing the entire process and pulling all the stakeholders together.
  • Koykan COO, Co-Founder and my partner Domagoj Klarić — for his know-how and thoughtful devil’s advocate conversations 🙂
  • Our Odoo partner, Ecodica, and Ivan Vađić, who led the team that helped us understand the mechanics of the broader supply chain logistics — and, of course, implemented the entire solution in a fraction of the time. Thank you!
  • Tibor Žigmond for his constant support and partnership in the QSR arena. 
  • And a special thanks to Troy Weeks for his early advice on where we needed to be, and to Pawel Szczepaniak for his introduction to the QSR software landscape and what’s possible – thanks a mill!

And to everyone who contributed along the way but is not mentioned by name here — thank you as well. This system carries more fingerprints than it shows on the surface.