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):