When you go freelance, nobody hands you a system for tracking your business. Most freelancers start out with a combination of memory, email threads, and a vague sense of what's in their bank account — and it works until it doesn't. Tax time arrives, a client disputes an invoice, or you realize you have no idea which projects were actually profitable.
The good news is you don't need expensive software to fix this. Excel — or Google Sheets if you prefer — can replace a whole stack of paid tools for tracking income, expenses, invoices, clients, and time. Here's exactly how to set it up.
Before building anything, it's worth being clear on what matters. As a freelancer you need to track four things consistently: who owes you money and when, what you've been paid and from whom, what you've spent on your business, and how much time you've worked (if you bill hourly). Everything else is secondary.
Contact info, rates, and project history in one place
What's been sent, what's paid, what's overdue
Every payment received, organized by client and month
Business costs tracked and categorized for tax time
Hours logged by client and project if you bill hourly
Monthly profit, top clients, and year-to-date totals
Your client sheet is a simple reference list — one row per client — with everything you need to know about each one in one place. You'll reference this sheet from your invoice and income sheets using VLOOKUP so you never have to retype client details.
| Column | What to Enter |
|---|---|
| Client ID | A short unique code — use their initials or a number |
| Client Name | Company or individual name |
| Contact Name | Who you deal with directly |
| Primary billing contact email | |
| Rate | Your hourly or project rate for this client |
| Payment Terms | How many days they have to pay — 14, 30, 60 |
| Status | Active, Inactive, or Prospect |
| Notes | Anything worth remembering — preferred invoice format, slow payer, etc. |
Your invoice sheet logs every invoice you send — one row per invoice. The Status and Days Overdue columns update automatically so you always know your receivables at a glance without checking each invoice individually.
| Column | What to Enter / Formula |
|---|---|
| Invoice # | Sequential number — INV-001, INV-002, etc. |
| Client ID | From your Client sheet — drives VLOOKUP for name |
| Client Name | =VLOOKUP(Client ID, ClientTable, 2, FALSE) |
| Invoice Date | Date sent |
| Due Date | =Invoice Date + Payment Terms (from client sheet) |
| Amount | Total invoice amount |
| Amount Paid | Enter when payment received — 0 until then |
| Balance Due | =Amount - Amount Paid |
| Status | =IF(Balance=0,"Paid",IF(Due Date<TODAY(),"Overdue","Pending")) |
Keep your income and expenses on separate sheets within the same workbook so your summary sheet can pull from both automatically. The setup mirrors what we covered in our income and expense tracking guide — the key difference for freelancers is tracking income by client so you can see who your most valuable clients actually are.
Income sheet — key columns: Date, Client ID, Client Name (VLOOKUP), Project, Amount Received, Payment Method, Invoice # (reference back to your invoice sheet)
Expense sheet — key columns: Date, Vendor, Category, Description, Amount, Tax Deductible (Yes/No), Payment Method
Common freelancer expense categories worth tracking separately: Software & Subscriptions, Equipment, Home Office, Professional Development, Marketing, Accounting & Legal, Travel, and Meals (client-related only).
If you bill by the hour, a time tracking sheet prevents two very common problems — undercharging because you forgot to log hours, and disputes with clients who question your invoice. A simple log is all you need.
| Column | What to Enter |
|---|---|
| Date | Date the work was done |
| Client ID | Which client this time belongs to |
| Project | Specific project or task description |
| Start Time | When you started |
| End Time | When you finished |
| Hours | =End Time - Start Time (formatted as hours) |
| Billable? | Yes or No — not all hours get billed |
| Invoiced? | Yes or No — did this make it onto an invoice yet |
When it's time to invoice a client use SUMIFS to pull their unbilled hours automatically:
Your summary sheet pulls everything together — monthly income, expenses, profit, outstanding invoices, and your top clients by revenue. All automatic, all updating as you add new data to your other sheets.
Income this month:
Expenses this month:
Outstanding invoices total:
Revenue by client (repeat for each client):
Set aside for taxes (25% of net income — adjust for your rate):
Setting up this workbook takes a few hours the first time. But once it's done you have a complete financial system for your freelance business — no monthly subscription fees, no learning a new tool, and complete control over your own data.
More importantly you'll always know your numbers. Which clients are most profitable. How much you've earned this year. What's outstanding. What you owe in taxes. The difference between running a freelance business with this visibility and without it is significant — both financially and in terms of the stress that comes from not knowing where you stand.
If you'd like a custom freelancer workbook built for your specific situation — your clients, your billing structure, your expense categories — that's exactly what we do at HelpMyData.
Tell us how your freelance business works and we'll build a complete Excel system for tracking clients, invoices, income, expenses, and time — starting at just $75.
📧 Get Started Today