How to create a purchase request and expense approval system
Build a seamless approval flow for purchase requests and expenses, from submission to approval and budget tracking, all in one dashboard.

Automate your finance and procurement approvals
In this guide, you’ll build a purchase request and expense approval system that collects purchase details, routes them to managers automatically, and tracks every expense’s status and budget in real time. It’s ideal for finance teams, departments, or small businesses managing internal purchases.
📘 Learn more: Create your first form, app, or portal in a flash
Step 1 — Create your purchase request form
Start from your workspace and click + New → Form. You can start from scratch or choose the Approval Form or Expense Request template from the Template gallery.
If you’d like to move faster, use Magic Create, describe your need (e.g., “A form where employees submit purchase or reimbursement requests that auto-route to managers for approval”).
Why this matters: the purchase request form centralizes all spending requests, helping you capture accurate data from the start.
📘 Learn more: How to create a form
Step 2 — Add key purchase and expense fields
Include all essential data your finance team needs:
- Requester name and department
- Request date
- Expense type (purchase, reimbursement, subscription, etc.)
- Vendor name and contact
- Description of item/service
- Amount requested (currency field)
- Approval status (admin-only field: Pending → Approved → Rejected)
- Upload invoice or quotation (file upload)
💡 Tip: Use dropdowns for expense categories to standardize reporting.
📘 Learn more: Form editor and field types
Step 3 — Add logic for automatic routing and approval
Go to Settings → Advanced logic to define how requests are processed.
Examples:
- If Department = Marketing → Assign to Finance Manager A
- If Amount ≤ $500 → Auto-approve
- If Amount > $500 → Set Status = Pending Manager Approval
- If Expense Type = Subscription → Notify IT department for confirmation
Why this matters: smart logic automates internal approvals and enforces spending policies.
📘 Learn more: How to add advanced logic to your form
Step 4 — Automate approval notifications
Open Settings → Advanced logic or notify tab to set up automatic emails for every stage:
- To manager: when a new request is submitted and requires approval.
- To requester: once approved, rejected, or returned for revision.
- To finance team: when payment processing is required.
💡 Pro tip: personalize messages with field IDs like @requester_name, @amount, and @approval_status.
📘 Learn more: How to send and receive conditional email notifications
Step 5 — Track approvals with on-update logic
Use on-update logic to change approval status and trigger next steps when an approver edits or reviews the form.
Examples:
- When Approved → Send “Approved” email to requester + log timestamp.
- When Rejected → Ask requester for clarifications.
- When Paid → Update status = Completed.
📘 Learn more: What is on-update logic and how it works
Step 6 — Build your finance and manager dashboards
Go to your Results → Responses tab and visualize all requests in one place:
- Table view to filter by status or department.
- Kanban view grouped by Approval status for visual tracking.
- Charts showing total spend by category, department, or month.
Why this matters: dashboards make it easy to monitor budgets and approval patterns at a glance.
📘 Learn more: How to showcase charts based on form responses
Step 7 — Create a portal for team access and tracking
From your project, create a Purchase Requests Portal.
Add pages such as:
- Submit a request (public or team-only form)
- Pending approvals (for managers)
- Approved and completed expenses (for finance)
Set access roles:
- Employees can submit and view their own requests.
- Managers can approve or reject.
- Finance team can mark payments as completed.
📘 Learn more: How to create a portal and manage users’ access
Step 8 — Connect related forms for complete workflows
If you have separate forms (e.g., Purchase Request, Expense Reimbursement, Vendor Database), link them using linked rows so you can view all data together in your dashboard.
Example:
- Connect Expense Reimbursement form → Employee Directory to track spending per employee.
- Connect Purchase Request → Vendor Database to avoid duplicates.
📘 Learn more: How to connect forms with automatic data transfer
Step 9 — Enhance accuracy and reporting with AI
Activate AI Analyze to spot spending trends and generate quick summaries.
Examples:
- “Top 3 expense categories this month”
- “Average approval time by department”
- “Vendors with recurring payments”
📘 Learn more: Uncover insights and trends in your data with AI Analyze
Pro tips
- Add budget validation logic (e.g., If total expenses > budget → notify finance).
- Use PDF templates to generate and email expense approval documents automatically.
- Duplicate the workflow for different cost centers or departments.
📘 Learn more: How to generate custom PDFs using templates
Example scenario
An employee submits a request to purchase software. Because the total is under $300, the request is automatically approved. The finance manager receives an instant notification and marks the request as Paid. The requester gets an email confirmation, and the expense appears in the dashboard’s Approved column.
📘 Learn more: How to create an approval form
FAQ
- Can multiple managers approve the same request?
Yes, you can add multi-step logic or use on-update rules for tiered approvals. - Can requesters view their expense history?
Yes, enable login access in your portal so users can see only their own records.
📘 Learn more: How to let users view and edit their own data in your portal
Your approval system is live — now control your spend effortlessly
You’ve built a full purchase and expense approval system that runs automatically, from form submission to payment confirmation. Keep improving it by adding analytics, approval tiers, and automated summaries to stay on top of every expense.
📘 Learn more: Build personalized and time-saving flows with logic, automations, and AI
Last updated October 2025

.png)

.png)



