ElyxAI
business

How to How to Create Expense Approval Workflow in Excel

Excel 2016Excel 2019Excel 365

Learn to build a complete expense approval workflow in Excel using data validation, conditional formatting, and formulas. This tutorial covers creating submission forms, tracking statuses, and automating approval routing so teams can manage expense requests efficiently without external tools.

Why This Matters

Expense approval workflows reduce processing time, improve financial control, and eliminate manual tracking errors in organizations. This Excel-based solution is cost-effective and accessible to all team members.

Prerequisites

  • Basic Excel knowledge (formulas, filtering, and formatting)
  • Understanding of IF, VLOOKUP, and conditional logic
  • Familiarity with data validation and dropdown lists

Step-by-Step Instructions

1

Create the Expense Request Form

Open a new Excel workbook and create column headers: Employee Name, Department, Expense Date, Category, Amount, Description, and Status. Format headers with Home > Font > Bold and add borders via Home > Borders > All Borders.

2

Add Data Validation Dropdowns

Select the Category column cells and go to Data > Data Validation > List. Enter categories (Travel, Meals, Office Supplies) separated by commas. Repeat for Department and Status columns (Pending, Approved, Rejected).

3

Set Up Approval Logic with Formulas

Create an Approval Rules table listing departments and approval limits. In the Status column, use IF formula: =IF(Amount<=VLOOKUP(Department,ApprovalRules,2,0),"Auto-Approved","Pending Review") to auto-populate statuses.

4

Apply Conditional Formatting for Visual Status Tracking

Select the Status column, go to Home > Conditional Formatting > Highlight Cell Rules > Equal To. Create rules: Green for "Approved", Red for "Rejected", Yellow for "Pending Review" to instantly identify request statuses.

5

Add Approval Tracking and Summary Dashboard

Create a summary section using COUNTIF formulas: =COUNTIF(Status,"Approved"), =COUNTIF(Status,"Pending"), =SUMIF(Status,"Approved",Amount). Use filters via Data > AutoFilter to organize by employee or department for quick approval reviews.

Alternative Methods

Use Excel Power Query for Data Import

Import expense data from email or forms directly into Excel using Data > Get Data > From Other Sources. This eliminates manual data entry and reduces errors in large-scale workflows.

Implement Macros for Automated Routing

Create VBA macros to automatically send email notifications when approval statuses change. Use Developer > Visual Basic to write code that triggers on cell changes.

Leverage Microsoft Forms Integration

Use Microsoft Forms to collect expense submissions and automatically populate results into Excel sheets. This reduces manual entry and creates a complete audit trail.

Tips & Tricks

  • Use Department lookup tables to maintain consistent approval limits across all expense categories.
  • Protect your approval rules table with Data > Protect Sheet to prevent accidental modifications.
  • Create a separate 'Archive' sheet to move completed approvals for cleaner workflow management.
  • Add a timestamp column with =NOW() formula to track when requests were submitted.
  • Use freeze panes (View > Freeze Panes) to keep headers visible while scrolling through requests.

Pro Tips

  • Create a Manager Approval Dashboard that filters requests by department and auto-highlights items exceeding approval thresholds using nested IF statements.
  • Use SUMPRODUCT with multiple criteria to calculate total pending approvals by employee for better budget forecasting.
  • Implement a priority ranking system by adding expense urgency levels and sorting approvals dynamically with conditional formulas.
  • Build a drill-down feature using FILTER function (Excel 365+) to show detailed expense breakdowns when managers click department names.

Troubleshooting

VLOOKUP returns #N/A error in approval status column

Verify the department name matches exactly in both the lookup column and approval rules table (check for extra spaces). Use IFERROR wrapper: =IFERROR(VLOOKUP(...),"Check Department") to debug.

Conditional formatting colors not updating when status changes

Go to Home > Conditional Formatting > Manage Rules and ensure the formula references update dynamically. Recalculate the sheet with Ctrl+Shift+F9 to refresh formatting.

Data validation dropdown not appearing in new rows

Select the validation rule range and extend it to include new rows, or use a named range that auto-expands. Apply validation to extra blank rows preemptively.

Formulas calculating incorrectly after copying to new rows

Check that relative references are used for data cells and absolute references for lookup tables. Use F2 to edit and verify formula structure before copying.

Related Excel Formulas

Frequently Asked Questions

Can I automate email notifications when an expense is approved or rejected?
Yes, you can use VBA macros with Outlook integration or connect Excel to Power Automate for automated email workflows. Alternatively, use third-party tools like Zapier to send notifications based on cell changes.
How do I prevent unauthorized edits to the approval rules table?
Protect the sheet containing approval rules by going to Review > Protect Sheet and setting a password. Uncheck 'Edit Objects' and 'Edit Scenarios' to lock formulas while allowing data entry in submission rows.
What's the best way to handle multi-level approvals (e.g., Manager, Director, CFO)?
Create separate columns for each approval level (Manager Approval, Director Approval) with STATUS dropdowns. Use nested IF formulas to route requests based on amounts and department hierarchies.
Can I export approved expenses to accounting software automatically?
Yes, use Power Query to export filtered data to CSV or connect Excel directly to your accounting software via API. Alternatively, use Power Automate to push approved records to QuickBooks or similar platforms.
How should I organize historical expense data without slowing down the active workflow?
Move completed requests to an 'Archive' sheet monthly using cut/paste or Power Query. Keep only the current period's open requests in the main worksheet for better performance and easier filtering.

This was one task. ElyxAI handles hundreds.

Sign up