A spreadsheet is the natural starting point for anyone who starts reselling Hetzner servers. You add a row per client, columns for the server spec, monthly price, renewal date, and a paid/unpaid flag. It takes twenty minutes to set up and works immediately.
The problem isn't that Excel is a bad tool. The problem is that billing isn't a static list — it's a living process with state changes, edge cases, and time pressure. And spreadsheets have no memory, no automation, and no way to enforce consistency when things get messy.
This article is about where exactly the Excel billing model breaks down for Hetzner resellers, and what a practical migration out looks like.
What Excel billing actually looks like at 30+ clients
Most resellers running billing in a spreadsheet end up with something like this every month:
- Open the spreadsheet, find clients due this month by scanning the renewal date column
- Open your invoicing tool (or Word/Google Docs template), create invoice for client 1
- Email invoice manually, update "sent" column in spreadsheet
- Repeat for every client due this month — 20, 30, 40 times
- Check bank statements for incoming transfers, match them to rows in the spreadsheet
- Update the "paid" column; follow up with clients who haven't paid
- Adjust renewal date in the spreadsheet for next month
- Hope you didn't miss anyone
At 15 clients this takes maybe 2–3 hours a month. At 40 clients it's a part-time job. At 80 clients you're either spending a full day on it or things are slipping.
The four places where Excel billing breaks
1. Renewal dates drift
A client asks to move their billing date. You update the spreadsheet. Three months later you forget the column was manually adjusted and the formula that auto-calculates next month's due date is now wrong. Or the client pays two weeks late, and you don't update the renewal date, so next month they get an invoice a week early. Or you just miscalculate and miss a month entirely.
Renewal date tracking in a spreadsheet is entirely dependent on whoever maintains it being meticulous, every time, with no mistakes. That's not a system — that's discipline, and it fails eventually.
2. A client disputes an invoice
A client emails you saying they were charged €85 this month but they thought the price was €70. You need to reconstruct: what was agreed, when, and what changed. In a spreadsheet, there's no history. You have the current price in the cell. What it was six months ago, when it changed, and why — gone unless you kept notes somewhere else.
Invoice disputes are the moment you discover your billing has no audit trail. A billing system keeps a full history of every invoice, every payment, and every change. A spreadsheet keeps only the current state.
3. Overdue payments pile up invisibly
In Excel, "overdue" means you remember to check. There's no automatic flag that turns a row red when payment hasn't arrived by day 10. There's no automated reminder email to the client. There's no dashboard showing you that 4 of your 45 clients haven't paid this month. You find out when you manually review the sheet — or when a client mentions it in another context.
4. Custom pricing creates hidden state
You give client A a 15% loyalty discount. You note it in a comment in the cell. Six months later you're on holiday, a colleague handles billing, and the comment is invisible. Client A gets charged full price. They're unhappy. You apologize. You've now spent 30 minutes on a problem that a billing system with per-client pricing rules would have prevented automatically.
The real time cost you're not counting
The most visible cost of Excel billing is the monthly invoicing ritual. But there are quieter time costs that don't show up as obviously:
- Client inquiries. "Can you resend my invoice for March?" — you open the spreadsheet, find the client, find the invoice in your email, forward it. Five minutes, multiplied by however many clients ask this per month.
- Payment reconciliation. Matching bank transfers to client rows, especially when transfer descriptions are vague or wrong. More time than it should be.
- End-of-year accounting. Your accountant asks for all invoices and payments for the year. You export a spreadsheet, dig through email for PDF invoices, compile a folder. Hours.
- New client onboarding. Adding a new client, setting up their first invoice, remembering to add them to next month's billing cycle. Small tasks that each take minutes and occasionally get forgotten.
None of these individually feels significant. Together, they add up to real hours every month — hours that could run at zero with a billing system that handles them automatically.
Before and after: what actually changes
- Invoice each client manually every month
- Track payments by checking bank statements
- Send reminders manually when you remember
- Answer "where's my invoice?" emails yourself
- No history when a client disputes a charge
- Renewal dates drift when clients pay late
- Discount agreements live in cell comments
- End-of-year accounting is a manual project
- Invoices generated automatically each cycle
- Payment status updated on receipt or confirmation
- Reminders sent automatically before and after due date
- Clients log in to the portal and download their own invoices
- Full invoice and payment history per client, always
- Renewal dates managed by the system, not manually
- Per-client pricing rules stored and applied automatically
- All invoices exportable by date range in one click
Getting out: the migration is simpler than it looks
The main reason resellers stay in Excel longer than they should is the perceived cost of switching. In practice, the migration from a spreadsheet to a proper billing system is a one-time investment of a few hours — not a project.
Here's what the process actually looks like:
- Export your client list. Name, email, billing address, VAT number if applicable. A rough CSV from your spreadsheet is enough to start.
- List your services and prices. What servers do you resell, at what price, to which client. Per-client overrides if they exist.
- Set up payment methods. Stripe if you take card payments; your bank details for transfer clients.
- Run one billing cycle in parallel. Keep the spreadsheet as backup, send invoices through the new system, verify everything matches.
- Move fully. Archive the spreadsheet. The billing system is now the system of record.
The migration itself takes a few hours. The time you get back — every month, indefinitely — is the return on that investment. At 40 clients saving 3 hours/month, you break even in the first month.
The one thing that makes migration harder is importing historical invoice data. If you need a complete history of past invoices in the new system, that takes more time. If you're comfortable with a clean start — past data stays in the archived spreadsheet — the switch is fast.
Why BillOps for Hetzner resellers coming out of Excel
BillOps is built specifically for the transition from manual billing to a proper system — without requiring you to configure an enterprise platform to get there.
For a Hetzner reseller migrating out of Excel, here's what matters most:
- We handle the setup. On the Early plan and above, basic setup is included — we import your client list, configure your service catalog, and connect your payment methods. You don't spend a week learning the system before you can send your first invoice.
- Per-client pricing is first-class. Every rate, discount, or custom price you had in a cell comment gets stored as a proper pricing rule. Applied automatically, every cycle, with no chance of being overlooked.
- Bank transfer tracking works properly. If most of your Hetzner clients pay by SEPA transfer, BillOps handles it — manual payment confirmation, overdue tracking, reminder emails — not just Stripe webhooks.
- Client portal from day one. Your clients get a login where they can download any invoice themselves. "Can you resend my invoice?" emails drop to near zero immediately.
- Full invoice history. Every invoice ever issued, every payment received, every status change — logged. When a client disputes a charge, the answer is three clicks away.
- Your data stays yours. The system runs on your infrastructure. Export everything at any time, no lock-in.
BillOps Lite starts at €19/month — for resellers who want a self-hosted system and handle their own server layer. Early plan at €99+VAT includes assisted setup, client import, and 2 dev hours/month for ongoing adjustments. No upfront cost, free basic setup on Early and above.
If your Hetzner reseller billing is still living in a spreadsheet — and you've felt the cracks starting to show — this is the practical way out. Not an enterprise overhaul. Just a system that does the billing work your spreadsheet was never designed to do.
Done with the spreadsheet?
Tell us how many Hetzner clients you have and how you invoice today. We'll show you what the migration looks like and what BillOps does for your specific setup. No commitment required.
Talk to us about your setup