The reporting the business runs on, and the pipelines that feed it. Every figure traceable to a source document.
Projects
Three
Cadence
Weekly
Swing delivered
£1,337 in one week
Duplicate control
~£600/week
WorkingData & reporting
Invoice pipeline automation
Sweeps a full week of mailbox traffic, extracts invoice attachments in mixed formats — PDFs and photographed invoices — and files them by week and supplier. Feeds the weekly cost-of-sales cycle.
A full year of weeks, each split by site and supplier
The local mail store never pre-fetches server attachments — roughly 1,200 of 5,000 messages sat as partial files with nothing attached, and forcing a download made it worse.
The low-code route died on licensing: the mailbox licence was mail-only with no file storage, so the platform could read the mailbox but had nowhere to write.
Re-architected server-side against the Graph API with device-code authentication and a cached token. Runs on the standard library alone.
Live · runs weeklyData & reporting
Weekly food & GP reporting
Automated weekly P&L and gross profit reporting across venues, built from EPOS exports, supplier invoices, timesheets and operational logs. Eleven fixed sections plus a manager targets page and a basis-of-preparation appendix.
Weekly food contribution — loss to surplus
PythonReportLabEPOS exportsOpenClose
Conventions established
GP calculated on sales net of VAT rather than the till's own net figure, with purchases-based cost of sales.
Inter-site stock transfer adjustments, and supplier invoice splitting by sub-total with non-food consumables excluded.
Checksum-based duplicate control across shared supplier accounts — worth around £600 a week if double-counted.
A labour apportionment model for chefs covering multiple sites, plus break deduction and shift rounding rules for hourly kitchen staff.
Result
Turned a £758 weekly food contribution loss into a £579 surplus in one trading week — a £1,337 swing — with sales up 48% against labour up only 5%. Site GP moved 62.7% to 67.1% and 43.7% to 59.3%. Agency kitchen cover eliminated entirely by restructuring head chef deployment.
Schematics
Eleven fixed sections plus targets and basis of preparation
5 converted from 238Data & reporting
B2B partnership campaign
Three separate outreach builds — UK, US and Spain — each with its own prospect database, its own tier structure and its own templates, the Spanish set written in Spanish. Prospects researched and enriched by decision-maker and tour type. Five travel groups converted.
Prospects tiered, templates auto-matched to category, send state tracked per company
The outreach engine itself — a one-click tool handling prospect data, personalised email generation, scheduled follow-up sequencing and reply tracking. Functionally a purpose-built lightweight CRM.
Three market-specific instances rather than one tool with a country column. The US build carries 183 operators across eight templates auto-matched to company category; the Spain build carries 50, with subject lines and message bodies written in Spanish while the dashboard stays in English; the UK build is smaller and tiered by whether an operator already routes through the town.
Prospects tiered by likelihood rather than listed flat, so effort went where conversion was plausible — and templates matched to category, so a major group tour operator and a small private-driver outfit never received the same email.
Send state tracked per company, with the dashboard showing sent against remaining so a campaign could be picked up mid-run without double-contacting anyone.
Trade discount structures for guaranteed group bookings.
Why three builds
One tool with a language toggle would have been less work and worse. A Spanish operator selling UK circuits to Spanish travellers is a different proposition from a US group tour operator running fixed itineraries, and the pitch that works on one reads as boilerplate to the other.
Two entries carried no public email address at all. Rather than drop them or guess, the tool flags them explicitly as website-contact-only — the list stays honest about what it can and can’t reach.
Send me your software subscriptions and I’ll come back with what’s replaceable and what it’s worth — free, and yours to keep either way. How it works →
Contact
Want the same done to your cost base?
Open to operations, automation and technical operations roles — and to talking with anyone running a multi-site business who suspects they're paying for software they could own instead.