Expense Audit Template for Google Sheets (Free, Audit-Ready)
An expense audit is rarely a surprise. It arrives as a Revenue or HMRC letter, an accountant’s year-end request, or a note from a client demanding proof of costs before they pay that invoice. The question is the same every time: “Show me this expense actually happened, belonged to the business, and was recorded correctly.”
For small businesses and freelancers, expenses are where audits bite hardest. Invoices get filed, but receipts live in a shoebox, a camera roll, or a folder called “misc”. A tax authority will accept that some records are imperfect. What kills a claim is having no record at all, or a total that does not tie to the bank statement.
This post gives you a free, audit-ready expense template for Google Sheets. It is a CSV you import into a blank Sheet, three tabs that do the work, and a short checklist to run before any deadline. Every part of it is designed around one principle: a figure that cannot be traced to a source document is a figure you cannot defend.
What Auditors Actually Check on Expenses
Before the template, it helps to know what the check is looking for. Auditors and tax inspectors test expenses against five standard assertions:
- Occurrence. The expense actually happened. Evidence: a receipt or invoice from the supplier.
- Completeness. Every expense is recorded, none quietly left out. Evidence: the total ties to your bank statement.
- Classification. Each cost is in the right category and the right tax treatment. A client lunch and a laptop are not the same line.
- Cut-off. The expense is recorded in the right period. A December invoice should not appear in January’s sheet.
- Authorization. The spend was approved under your policy. For a solo founder that policy is “did you mean to buy this”, for a team it is an approval record.
Notice that four of the five are proven or at least supported by the source document. That is why the template’s core column is not the amount, it is the link to the file.
The Template: Three Tabs
The template has three tabs. You only need to import the first one; the other two are short and easy to build from the instructions below.
- Expenses. One row per expense. This is where your data lives and where Sheetminer writes if you use it.
- Audit Log. A dated record of checks performed on the expenses, with pass/fail results and the reviewer’s name.
- Checklist. The pre-audit readiness list from the end of this post, ticked and dated.
Tab 1: Expenses (import this CSV)
In Google Sheets, open a blank spreadsheet and go to File → Import → Upload, then select this CSV (or copy the block below and paste it into row 1; Google Sheets splits pasted CSV into columns automatically).
Date,Vendor,Category,Description,Net,Tax,Total,Payment,Source,Type
2026-07-02,Circle K,Fuel,Diesel for site visit,48.20,9.64,57.84,Business card,https://drive.google.com/file/d/1aBcDeFgHiJkLmNoPqRsTuVwXyZ/view,PDF
2026-07-05,Cloudwise Software,Software,Annual hosting renewal,180.00,36.00,216.00,Bank transfer,https://drive.google.com/file/d/2bCdEfGhIjKlMnOpQrStUvWxYaZ/view,PDF
2026-07-08,Harbour Bar,Meals,Client lunch - project kickoff,34.50,6.90,41.40,Business card,https://drive.google.com/file/d/3cDeFgHiJkLmNoPqRsTuVwXyZb/view,JPG
2026-07-11,OfficeHub,Office supplies,Printer toner and paper,29.99,6.00,35.99,Personal card,https://drive.google.com/file/d/4dEfGhIjKlMnOpQrStUvWxYZac/view,JPG
2026-07-14,GlowWifi,Utilities,Broadband - July,53.00,10.60,63.60,Direct debit,https://drive.google.com/file/d/5eFgHiJkLmNoPqRsTuVwXyZbd/view,PDF
2026-07-17,GreenBooks,Subscriptions,Accountancy software annual,240.00,48.00,288.00,Bank transfer,,PDF
2026-07-21,McNally Print,Marketing,500 flyers for trade show,95.00,19.00,114.00,Business card,,JPG
The columns are:
- Date (A), Vendor (B): who and when.
- Category (C): keep this matching your tax return headings (fuel, software, meals, office supplies, utilities, subscriptions, marketing).
- Description (D): enough for a stranger to understand the purchase.
- Net (E), Tax (F), Total (G): net exclusive of VAT, tax amount, and the real total paid. Total must equal Net plus Tax.
- Payment (H): how it was paid, so you can match it to the bank statement.
- Source (I): the Drive link to the receipt or invoice PDF/JPG. This is the column that wins audits.
- Type (J): PDF, JPG, PNG, or scanned file, so you can see at a glance what evidence exists.
The Formulas That Make It Audit-Ready
Three formulas turn a list into a defensive document.
Status column (K). Paste this into K2 and drag down:
=IF(OR(ISBLANK(I2),I2=""),"MISSING SOURCE","OK")
Every row without a source link is flagged. Filter column K for “MISSING SOURCE” and you have your to-do list, no need to scroll for gaps.
Cross-foot check. The total column must equal net plus tax across every row. Paste this anywhere:
=IF(ROUND(SUM(E2:E1000)+SUM(F2:F1000),2)=ROUND(SUM(G2:G1000),2),"OK","MISMATCH")
It should read OK. If it reads MISMATCH, some row’s Total does not match its Net and Tax, exactly the kind of thing that draws audit questions.
Missing source count. Track your gap to zero:
=COUNTIF(K2:K1000,"MISSING SOURCE")
Conditional formatting (optional but worth it). Select I2:I1000, go to Format → Conditional formatting, choose “Custom formula is”, and enter =ISBLANK(I2). Set a red fill. Now missing sources jump out without any filtering.
Tab 2: Audit Log
An audit log documents that you actually checked the work, with dates and a name. Columns: Ref, Item, Check performed, Result, Evidence, Reviewed by, Date reviewed. Example rows:
- EX-001 | Fuel 02/07 | Occurrence: supplier receipt exists and total matches row | Pass | Source link + bank statement line 42 | James Mealy | 2026-07-25
- EX-002 | Whole sheet | Completeness: every bank statement expense appears in sheet | Pass | Statement reconciled 02/07 to 21/07 | James Mealy | 2026-07-25
- EX-003 | Cut-off | December invoices recorded in December, not January | Pass | Sampled 10 rows, dates correct | James Mealy | 2026-07-25
Three dated rows beat a verbal “yeah we checked”. If an auditor asks who reviewed the expenses and when, the tab answers directly.
The Honest Shortcut: Don’t Type This by Hand
The template assumes your expenses end up in the sheet. How they get there is your call, and it is the difference between a 20-minute audit prep and a weekend of data entry.
Manual entry works at low volume. At 30 receipts a month, copying vendor, date, and amount is a chore but survivable. The problem is the Source column: linking each row to its file by hand is where the process dies, because it is tedious, easy to skip, and impossible to verify later. A sheet full of amounts with no source links is the shoebox, digitized.
Sheetminer closes that loop. It installs as a Google Sheets add-on, reads PDFs, photos, and scans of receipts and invoices, and writes Date, Vendor, Net, Tax, and Total into your columns, with each value keeping a live reference back to the source file. Click any cell, run source lookup, and the original document opens with the field highlighted. That is the Source column, filled without the manual part, and it is the same mechanism auditors are actually satisfied by: every figure traceable to a document.
Sheetminer is free to try: 100 credits every month, no credit card required. The template works perfectly well without it, the add-on just removes the part nobody enjoys. If you want to see the full extraction workflow, our guide on extracting invoice data from PDFs walks through each step.
Pre-Audit Checklist (Run This Before Any Deadline)
Work top to bottom. Anything left unticked is a risk, so tick honestly.
- Every expense row has a source file linked in the Source column. Zero rows flagged MISSING SOURCE.
- Net plus Tax equals Total on the whole sheet (cross-foot reads OK).
- Every expense row appears in the bank statement, and every statement expense appears in the sheet.
- Categories match the headings you will use on your tax return.
- Personal and business expenses are separated (mark mixed-use card payments clearly).
- Capital items are split out from day-to-day expenses (a €1,200 laptop is not a stationery line).
- Cut-off is checked: this period’s invoices are in this period.
- The Audit Log is updated with the date and reviewer name.
- A copy of the Sheet and the source file folder is backed up somewhere safe.
That is a defensible position, and it takes most of an afternoon the first time. The second time, with a source-linked sheet maintained as you go, it takes minutes.
Related Reading
- How to Build an Invoice Audit Trail in Google Sheets: the same source-tracing principle applied to supplier invoices.
- How to Extract Invoice Data from PDFs into Google Sheets: the step-by-step extraction workflow behind an audit-ready sheet.
- DataSnipper Alternative for Google Sheets: how source tracing works in Sheets compared with desktop audit tools.