Introduction

Employees in a professional-services firm need one place to submit expenses, group them into weekly reports, and track payment status through finance, and the prompt shows how to build an expense management app with ToolJet MCP as a structured ToolJet application, with data, queries, and interface working together. You get the finished internal app for expense submission, manager review, and reimbursement tracking, instead of a screen mockup or a loose code drop. The same structure keeps operational state visible as claims move from draft to payout, and the prompt in this article is what you can reuse for your own team. That matters when policy checks, approvals, and payment status have to stay visible as work moves.

Build an expense management app with ToolJet MCP, the finished application — ExpenseSheet

ExpenseSheet

What We’re Building

The first page opens with a title and purpose line, then keeps the action surface compact with summary tiles, spending visuals, and a needs-attention panel. A segmented control switches between the claim list and the report list, and each row opens in a modal so the canvas stays focused on one task. The second page follows the same pattern for decision work. You review submitted reports in an inbox, inspect line items inside a modal, and watch reimbursement status in a separate queue while the policy reference stays nearby. The review modal keeps the approval history visible during the decision, so the page reads like an operations console rather than a pile of tables.

  • Compact employee workspace with action-oriented summary tiles, spending visuals, and a needs-attention panel
  • Segmented claim and report view so only one table is on screen at a time
  • Modal-based expense detail and line-item review without crowding the canvas
  • Manager and finance review flow with approval history visible in context
  • Policy reference table and reimbursement queue kept close to the decision flow
Expense Reimbursement Management walkthrough

Build an expense management app with ToolJet MCP in two pages

Want to build it yourself? Start with the ToolJet MCP repository for setup instructions, supported agents, and everything you need to follow along.

The Consolidated Build Prompt

The real build took several passes, and the requirements are consolidated here into one prompt that could have been used from the start. You can feed this version straight into the same workflow and reproduce the application in one shot.

Build a polished internal app called Expense & Reimbursement Management in ToolJet.

Keep it to two pages, Expense Workspace and Approvals & Finance. Expense Workspace should open with a page title and one short purpose line, then a compact action band with four useful summary tiles, a spend chart, an expense status chart, a needs-attention panel, and a segmented area that switches between personal expenses and weekly reports, with row detail opening in modals. Approvals & Finance should show an approval inbox, a review modal for line-by-line decisions, a reimbursement queue, and a company policy reference table.

Design it as a dense but clean enterprise operations app with light surfaces, restrained accents, compact rows, clear hierarchy, and status colour used only where it adds meaning.

Use seven related tables in ToolJet DB: employees, policies, expenses, weekly_reports, report_expenses, approvals, and reimbursements. Keep report membership separate from the expense row, and keep approval decisions in a permanent record so partial approval and review history stay explicit.

Expense submission must enforce policy limits, require a bill when the policy says so, support per-type fields for travel, meals, mileage, accommodation, training, client entertainment, internet, and office supplies, and prevent double submission. Managers can approve a whole report or send back individual items, employees can reopen returned work, and finance can advance reimbursement through its states while every approval decision is visible in the review flow.

How ToolJet MCP Builds the App

ToolJet MCP works through the whole application, so the data model, pages, components, queries, and the wiring between them land as one structured ToolJet application. Enterprise app building does not stop at the interface, because data connectivity, workflows, permissions, deployment, and ongoing change are part of the runtime where supported, not a separate codebase you have to operate yourself. That keeps the path open from AI generation to visual editing, and then into code when a field, rule, or workflow needs finer control.

Data Created

The app ended up with seven tables. exp_employees stores the people and their approvers, exp_policies holds reimbursement rules, exp_expenses records each claim, exp_weekly_reports groups claims by week, exp_report_expenses links reports to lines, exp_approvals keeps the decision trail, and exp_reimbursements tracks payment progress. That split keeps report membership separate from the expense row, which is what makes partial approval and later payment updates stay clear.

Page Components What they cover
Expense Workspace 33 Four KPI tiles, spend and status charts, a needs-attention panel, segmented expense and report tables, and three modals for submission, detail, and report creation
Approvals & Finance 26 An approval inbox with five filters, a KPI strip, a reimbursement queue, a policy reference table, and three modals for review, reimbursement, and policy detail

Build Results

The agent produced two pages, seven ToolJet DB tables, 23 queries, and 59 components. The tables below show what landed in the app.

Metric Value
Pages 2
ToolJet DB tables 7
Queries 23
Components 59
Prompt iterations 2
Code files to maintain 0

Enterprise Features for Your Expense Management App

An expense app handles payroll data, receipts, and approval chains. ToolJet covers that governance at the platform layer, so you configure it once instead of rebuilding it in every app.

  • SSO and SCIM: Sign in with SAML, OIDC, or LDAP, and provision users automatically.
  • Role-based access control: Scope permissions to the app, the data source, and each query.
  • Audit logs: Track every login, edit, and approval decision for compliance review.
  • Air-gapped deployment: Self-host on Docker or Kubernetes so finance data stays in your network.
  • Multiplayer editing: Several builders work on the same app, with versioning and Git sync.

ToolJet Workflows adds the notification layer. One workflow fires when a weekly report is submitted, posts to the manager in Slack, emails the employee through Gmail, and writes the decision back to exp_approvals.

Final Takeaways

This build shows an employee creating an expense, bundling it into a weekly report, a manager reviewing the lines, and finance carrying the reimbursement through to payment status. The output is a real ToolJet application on a mature runtime, so you keep editing the same pages and queries after generation instead of taking ownership of generated code. That matters because the data model, workflow, and review trail stay tied together, and the same app can remain mostly visual while still dropping into code when a case needs it.