All work

Every client, project and invoice, in one place — Biz4Invoice case study

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.

Company
Biz4Group — internal tool
Year
2023
Role
Product Designer — end to end
Team
Me and two developers
Platform
Web app
Biz4Invoice — product screens
1Place for every client, project and invoice
3People who designed and built phase one: me and two developers
5Invoice states: draft, sent, paid, due, cancelled
19Screens and states designed
01 Context

Billing that lived in spreadsheets

How work arrived

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.

Where it broke

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 dashboard — invoices, projects, revenue and the day’s follow-ups (dummy data).
02 Starting point

What spreadsheets couldn’t do

The team didn’t need more columns. They needed a system that knew how clients, projects and invoices relate.

The problem

Data went missing

Rows were overwritten, files were duplicated, and a client’s billing history was spread across sheets.

The problem

No view per client

Seeing everything one client owed — across several projects — meant stitching sheets together by hand.

The problem

Follow-ups slipped

Payment reminders lived in people’s heads, so due invoices were chased late or not at all.

The gap

Quotes and invoices apart

An accepted quote had to be retyped as an invoice, with every chance of a mistake.

Opportunity

Client → project → invoice

Model the real relationships, so every invoice belongs to a project and every project to a client.

Opportunity

Reminders that run themselves

Schedule invoice reminders per project and show them on a calendar nobody can forget.

How the work ran

  1. Understand

    How billing really worked

    Interviewed the person who runs billing, spoke with the CEO and senior staff, and audited the spreadsheets myself.

  2. Structure

    Clients, projects, documents

    Defined the objects and their links — and the states an invoice moves through.

  3. Design

    Every screen and state

    Dashboard, clients, projects, quotes, invoices, payments, reminders and settings.

  4. Build

    Phase one, with two developers

    Built and rolled out internally with two developers. Phase two was planned next.

03 Research · Why it matters

Spreadsheets and late payments cost real money

The problems the team described are well documented. Published research shows how common they are.

How often spreadsheets contain errors

Raymond Panko’s review of spreadsheet research. Recent field audits used stronger methods; lab spreadsheets were only 25–50 cells.

How often spreadsheets contain errors
Study typeSpreadsheets with errors
Recent field audits of real spreadsheets86%
Lab experiments, small spreadsheets51%
Source: Panko, “Spreadsheet Errors: What We Know. What We Think We Can Do” (EuSpRIG, 2000) (opens in a new tab)

How much B2B billing gets paid late

US companies surveyed by Atradius, mid-2023.

How much B2B billing gets paid late
MeasureShare
B2B invoiced sales that were overdue55%
Credit-based B2B sales lost to bad debt9%
Source: Atradius, B2B Payment Practices Trends — United States 2023 (opens in a new tab)

Spreadsheets vs a billing system

My own comparison, 0–5, of the old spreadsheet process and the tool we designed.

  • Biz4Invoice
  • Spreadsheets
Spreadsheets vs a billing system
CapabilityBiz4InvoiceSpreadsheets
One view per client5 / 51 / 5
Invoice status5 / 52 / 5
Payment reminders5 / 50 / 5
Quote to invoice5 / 51 / 5
Proof of payment4 / 51 / 5
Reporting4 / 52 / 5
Source: My product comparison
04 What I learned

The real job: never lose track

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.

Methods

  • Interviews with the billing lead, my main stakeholder
  • Calls with the CEO and senior staff on the billing structure
  • My own audit of the billing spreadsheets
  • Reviewing Zoho Invoice and similar tools with the team
  • Desk research on billing errors and late payments

Key insights

  1. Clients have many projects

    Billing is per project, but questions are per client. The design had to answer both from one screen.

  2. Status is everything

    Draft, sent, paid, due, cancelled — and refunds. Every list needed the status at a glance, by colour.

  3. Reminders need a calendar

    A list of due dates is easy to ignore. A calendar with every reminder on its day is not.

  4. Show, don’t describe

    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.

05 My role

One designer, two developers

“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.”
  • Stakeholder interviews and calls with the CEO and senior staff
  • Auditing the existing billing spreadsheets
  • Reviewing Zoho Invoice and similar tools with the team
  • Product structure: clients, projects, quotes, invoices, reminders
  • Invoice and project states
  • High-fidelity UI for every module and state
  • Invoice and quote documents for print and PDF
  • Working with two developers through build and roll-out
Company
Biz4Group (internal)
Year
2023
Team
Me and two developers
Stakeholders
Billing lead, CEO, senior staff
Stage
Phase one in use; phase two planned
Tools
Figma
06 User flow

From a new client to a paid invoice

  1. Add client
  2. Add project
  3. Quote
  4. Invoice
  5. Reminders
  6. Record payment
  7. Reports

Set up

Start
A new client comes in.
Actions
Add the client with billing and shipping details, then each project with its budget, start date and invoice reminders.
Outcome
Every project linked to its client.

