CatalogCompanies & SMBs ›Administration

Travel Expense Report — track expenses for reimbursement

Anyone traveling for work fronts costs for transport, meals and lodging that need to be reimbursed later: log each expense here with its category and a photo of the receipt, and the app keeps a running total for you. No more crumpled receipts at the bottom of a bag or a spreadsheet to fill in after the trip.

▶ Use this app

travel expense reportexpense reimbursementbusiness tripreceiptsexpense tracker

What it records

  • Description, e.g. Airport taxi, client dinner
  • Category...
  • Amount

How it works

This is a Reactive app: a plain text document that your browser turns into a working app — forms, live data, tables, statistics and even charts, with nothing to install or configure.

  1. Use it right away. Hit “Use this app”: it opens right in your browser, ready to go, with data saved only on your device.
  2. Your data stays yours. Everything is stored locally on your device, kept separate for each app: no account, no server, nothing to set up.
  3. Make it your own. The text below is the entire app: copy it, tweak fields, views and words, and your changes become interactive instantly.
  4. Share it as a file. An app is a simple file: save it, export it or share it with a link; and with encrypted collaboration several people edit the same data in real time.
The app’s source
# 🧳 Travel Expense Report

Anyone traveling for work fronts costs for transport, meals and lodging
that need to be reimbursed later: log each expense here with its category
and a photo of the receipt, and the app keeps a running total for you. No
more crumpled receipts at the bottom of a bag or a spreadsheet to fill in
after the trip.

::::form{path="expenses" id="fex"}
::input{form="fex" field="date" type="date" required="true" legend="Date"}
::input{form="fex" field="description" placeholder="Description, e.g. Airport taxi, client dinner" required="true"}
:::select{form="fex" field="category" placeholder="Category..."}
- Transport
- Meals
- Lodging
- Other
:::
::input{form="fex" field="amount" type="number" placeholder="Amount" required="true"}
::file{form="fex" field="receipt" accept="image/*" maxkb="300" legend="Receipt photo (optional)"}
::add-form{form="fex" path="expenses" label="Add expense"}
::::

## Logged expenses

The table is sorted by date; click a header to reverse the order. Search,
pagination and CSV export are already built in, and the attached receipt
shows as an image preview or a download button.

:::sort{path="expenses" field="date" order="asc" as="table" headers="Date,Description,Category,Amount,Receipt" deletable="true" editform="fex"}
{date} | {description} | {category} | {amount} | {receipt}
:::

**Total to reimburse: :sum[tot]{path="expenses" field="amount"}**

Handy for an employee back from a business trip who needs to submit a
report, a contractor billing out-of-pocket costs on an engagement, or
whoever handles reimbursements and just wants a clear list with amounts
and attached receipts.