Insights · Billing
Still using Excel for billing? The signs it's time to move
A spreadsheet is a perfectly good way to start billing. It becomes an expensive way to keep billing long before anyone notices. Here is how to tell which side of that line you're on - and what it is really costing you.
On this page 6 sections
A billing operation can start in a spreadsheet. A borehole scheme lists its first sixty connections in Excel. A waste collector keeps a Google Sheet of households and ticks off who paid. A consultant keeps invoices in a folder and a running total in a workbook.
That's not a mistake. A spreadsheet can have a low initial cost and be familiar to the person running the billing. For a small, simple operation it may do the job. The trouble is that it keeps doing almost the job long after it has stopped doing the job - and the gap between the two is where money goes.
When Excel is perfectly fine
Let's be honest about this first. You probably don't need billing software yet if all of these are true:
- You have a manageable customer list and a simple fee or calculation. Customer count alone does not establish when software is worthwhile.
- One person runs the routine, with a documented process and a backup when they are unavailable.
- Most customers pay in a way that tells you who they are - cash in hand, or a payment you can recognise at a glance.
- You can answer "who owes me, and how much?" in a few minutes, and you trust the answer.
- Month end takes an afternoon, not a week.
If that's you, keep the spreadsheet. Spend the time on your customers instead.
The warning signs
The signs that a spreadsheet has outgrown you are rarely about size. They're about whether you can still trust what it says.
There are two versions of the file
"Billing October FINAL", "Billing October FINAL (2)", and the copy on the treasurer's laptop. Two people updated different copies, and now nobody knows which balance is right. The moment a billing file has more than one version, it's no longer a record - it's an opinion.
Payments arrive that nobody can place
The paybill statement has rows with references like "water" or a stranger's phone number, and they sit in a "to check" column that never gets checked. Meanwhile the customer who paid gets chased. If this sounds familiar, read how to reconcile M-Pesa paybill payments for a practical review routine.
Somebody got billed twice - or not at all
A row copied down twice, a formula that stopped one line short, a new connection added below the total. A spreadsheet without duplicate checks and completeness controls can miss these errors. You may find them only when reconciling the run or hearing from a customer.
Reminders depend on one person remembering
Arrears are chased when someone has time, by WhatsApp from their own phone, from a list they keep in their head. When they're on leave, nobody is chased at all.
Only one person really understands the file
The formulas, the hidden columns, the colour codes - one person built them and one person can fix them. That's a risk to the business, and a heavy load on that person.
Nobody can say who changed what
A balance changed from 4,200 to 1,200. Was that a payment, a correction, or a typo? Without version history and a clear change record, you may not be able to explain it three months later.
Month end takes days
Building the bills, matching payments, chasing, fixing mistakes, rebuilding the summary for the committee. If the month closes on the 8th of the next month, the spreadsheet is setting your schedule.
What it is really costing you
The spreadsheet looks free. It isn't. The cost just doesn't show up as a line item. It shows up in two places: staff hours and money that slips through.
Illustrative scenario, not measured savings. Jay bills 400 households KES 500 each, or KES 200,000 a month. If administration takes 32 hours valued at KES 300 an hour, the time cost is KES 9,600. If a separate review establishes KES 8,000 of avoidable revenue loss, the combined exposure is KES 17,600 a month, or KES 211,200 a year. The loss is an assumption for this example, not a measured failure rate of spreadsheets or a promised saving from BillGrid. An unmatched payment already received is not lost revenue.
Your own numbers will differ. Work them out anyway:
- Hours at month end. Ask whoever does the billing to note the hours for one full cycle - building bills, matching payments, reminders, corrections.
- An hourly rate. Their monthly pay divided by working hours, or what you'd pay someone else to do it.
- The reconciled difference. Compare opening receivables, new charges, credits, write-offs and payments applied to reach the closing balance. Separate timing differences, advances, unmatched receipts and genuinely uncollectible amounts.
Compare realistic improvements with the subscription, setup, training, messaging and payment costs of a new tool. Some administrative work will remain.
What to look for in billing software
Moving off Excel only helps if the new system fixes the things that went wrong. Look for these, whatever you choose:
| Look for | Why it matters |
|---|---|
| One balance per customer | No more three versions of what Jay owes |
| Payments that match themselves | Pay-link and STK payments land on the right bill without anyone typing them |
| Statement import for your paybill and bank | Review external receipts and keep unresolved items visible |
| Bills run for everyone at once, with exceptions shown | Check completeness and exceptions before sending bills |
| Reminders on a schedule | Overdue reminders go out at set intervals, so chasing doesn't depend on one person's memory |
| A record of who changed what | Review who made a correction and its recorded reason |
| Your own paybill, untouched | The money goes to you, not through someone else |
| Your data out, any time | Check customer and account exports and what history they include |
BillGrid does each of these, and it's built for this exact move: you can import customers and accounts straight from a spreadsheet, using a sample file with the right columns, and the import tells you which rows it couldn't take and why.
A two-minute self-check
Tick each one that's true for you today:
| Question | Yes |
|---|---|
| More than one copy of the billing file exists | ☐ |
| At least one payment last month couldn't be placed | ☐ |
| A customer was billed twice or missed in the last three months | ☐ |
| Reminders only go out when one person sends them | ☐ |
| Only one person can fix the spreadsheet | ☐ |
| You couldn't say who changed a balance last month, or why | ☐ |
| Month end takes more than two working days | ☐ |
Use the checklist to start a review, not to produce a financial verdict. Frequent errors, weak controls or long closing times justify investigating a change, even with a small customer list.
Making the move without losing a month
The fear that keeps most operators on Excel is the switch itself - losing balances, confusing customers, a month of double work. It doesn't have to go that way. If you run a water scheme, we've written a step-by-step guide to moving your water billing off Excel without missing a cycle. The same planning principles apply to waste and invoicing: test the new workflow, reconcile movements up to an agreed cutover date and send only one live set of bills.
Whatever you bill for, start with the customer list you already have. That spreadsheet has done its job. It just doesn't have to do all of it anymore.
See how BillGrid handles invoicing, water billing and waste billing, or read why we built it.