Back to work
n8nCase study

Multi-Tier Expense Approval Workflow

Expense approval workflow that processes form submissions, normalizes and classifies expenses, validates required fields, routes non-senior-review expenses directly to approval and ledger, sends senior-review expenses to Slack alert and pending review before ledger, logs missing-field submissions to error log with admin Slack alert, and catches API failures with a Slack admin report.

n8n · workflow canvasproduction build
Multi-Tier Expense Approval Workflow workflow

Context

A finance team needed a structured multi-tier expense approval process that separates standard expenses from those requiring senior review, keeps clear audit logs in Google Sheets, and ensures admins are notified when submissions are incomplete or when API failures occur.

Approach

Built a two-part n8n workflow system with a Google Sheets expense intake trigger and a separate API failure error trigger. The main flow normalizes and classifies the expense, validates required fields, branches on whether senior review is needed, routes non-senior-review expenses to the approval tab and master ledger, sends senior-review expenses to a Slack alert and pending review sheet before ledger entry, logs missing-field submissions to an error log with an admin Slack alert, and posts Slack failure reports for API errors.

Architecture

Workflow 1
  1. Expense Form Submission (Google Sheets)
  2. Set: Normalize & Classify Expense
  3. If: Required Fields Present?
  4. No: Sheet: Log Missing Fields to Error Log + Slack: Missing Fields — Admin Alert
Yes
  1. If: Requires Senior Review?
  2. Yes: Slack: Review Required — Senior Advisor
  3. Sheets: Log to Pending Review
  4. Sheet: Append to Master Ledger (Pending)
No
  1. Sheets: Append to Approve Tab
  2. Sheet: Append to Master Ledger. Workflow 2: Error Trigger: Catch API Failures
  3. Slack: Post API Failure to Admin

Results

Days → same-dayApproval cycle time
~4 hrs/weekFinance admin time saved
0%Incomplete submissions reaching approvers