Case Study - How a Family Bakery Stopped Paying for Hauliers That Collected Nothing
Orders were being missed daily. Hauliers were turning up to collect orders that weren't ready. Thousands per week were being wasted on incomplete shipments and transport fees. We built a system to stop the bleeding.
- Client
- Grahams Bakery
- Year
- Service
- Custom Software Development
Client Context
Grahams Bakery is a second-generation family business specialising in own-brand products for major supermarket chains. With 51-200 employees, they've built long-standing relationships with large retailers - relationships that depend on orders being complete and on time, every time.
The Problem
Orders were being missed daily. Not occasionally - daily.
The General Manager, Esther Anderson, was coordinating transport from a spreadsheet that didn't persist beyond the week. Orders came into an outdated, underutilised ERP system, but production planning lived separately in spreadsheets. Shop floor reporting was weak and disconnected - there was no reliable way to know what had actually been produced until it was too late.
The result: hauliers turning up to collect orders that weren't ready. Incomplete shipments going out. Clients receiving less than they ordered.
The costs were adding up - thousands per week in wasted haulier fees, incomplete orders, and the slower damage of client relationships being eroded. The business was on thin ice with key accounts.
Why Previous Solutions Failed
The team had tried to fix this with Power Apps and automations to pull data from the shop floor into their planning spreadsheets. It didn't work.
The spreadsheets weren't normalised - pushing data into them was building on sand. The ERP was a black box sitting on a VM with no API. And all the automations had been set up on the CEO's personal account, meaning no one else could edit or maintain them.
After six months of these workarounds breaking and failing to solve the real problem, they needed a different approach. The issue wasn't just tooling - it was that no one had looked at the system as a whole.
Our Approach
We started with the most expensive problem: wasted transport.
The production planning gap was the deeper issue, but it was also the larger problem to solve. Fixing transport first would stop the immediate bleeding while we built toward the bigger fix.
To get data out of the ERP - the black box with no API - we set up an automation directly on the VM, pulling from the database without needing to interact with the legacy system itself.
This was always designed as a phased programme. Phase 1: consolidate the data and fix transport. Phase 2: production planning to tie the whole flow together.
The Solution
A custom web application that pulls order data from the ERP and manages transport scheduling with proper visibility and controls.
The transport list is no longer a disconnected spreadsheet. Esther can see what's due, what's ready, and what's at risk - with guards and automation that catch errors before they become costly mistakes.
Phase 2 is now underway, building out the production planning layer that will connect orders through to shop floor output, closing the loop that's been broken for years.
The Results
- Saved per day on transport coordination
- 3 hours
- Wasted haulier callouts eliminated
- 3 per week
- Errors on transport scheduling
- Near zero
- ERP data now accessible
- 100%
Phase 2 - production planning - is now in progress to complete the operational picture.
Proof
This has completely changed my day to day and I am forever grateful to the team.

General Manager, Grahams Bakery