If you freelance or run a side hustle, the hard part usually isn't doing the work. It's remembering who still owes you money. A simple invoice tracker in Google Sheets shows every unpaid invoice, flags the overdue ones in red, and tells you how much to set aside for taxes. Here's how to build one in about fifteen minutes.
Step 1: Set up the invoice log
Make a tab called Invoices with these headers in row 1:
| A: Invoice # | B: Client | C: Date sent | D: Amount | E: Terms (days) | F: Due date | G: Date paid | H: Status | I: Days overdue |
|---|---|---|---|---|---|---|---|---|
| 1001 | Acme Co | 10/01/2026 | 400 | 14 | ||||
| 1002 | Blue Cafe | 10/05/2026 | 250 | 30 | 10/20/2026 |
Format C, F and G as dates and D as currency.
Step 2: Calculate the due date
In F2:
=IF(C2="", "", C2+E2) Net 14 or Net 30 terms now turn into a real date you can sort by.
Step 3: Automatic status
In H2:
=IF(C2="", "", IF(G2<>"", "Paid", IF(TODAY()>F2, "Overdue", "Open"))) And how late it is, in I2:
=IF(H2="Overdue", TODAY()-F2, "") Drag both down your list.
Step 4: Make overdue invoices impossible to miss
Select A2:I200, then go to Format > Conditional formatting. Choose "Custom formula is" and enter:
=$H2="Overdue" Pick a light red fill. Add a second rule with =$H2="Paid" and a light green fill. Now one glance tells you who to follow up with.
Step 5: A small dashboard
Make a tab called Summary. In B2, total money still owed to you:
=SUMIFS(Invoices!D:D, Invoices!H:H, "<>Paid", Invoices!C:C, "<>") In B3, money that's overdue:
=SUMIFS(Invoices!D:D, Invoices!H:H, "Overdue") In B5, income actually received this month:
=SUMIFS(Invoices!D:D, Invoices!G:G, ">="&EOMONTH(TODAY(),-1)+1, Invoices!G:G, "<="&EOMONTH(TODAY(),0)) Step 6: Set aside money for taxes
Freelance income usually has no tax withheld. Put your set-aside rate in B6 of Summary (many people use somewhere around 25 to 30%, but check what fits your situation), then:
=ROUND(B5*B6, 2) where B5 is this month's received income. Move that amount into a separate savings account each month so a tax bill never surprises you.
Step 7: Income by client
Want to know which clients are worth the most? Below the dashboard, list each client name in column D (starting in D10), then in E10:
=SUMIFS(Invoices!D:D, Invoices!B:B, D10, Invoices!H:H, "Paid") Sort by that column and you can see where your money really comes from.
Done
That's a working freelance tracker: due dates from payment terms, automatic Open/Overdue/Paid status, red rows for late clients, monthly income and a tax set-aside number.
If you'd rather start from a finished sheet, I make templates as Financely Templates (disclosure: these are my products):


