Google Sheets is the strongest of the free DIY invoicing options. It calculates like Excel, is accessible from anywhere like Docs, and — with one extra tab — can double as a basic record of what you have billed and what you have been paid.
Here is how to build it, including the formulas that make it hold together.
Prefer not to build a spreadsheet?
Automatic totals, tax and sequential numbering, with no setup at all. Free PDF invoices.
Key takeaways
This is what turns a template into something useful:
The Log tab is where you get the thing no template gives you — an answer to “what am I owed right now?”
| Purpose | Formula |
|---|---|
| Line amount (row 18) | =IF(B18="","",ROUND(C18*D18,2)) |
| Subtotal | =ROUND(SUM(E18:E37),2) |
| Tax | =ROUND(E39*$D$41,2) |
| Total due | =E39+E41 |
| Due date from terms | =B12+$D$13 (D13 = terms in days) |
| Next invoice number | ="INV-"&TEXT(YEAR(TODAY()),"0000")&"-"&TEXT(MAX(Log!A:A)+1,"000") |
That last formula is the useful one. It reads the highest invoice number from your Log tab and increments it, which eliminates the duplicate-number problem that plagues Word and Excel invoicing.
| Purpose | Formula |
|---|---|
| Total outstanding | =SUMIF(F:F,"Unpaid",E:E) |
| Overdue amount | =SUMIFS(E:E,F:F,"Unpaid",D:D,"<"&TODAY()) |
| Days overdue | =IF(F2="Paid","",MAX(0,TODAY()-D2)) |
| Highlight overdue | Conditional format: =$G2>0 → red fill |
Or let the tool handle it
Sequential numbering, tax, totals and a clean PDF — free, with nothing to set up.
Sheets exports badly by default. Fix it once:
Those settings persist per sheet, so you only do this once.
Data → Protect sheets and ranges → protect the formula cells (E column, totals block) while leaving description, quantity and rate editable. Without this, the first time you paste a client address into the wrong cell you will overwrite a formula and not notice for three invoices.
For most people the honest answer is that Sheets is the right tool for the first year, and the log tab is what tells you when you have outgrown it — when reconciling it starts taking longer than the invoicing did. See invoice generator vs invoicing software.
For a small volume, yes — it is the strongest free DIY option because it calculates, is accessible anywhere, and can track receivables on a second tab. It stops being adequate when reconciling the log takes longer than producing the invoices.
Keep a log tab with invoice numbers in column A, then use =”INV-“&TEXT(YEAR(TODAY()),”0000″)&”-“&TEXT(MAX(Log!A:A)+1,”000”) on the invoice tab. It reads the highest existing number and increments it.
Select the invoice range, File → Print, choose Selected cells, fit to width, turn off gridlines and notes, then export. The settings save per sheet so you only configure it once.
Yes — a log tab with a status column plus SUMIF formulas gives you total outstanding and total overdue. Conditional formatting on days-overdue makes late invoices visible at a glance.
Create an invoice in seconds
Free, browser-based, with numbering and totals handled automatically.