Expense report form

An expense report form is where an employee asks to be reimbursed for money already spent — distinct from a purchase requisition, which asks for approval before spending. The form is the claim itself: who is claiming, when they spent it, what category it belongs to, the amount, and a receipt so you have proof. The reimbursement — the actual payment — happens through your payroll or accounting system, outside the form.

The form beside this text is live. Fill it in and submit it — it validates exactly as it would for a real respondent, and saves nothing.

Numeric amounts are validated in the browser

The amount field is a number type, not text, so "five dollars" or "50-75" is rejected before the claim is sent.

Send each claim onward as it arrives

Add a webhook or Slack destination and each claim is delivered the moment the employee submits, in addition to appearing in your dashboard and exporting to CSV.

Build this form for free

This one uses file uploads, which is a paid feature — you can build and edit it on the free plan, but saving it needs an upgrade.

No card required.

Expense Report

Live preview

How to build this form

5 steps in the editor.

  1. Add a text field for employee name and an email field so you know who submitted the claim.
  2. Add a date field so the expense is tied to a specific day, not a vague "sometime last month".
  3. Add a select for expense category — travel, meals, supplies, other — so the claim is sortable by type.
  4. Add a number field for the amount, so text like "about fifty" never reaches your records.
  5. Add a required file upload for the receipt, so claims never reach you without proof.

Fields in this form

7 fields, using 7 of the 19 field types available.

QuestionField typeRequired
Employee nameShort textYes
EmailEmailYes
Date of expenseDateYes
CategorySelectYes
AmountNumberYes
DescriptionLong textYes
ReceiptFile uploadYes

What goes wrong with this form

Specific to a expense report form, not general advice about forms.

Treating the form as automatic reimbursement

The form collects the claim only. Someone still has to review, approve and pay through your payroll or accounting system — do not promise employees instant payment through the form.

Accepting amount as free text

Use a number field. Free text produces "about fifty" and misspellings you then have to interpret before the amount reaches your records.

Skipping the receipt requirement

Mark the file upload as required. A claim without a receipt creates disputes about what was bought and for how much — enforcing it at form time is faster than chasing missing files later.

Questions about this form

Is this the same as a purchase requisition form?

No. A purchase requisition is filled out BEFORE someone buys something — approval before payment. An expense report is filled out AFTER spending — a reimbursement claim asking your company to pay back money the employee already spent.

Does the form actually reimburse the employee?

No. The form collects the claim and exports it to CSV or sends it to Slack. Your accounting or payroll team then reviews and processes the reimbursement through your normal payment system.

Why require a receipt upload?

Receipts are proof. Requiring one at submission eliminates back-and-forth emails, and if a receipt is missing you can ask the employee to resubmit rather than keeping an incomplete claim on file.

Build this form for free

This one uses file uploads, which is a paid feature — you can build and edit it on the free plan, but saving it needs an upgrade.