Data went missing
Rows were overwritten, files were duplicated, and a client’s billing history was spread across sheets.
Biz4Invoice is the in-house tool Biz4Group uses to manage clients, projects, quotes, invoices and payment reminders. Billing used to live in spreadsheets, where data went missing and follow-ups slipped. I designed the product end to end, working with the person who runs billing, the CEO and two developers to ship phase one.

Biz4Group wins clients in many ways — by email, phone, WhatsApp and in person. One client often has several projects at once, each billed on its own schedule.
Clients, projects and invoices were tracked in spreadsheets. Data went missing, the last bill sent to a client was hard to find, and payment follow-ups depended on someone remembering.
The team didn’t need more columns. They needed a system that knew how clients, projects and invoices relate.
Rows were overwritten, files were duplicated, and a client’s billing history was spread across sheets.
Seeing everything one client owed — across several projects — meant stitching sheets together by hand.
Payment reminders lived in people’s heads, so due invoices were chased late or not at all.
An accepted quote had to be retyped as an invoice, with every chance of a mistake.
Model the real relationships, so every invoice belongs to a project and every project to a client.
Schedule invoice reminders per project and show them on a calendar nobody can forget.
Interviewed the person who runs billing, spoke with the CEO and senior staff, and audited the spreadsheets myself.
Defined the objects and their links — and the states an invoice moves through.
Dashboard, clients, projects, quotes, invoices, payments, reminders and settings.
Built and rolled out internally with two developers. Phase two was planned next.
The problems the team described are well documented. Published research shows how common they are.
Raymond Panko’s review of spreadsheet research. Recent field audits used stronger methods; lab spreadsheets were only 25–50 cells.
| Study type | Spreadsheets with errors |
|---|---|
| Recent field audits of real spreadsheets | 86% |
| Lab experiments, small spreadsheets | 51% |
US companies surveyed by Atradius, mid-2023.
| Measure | Share |
|---|---|
| B2B invoiced sales that were overdue | 55% |
| Credit-based B2B sales lost to bad debt | 9% |
My own comparison, 0–5, of the old spreadsheet process and the tool we designed.
| Capability | Biz4Invoice | Spreadsheets |
|---|---|---|
| One view per client | 5 / 5 | 1 / 5 |
| Invoice status | 5 / 5 | 2 / 5 |
| Payment reminders | 5 / 5 | 0 / 5 |
| Quote to invoice | 5 / 5 | 1 / 5 |
| Proof of payment | 4 / 5 | 1 / 5 |
| Reporting | 4 / 5 | 2 / 5 |
The billing lead knew the day-to-day; the CEO knew how billing should be structured. Putting their answers next to the spreadsheets showed that speed mattered less than certainty — knowing what was sent, what was paid and what was next.
Billing is per project, but questions are per client. The design had to answer both from one screen.
Draft, sent, paid, due, cancelled — and refunds. Every list needed the status at a glance, by colour.
A list of due dates is easy to ignore. A calendar with every reminder on its day is not.
Walking the team through tools like Zoho Invoice gave everyone a shared picture of what good billing software looks like — and made requirements far easier to agree.
“I owned the product and every screen. The billing lead was my main stakeholder, the CEO set the billing structure, and two developers built phase one with me.”
The layout skeleton of the key screens. Redrawn for this case study from the final designs.
The most common question was simple: where are we with this client? Client detail answers it in one place — contact details and the next follow-up on the left, totals across projects and invoices along the top, and an invoice-status chart showing what’s paid, due and refunded.
A single switch flips the main table between the client’s projects and their invoices, so the team never has to leave the client to find a bill.
Why this, not thatI put the next follow-up right under the client’s contact details, in a dark card that stands out. The most expensive mistake in billing is forgetting to ask — so the next ask is the first thing you see.
Quotes and invoices share the same structure: pick a project and the client and email fill in, add line items, then save as a draft or preview and save. An accepted quote converts straight into an invoice — no retyping, no copy errors.
When money arrives, recording it takes one dialog: status, amount received, payment date, the invoice to adjust, and proof of payment. A checkbox emails the client a confirmation, closing the loop.
Why this, not thatI made the project the first field on every quote and invoice, not the client. A client can have several projects, so starting from the project removes the most common mix-up — billing the right client for the wrong work.
Reminders are set when a project is created: when invoicing starts and how often to remind. They then appear on a month calendar, colour-coded, with the next few listed beside it — and on the dashboard’s to-do list.
Plans change, so editing a reminder asks how far the change should reach: just this reminder, the next one, or the whole schedule.
Why this, not thatI asked “change this reminder, the next one, or the whole schedule?” instead of applying edits silently. Billing schedules are agreements with clients — an accidental change to all future reminders would cost trust.
Spreadsheets are flexible and familiar. The tool had to be just as quick for everyday entries to win people over.
Every screen had to work from both directions — by client and by project — without confusing the two.
Paid, due, draft, cancelled, refunded, on hold — colour and labels had to stay consistent everywhere.
Quotes and invoices leave the building. They had to be clean enough to print, download and send as they are.
With two developers, every design decision had to be buildable without a big front-end team.
The structure had to leave space for items, reports and more without redesigning phase one.
A dark navigation frame keeps the focus on the working area; green, amber, red and purple always mean the same thing about money.
SheetsOne tool (from Sheets to One tool)
Clients, projects, quotes, invoices and reminders managed in one internal product.
Source: in internal useMemoryCalendar (from Memory to Calendar)
Invoice follow-ups scheduled per project and shown on a calendar and to-do list.
Source: in internal useRetypedConverted (from Retyped to Converted)
Accepted quotes become invoices in one step, with no copying.
Source: in internal useClient, project, invoice. Once those links were right, most screens almost designed themselves.
An internal tool only wins if everyday entries are faster than the habit it replaces.
Small confirmations on high-stakes edits protect both the team and its clients.
Pairing what people told me with what the spreadsheets actually showed gave me requirements I could trust.
Biz4Invoice is an internal tool, so it isn’t public. I’m happy to walk you through the full product on a call.
No more lost bills.
Every client, accounted for.
Biz4Invoice gave Biz4Group one place for its billing — and a calendar that remembers every follow-up. Phase two was planned to build on the same foundation. I’m happy to walk you through the tool on a call.