refitted.dev
Automation

How to Automate Expense Approvals in Google Sheets

·7 min read

Why Expense Approvals Break Down in Most Small Businesses

Expense management sounds simple in theory. An employee spends money on behalf of the company, submits a receipt, and someone approves it. In practice, the process usually looks like this: an employee emails a photo of a receipt to their manager, the manager forgets to respond, the employee follows up on Slack two days later, the manager verbally approves it, nobody records it anywhere, and at the end of the month the finance person spends half a day reconstructing what happened from scattered email threads and bank statements.

This is not a technology problem. It is a workflow problem. And you do not need expensive procurement software to fix it. A Google Sheet with some thoughtful automation can handle expense approvals for teams of up to 20 people without any monthly subscription fees.

In this guide, we will build a complete expense approval system in Google Sheets using Apps Script. By the end, you will have a sheet where employees submit expenses, managers approve or reject them with one click from their email, and monthly summary reports generate automatically.

What a Fully Automated Expense System Looks Like

A well-built expense approval system in Google Sheets does not feel like a spreadsheet. It feels like dedicated software — except it costs a fraction of the price and your team already knows how to use it. Here is what the experience looks like for everyone involved.

For the Employee

Submitting an expense takes 30 seconds. The employee fills in a simple form — date, amount, category, a short description, and a link to the receipt. The moment they submit, they get a confirmation email. No wondering whether it went through. No need to follow up. The system handles it from here.

When their expense is approved or rejected, they get another notification with the outcome. Full visibility, zero chasing.

For the Manager

Managers never have to open the spreadsheet. When an expense is submitted, they receive an email with all the details — who submitted it, how much, what category, and a link to the receipt. Two buttons: Approve or Reject. One click, and the system records the decision, updates the sheet, and notifies the employee. The whole interaction takes under ten seconds.

If a manager forgets to act on an expense, the system sends a reminder automatically. Expenses never sit in limbo because the automation enforces follow-through.

For Finance

Finance gets the best part: automated reports. At the end of each month, a summary report lands in their inbox — total expenses by category, by employee, by department. Approval rates, average processing time, month-over-month comparisons. No more spending half a day pulling together numbers that should have been automated from the start.

The system also sends real-time alerts when individual expenses exceed a threshold or when department spending approaches its budget limit. Problems surface early, before they become surprises.

The Building Blocks Behind the Scenes

Under the hood, the system uses several layers of automation working together:

  • Structured data capture: The sheet is designed with standardized categories, validated inputs, and auto-generated timestamps to keep data clean from the moment it enters the system.
  • Event-driven notifications: When a new expense appears, the right approver is notified instantly. When a status changes, the right person is informed. Nothing requires manual intervention.
  • One-click approval workflow: Approvers respond directly from their email without ever opening the sheet. The system processes their decision, records it with an audit trail, and cascades the appropriate updates.
  • Scheduled reporting: Monthly summaries, weekly digests, and budget alerts all run on automated schedules. The reports build themselves from live data.
  • Data integrity safeguards: Protected columns, validated inputs, and script-enforced permissions ensure that the data stays reliable even with multiple people using the system simultaneously.

Building all of this requires careful Apps Script development — handling triggers, email formatting, concurrent editing, security, and edge cases. It is not a weekend project for most teams, which is why many businesses choose to have it built for them.

Common Challenges With DIY Expense Automation

If you are considering building this yourself, be aware of the technical hurdles that trip up most people:

  • Email quotas: Google limits how many emails Apps Script can send per day. A poorly designed system can hit this limit quickly, especially with larger teams.
  • Concurrent editing: When multiple employees submit expenses at the same time, scripts can collide if they are not designed to handle concurrency properly.
  • Security: Approval links sent via email need to be secured so that only the intended approver can act on them. Without proper token management, the system is vulnerable to unauthorized approvals.
  • Maintenance: Sheet structures change, team members come and go, and edge cases appear over time. The automation needs to be robust enough to handle real-world messiness.

When to Upgrade Beyond Sheets

This setup works extremely well for teams of up to 15 or 20 people processing a few dozen expenses per month. You should consider dedicated expense management software (like Expensify, Brex, or Ramp) when your team exceeds 30 people, when you need corporate card integration, when you need OCR-based receipt scanning at scale, or when regulatory compliance requires more granular audit trails than Sheets provides.

But for the vast majority of small businesses, an automated Google Sheet is the perfect middle ground — powerful enough to enforce a real workflow, simple enough that everyone on the team already knows how to use it, and affordable enough that it costs nothing beyond the initial setup time.

Let Refitted Build It for You

If you want this system but do not want to build it yourself, this is exactly what we do at Refitted. We build custom automated Google Sheets systems for finance teams — expense approval workflows, budget trackers, cashflow forecasts, and more. You tell us how your approval process works, and we build a sheet with all the automation baked in. Your team gets a system that works from day one without learning a single line of code.

Keep Reading

Need this built?

We build custom websites, web apps, and automated Google Sheets systems. Tell us what you need and we'll handle the rest.

Get Started