Quote and invoice

Start
Work is agreed.
Actions
Create a quote, convert it to an invoice when accepted, preview it and send it.
Outcome
An invoice that never has to be retyped.

Chase

Start
An invoice is due.
Actions
Reminders appear on the calendar on their day and in the dashboard’s to-do list.
Outcome
Follow-ups happen on time.

Get paid

Start
Money arrives.
Actions
Mark the invoice paid, enter the amount and date, attach proof and email the client a confirmation.
Outcome
A complete record for every payment.
07 Information architecture

How the tool is organised

Billing

  • Clients
    • List
    • Client detail: projects & invoices
    • Add client
  • Projects
    • List
    • Project detail
    • Add project & reminders
  • Quotes
    • List
    • Create quote
    • Preview
    • Convert to invoice
  • Invoices
    • List
    • Create invoice
    • Preview & send
    • Status & payment

Running the business

  • Dashboard
    • Invoice & project totals
    • Revenue over time
    • To-do calendar
  • Reminders
    • Month calendar
    • Next reminders
  • Items
    • Reusable line items
  • Reports
    • Billing reports
  • Settings
    • Profile & password
    • Notifications
08 Wireframes

Structure before style

The layout skeleton of the key screens. Redrawn for this case study from the final designs.

09 Deep dive 1 · The client view

Everything one client owes, on one screen

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.

The problem

  • A client’s billing was spread across several sheets.
  • Nobody knew when to follow up next.
  • Projects and invoices lived in different files.

What I designed

  • Contact details, next follow-up and totals together.
  • Invoice status by amount — paid, due and refunded.
  • One switch between projects and invoices.

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.

Client detail, invoices view — status, amounts and what’s still due (dummy data).
The same client, projects view.
10 Deep dive 2 · From quote to cash

Quote once, never retype it

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.

The problem

  • Accepted quotes were retyped as invoices.
  • Payments were noted without dates or proof.
  • Clients had no confirmation that a payment landed.

What I designed

  • Pick a project and the client details fill in.
  • Convert a quote to an invoice in one step.
  • Record status, amount, date and proof — and confirm by email.

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.

Creating an invoice — project first, then line items (dummy data).
Recording a payment — with proof attached and an optional email to the client.
11 Deep dive 3 · Nothing slips

Follow-ups on the calendar

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.

The problem

  • Due dates lived in someone’s memory.
  • Changing a schedule meant editing many rows by hand.

What I designed

  • Invoice reminders set per project, shown on a calendar.
  • Next reminders listed beside the month view.
  • Change one reminder, the next, 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.

Reminders — every invoice follow-up on its day (dummy data).
Editing a reminder — choose how far the change reaches.
12 More screens

The rest of the tool

13 Key challenges

What made this hard

Replacing a habit

Spreadsheets are flexible and familiar. The tool had to be just as quick for everyday entries to win people over.

One client, many projects

Every screen had to work from both directions — by client and by project — without confusing the two.

Many states, one glance

Paid, due, draft, cancelled, refunded, on hold — colour and labels had to stay consistent everywhere.

Documents that look right

Quotes and invoices leave the building. They had to be clean enough to print, download and send as they are.

A small build team

With two developers, every design decision had to be buildable without a big front-end team.

Room for phase two

The structure had to leave space for items, reports and more without redesigning phase one.

14 Visual language

Dark frame, clear money colours

A dark navigation frame keeps the focus on the working area; green, amber, red and purple always mean the same thing about money.

Colour
A dark sidebar and header, a bright green for primary actions and paid amounts, and fixed colours for due, draft, cancelled and refunded.
Status
Every list carries a coloured status dot and a legend, so the meaning never has to be guessed.
Documents
Quotes and invoices use a clean, print-ready layout with a clear paid or unpaid stamp.
Components
Stat strips, data tables, a donut for invoice status, calendars and focused dialogs.
15 Outcome

From spreadsheets to a system

SheetsOne tool (from Sheets to One tool)

Clients, projects, quotes, invoices and reminders managed in one internal product.

Source: in internal use

MemoryCalendar (from Memory to Calendar)

Invoice follow-ups scheduled per project and shown on a calendar and to-do list.

Source: in internal use

RetypedConverted (from Retyped to Converted)

Accepted quotes become invoices in one step, with no copying.

Source: in internal use
16 Learnings

What Biz4Invoice taught me

  1. Model the relationships first

    Client, project, invoice. Once those links were right, most screens almost designed themselves.

  2. Beat the spreadsheet on speed

    An internal tool only wins if everyday entries are faster than the habit it replaces.

  3. Ask before changing schedules

    Small confirmations on high-stakes edits protect both the team and its clients.

  4. Turn answers into requirements

    Pairing what people told me with what the spreadsheets actually showed gave me requirements I could trust.

Walkthrough

Want the full walkthrough?

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.