Food and produce distribution
The same order details were being entered by hand into several disconnected spreadsheets, and every report was assembled manually from whichever copy happened to be current.
95%+ reduction
The business
A produce distributor supplying cafés and restaurants. Orders arrive through the relationships the business is built on, by phone and message, and every one of them has to reach the warehouse, the invoice, and the books without being retyped along the way.
How it worked before
Orders came in by phone and message and were written down or typed into a spreadsheet.
The same details were re-entered into separate spreadsheets for inventory, invoicing, and accounts.
Staff coordinated over disconnected channels, so status depended on asking the right person.
Reports were assembled by hand from whichever spreadsheet was believed to be current.
Accounting figures were transferred separately into QuickBooks.
As order volume grew, the duplicate entry stopped being an annoyance and started producing wrong numbers. Once a report can disagree with itself depending on which spreadsheet it came from, the business cannot trust its own figures.
Constraints
- The business already ran on Google Workspace and its spreadsheets, and those had to keep working rather than be replaced overnight.
- Order intake had to stay as easy as it was over the phone, because the customer relationships depended on it.
- The team is not technical and adoption had to happen without a training programme.
- Accounting already lived in QuickBooks Online and had to stay the source of truth for the books.
- Operations could not stop while the system was introduced.
The diagnosis
Nothing here needed a new process. The process was fine, it was just being recorded four times. Capturing an order once and letting every downstream system read from that single record removes the errors, the reconciliation, and the manual reporting all at once, because they were all symptoms of the same duplication.
What was built
A custom internal portal that captures an order once and distributes it everywhere it needs to go: the existing Google Workspace spreadsheets, QuickBooks Online for the books, Slack and SMS for notifications, and real-time reporting that reads from live data rather than a copy. Roles control who can see and do what, and AI-assisted classification routes and escalates routine items so the team is not sorting them by hand.

- Single-entry order intake
- An order is captured once. Everything downstream reads that record instead of a re-typed copy of it.
- Google Workspace integration
- The spreadsheets the business already relies on stay in the loop, updated automatically rather than by hand.
- QuickBooks Online integration
- Accounting figures flow into the system of record without a separate transfer step.
- Slack and SMS notifications
- The right people are told when something needs them, instead of finding out by asking.
- Real-time reporting
- Reports read from live operational data, so there is one current answer rather than several possible ones.
- Role-based access
- Warehouse, office, and management each see and change only what their role requires.
- AI-assisted classification and escalation
- Routine items are categorised and routed automatically, and anything unusual is escalated to a person rather than guessed at.
Results
95%+ reduction
Data-entry errors fell by more than 95%.
manual assembly real time
Reporting moved from manually assembled spreadsheets to real time.
20+
An estimated 20+ hours a week of manual coordination was removed.
Manual triage load
AI-assisted classification and escalation took routine sorting off the team's hands.
Key decisions
Integrate with the spreadsheets rather than replace them
The spreadsheets were not the problem, the duplication was. Keeping them connected meant the team could adopt the portal without abandoning tools they trusted on day one.
Single entry as the organising principle
Every requirement on the list traced back to the same root cause. Fixing the duplication addressed the errors, the reconciliation work, and the reporting delay together, rather than building three separate features.
AI assists, it does not decide
Classification and escalation are automated because they are high volume and low risk. Anything with a financial consequence stays with a person.
How it was delivered
Mapping the real workflow
Following an actual order from the phone call to the books, recording every place its details were written down again.
Order intake and the single record
The portal, the capture flow, and the data model that everything downstream would read from.
Integrations
Google Workspace spreadsheets, QuickBooks Online, and the Slack and SMS notification paths.
Reporting, roles, and AI assistance
Real-time reporting on live data, access separation by role, and automated classification and escalation.
Is your process stuck in a spreadsheet?
If any of the before-workflow above looked familiar, describe your version of it. You do not need a specification, just the process you are trying to fix.