Expense Report Template Google Sheets: Templates and Setup

An expense report template Google Sheets copy supports shared claim review when you check imported formulas, permissions and approval fields before entering records.
Expense Report: public sample
Fields from the original workbook. Filled rows are fictional examples; blank fields are for your records.
Reporting amounts use USD in this worked example. Dates use YYYY-MM-DD.
| Date | Supplier | Purpose | Category | Claimed amount | Receipt ID | Status | Approved amount | Report ID | Claimant | Project |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026-01-15 | Example rail | Client meeting | Travel | 80 | R002 | Approved | 80 | REP001 | Example claimant | P1 |
| 2026-01-16 | Example lodging | Client trip | Travel | 100 | R006 | Approved | 100 | REP001 | Example claimant | P1 |
On this page8
Import the supplied XLSX into a private Google Sheets file. Check the worked approval total and negative advance balance before entering real claims. Restrict editing to the intended people and recheck protection after conversion. Approval fields record decisions made by your business; they are not an identity check or automatic signature service. Keep supporting receipts under separate private access.
Make your expense report template Google Sheets copy
Use File and Import to bring the local XLSX into Sheets, then save the converted file. The pack supplies no hosted copy link. Start with the worked version so you can compare a known result before real claim data enters the file.
Inspect sharing on both the file and its folder. A restricted document can still have inherited access that is broader than you expect. Agree who enters costs, who reviews them and who records settlement. Those jobs need not all have the same edit rights.
Check fields after import
The Expense Report tab holds cost date, supplier, purpose, category, claimed amount, receipt ID, status, approved amount, report ID, claimant and project. Keep the claim and approval columns distinct. An approver should not erase the original request just to show the accepted figure.
Check numeric amounts and dates after import. A currency symbol in a text string is not the same as a number with currency formatting. Choose a clear date display, then inspect the underlying date if the period totals behave oddly.
Confirm the report calculation
In the worked example, the report REP001 has approved lines of 80 and 100. Their total is 180. The entered advance is 200, so the remaining balance is minus 20. The interpretation is a return of 20 to the business.
Change the selected report only in a copy used for checking. Confirm that lines with another ID do not appear in the first report's total. Also inspect the approval status: a draft approved amount beside a Submitted line is not the same as a completed approval.
Use permissions and status for their real jobs
Protected ranges can limit accidental changes to formulas. They do not hide visible claim data from someone who can view the file. Store sensitive documents elsewhere and grant access only to those who need the evidence. Avoid placing bank details in a shared report.
Status fields are editable records of the process. They do not prove who performed the action. If your business requires stronger identity, audit or sign-off controls, use a system that meets those needs. Do not rename a typed status as a verified approval certificate.
Export the reviewed record
Save a reviewed copy when the report is complete. Keep the payment reference in the settlement record. If a line changes after approval, preserve the reason and the reviewed version that supported the earlier decision.
A CSV export of one tab loses formulas and the rest of the workbook. It can be useful for transferring checked rows, but retain the Sheets record or an XLSX backup as well. Open the exported rows and compare report IDs, dates and amounts before importing them elsewhere.
FAQ: shared expense reports
Can everyone use one shared file?
Only if the business is comfortable with what each person can see. Filtering a sheet is not a privacy boundary. If claimants should not see one another's records, use separate files or a suitable controlled workflow. Check folder access as well as file access before adding private report or receipt information.
Do protected cells create approval controls?
They help control editing but do not provide a full approval system. The decision still needs a reviewer and a traceable process. Record who approved the amount, when and on what evidence. Use stronger controls if your policy requires them rather than treating spreadsheet protection as identity verification or a digital signature.
Why does the balance show a negative number?
The formula subtracts the advance already paid from the approved total. A larger advance creates a negative balance. In the fictional example, 180 minus 200 is minus 20. Preserve that result and record the return process. A negative balance is useful information, not an amount to hide with a zero.
Can I keep receipt links in the sheet?
You can store private references or links if access is controlled. Test that reviewers can open the evidence and that unintended viewers cannot. Avoid using a public sharing link merely to make access easier. A readable receipt ID can connect the report to a private folder without exposing the document in every copy.
Sources and checks
Checked 15 October 2026. The examples are fictional and the arithmetic is original.
- IRS records: Business recordkeeping and supporting documents.
- Excel SUMIFS: Official multiple-criteria sum syntax.
- Sheets SUMIFS: Official Sheets multiple-criteria sum syntax.
- IRS books: Publication 583, December 2024 edition, Recordkeeping System section.
Related records and guides
Verdict on the expense report template Google Sheets copy
Use the expense report template Google Sheets copy when shared review fits your access requirements. Verify the import, preserve separate claim and approval fields, and keep payment as a separate recorded action.
Keep the worked file beside your records
Compare the fictional example with the blank fields before starting.