Build an Expense Reimbursement Form With AI Policy Checks
Reimbursement requests usually arrive as a text, a photo and a question about when the money comes. In this free lesson you build an expense reimbursement form for Maple Street Bookkeeping in Lovable and connect it to n8n. An AI agent checks each request against the policy, logs it in Google Sheets and emails the employee the status.
What you will build: an expense reimbursement form with an AI backend
The front end is a clean web form built in Lovable from a written prompt, with no coding. It is titled Expense Reimbursement Request and has four fields: Name, Email, Expense details and Amount. When someone submits it, the form sends the data to an n8n webhook.
The back end is an n8n workflow: a webhook trigger, an AI Agent with an OpenAI model, a Google Sheets tool, a Gmail tool and a Respond to Webhook node. The agent reads the request and picks one status from the policy: Approved, Needs receipt or Needs manager OK. It saves the request as a row in a sheet called Expense Requests and emails the employee the status and what to do next. In the test, an employee asks for $64.18 for printer toner and says the receipt is lost, so the agent marks it Needs receipt.
Who this is for
This is for office managers, bookkeepers and owners at small businesses who handle employee reimbursements by hand. If you are the person who hears did you get my receipt? every week, a simple form plus an automatic first check saves you the back and forth. You do not need to code. The earlier lessons in this section help, but the lesson walks you through every click.
To follow the lesson you need nothing but a browser. Everything happens in a practice copy. To build it for real afterward you need a Lovable account, an n8n account, an OpenAI API key with a little credit, and a Google account for Sheets and Gmail. Have your written reimbursement policy handy, even if it is only a few lines, because the agent can only check what you give it.
Step by step: what you do in the lesson
- Build the form: sign up for Lovable, start a project, paste the prompt describing the reimbursement form and build the app.
- Webhook trigger: start an n8n workflow with an On webhook call trigger set to answer through a Respond node.
- AI Agent: add the agent, define its prompt manually with a template that pulls name, email, expense and amount from the webhook, and paste the system message with the policy.
- Chat model: connect OpenAI with your API key and pick gpt-5-mini.
- Sheets tool: create a spreadsheet named Expense Requests with the headers Name, Email, Expense and Amount, sign in with Google, pick the sheet and map all four columns.
- Gmail tool: add Gmail and sign in so the agent can email the employee.
- Respond node and publish: add Respond to Webhook, then publish the workflow.
- Add the secret: copy the production webhook URL and save it in Lovable as the N8N_WEBHOOK_URL secret.
- Test the form: fill it with test data, submit it and check the new row in the spreadsheet.
The reimbursement policy the agent checks
The whole policy lives in a short system message. Needs receipt if the employee says there is no receipt or does not mention one. Needs manager OK if the amount is $100 or more. Approved if it is under $100, with a receipt and a clear business purpose. After that the agent saves the request to the sheet and emails the employee in a friendly, brief way, with no tax advice.
These rules and the $100 limit are examples for the lesson. Replace them with your own policy, such as a per-diem limit or a rule for mileage, and the agent follows the new wording.
Why it works
The form makes every request arrive in the same shape, so nothing is buried in a text thread. The agent handles the first check the same way every time, and the employee hears back right away instead of waiting for you to get to it. The sheet gives you one list of every request, and the Respond node lets the form confirm the submission.
Common reimbursement headaches this avoids
- Requests with no receipt. The agent catches it on submission and tells the employee what to send, instead of you finding out weeks later.
- Large amounts slipping through. Anything at or above your limit is marked Needs manager OK, so the right person sees it.
- No record of who asked for what. Every request becomes a row in Expense Requests with the name, email, expense and amount.
- Employees left waiting. The status email goes out right away, so fewer people ask did you get my receipt?
How to use this at your business
Treat the AI status as a first check, not the final approval. You or a manager still approve the payment, and the Needs manager OK status is there to make sure that happens for larger amounts. Before rolling it out, add your real policy, send a few test requests of each kind, and read the emails the agent writes. Keep receipts in the place your accountant expects, and have them decide how reimbursements are treated in your books.
Frequently asked questions
- Can AI approve expense reimbursements?
- It can do a first check against a written policy and tell the employee what is missing. In this lesson a person still makes the final decision and pays the reimbursement.
- Is this lesson free?
- Yes, Stepthrough is completely free. To build it for real you need your own Lovable and n8n accounts, an OpenAI API key and a Google account. Some of these tools cost money for real use.
- Can employees upload a receipt photo?
- Not in this version. The form has four text fields, and the employee says in Expense details whether they have a receipt. Adding uploads is a good next step once the basic flow works.
- Do I need to know how to code?
- No. Lovable builds the form from a written prompt and n8n is visual. You paste the prompts and click through the setup.
- How does the interactive lesson work?
- Each step is shown to you first on the left (Watch). Then you do it yourself in a practice copy on the right (Your turn), and every click is checked. If you get stuck, press Do it for me. It is a practice copy, so no real accounts are touched.
More in AI Automation for Finance
Build a Custom GPT that follows your collections policy and writes polite, firm payment reminder emails for overdue invoices. Free, step by step, no code.
Free · Live
◷Build an AI Agent That Categorizes Business ExpensesBuild an n8n AI agent that sorts business expenses into categories, writes a short note for each and saves them to Google Sheets. A free, step-by-step lesson.
Free · Live