Skip to content
getgriddy.ai/blog/how-to-build-an-expense-report-in-excel
Excel

How to Build an Expense Report in Excel

Build an expense report in Excel with the right columns, approval fields, receipt tracking, and formulas for clean reimbursement totals.

·5 min read

Reviewed by Griddy

Updated for current Excel and Google Sheets workflows, with examples chosen to map back to real spreadsheet tasks rather than abstract formula syntax.

An expense report in Excel should do one job clearly: show which expenses are being submitted, why they belong in the report, and how much should be reimbursed or approved.

It is different from a full expense tracker. The tracker records everything. The report packages a specific set of expenses for review.

Start with the right columns

A practical expense report should include:

ColumnWhy it matters
DateShows when the cost happened
Employee or ownerIdentifies who submitted the expense
VendorMakes the transaction recognizable
CategoryGroups travel, meals, software, supplies, or client costs
Business purposeExplains why the expense should be approved
AmountDrives the reimbursement total
Receipt statusShows whether support is attached
Approval statusSeparates submitted, approved, rejected, and paid rows

Keep the columns boring. Expense reports fail when the sheet is missing the fields a reviewer needs, not when the design is too simple.

Step-by-step example

Assume column A is Date, column B is Employee, column C is Vendor, column D is Category, column E is Business Purpose, column F is Amount, column G is Receipt Status, and column H is Approval Status.

Step 1. Enter one expense per row.

Do not combine a hotel, meal, and taxi into one line unless they were truly one transaction. Separate rows make approval, category totals, and receipt checks much cleaner.

Step 2. Add a total submitted amount.

fx
=SUM(F2:F50)

That returns the total amount in the report range.

Step 3. Add an approved total.

fx
=SUMIF(H2:H50, "Approved", F2:F50)

That totals only rows where the approval status is Approved.

Step 4. Add a receipt check.

If column G says whether a receipt is attached, count missing receipts:

fx
=COUNTIF(G2:G50, "Missing")

This is useful before the report is submitted because missing receipts are one of the easiest reasons reimbursement gets delayed.

TIP

Use controlled labels like Submitted, Approved, Rejected, and Paid instead of letting everyone type their own status wording.

Add category totals

Category totals help reviewers see what kind of spending is in the report.

For travel expenses:

fx
=SUMIF(D2:D50, "Travel", F2:F50)

Repeat the same pattern for meals, lodging, software, supplies, or client costs.

If the report is for a small business owner instead of an employee, the same structure can feed a small business expense tracker after the report is approved.

What not to include

Do not turn the expense report into a permanent accounting system.

Avoid adding every historical transaction, every vendor note, or every category rule into the report itself. Keep that detail in the tracker. The report should be narrow enough that a manager, client, or bookkeeper can review it quickly.

The Griddy way

Building expense reports by hand is repetitive because the same columns, categories, receipt checks, and approval totals show up every time.

"Create an expense report from these transactions for Alex's March client travel, include receipt status, and total only approved rows"

Griddy can create the report structure, add the formulas, and keep the submitted view separate from the full expense log.

Skip the manual work

Describe it. Griddy does it.

Instead of writing this formula yourself, just tell Griddy what you need in plain English. Works in Excel and Google Sheets.

Use this on real templates

Turn expense rows into a cleaner approval workflow

Expense reports work best when submitted costs, business purpose, receipt status, and approved totals stay visible in one focused review sheet.

Finance