Drop a receipt into ChatGPT or Claude, log mileage in a sentence, and get an expense report your finance team will actually accept, with no app and no spreadsheet. Your manager approves with one click.
In one paragraph: ExpenseOS Agent is a free app in ChatGPT’s directory and a connector in Claude’s. It files receipts from photos, PDFs or a plain sentence, prices a described drive at the IRS mileage rate for the day you drove, and builds the report as a PDF with a receipt appendix plus Excel (XLSX), CSV and a QuickBooks-ready CSV. Then it emails your approver a one-click approve link, and they need no account, then tracks your reimbursement until the money lands. It is a standard Model Context Protocol (MCP) server with 17 tools. Free, with no company account and no credit card.
Already using it? View your reports →
The ledger widget
Every tool answers with a live widget inline — not a wall of text. Tap Make my report and the PDF lands seconds later.
Ledger · by monthA faithful mock of the real widget — connect the app and yours looks exactly like this.
Why in-chat matters
Traditional expense tools make you leave the conversation, open another tab, and retype everything the receipt already says. MCP removes all of that.
Drop a receipt photo and it’s read, coded and stored — original image included. Say “office to the Hartford client and back” and the mileage computes itself at the current IRS rate.
Every report is an audit-ready PDF with a receipt appendix and cross-referenced line items, plus Excel, CSV and QuickBooks-ready files your finance team can ingest without a re-key.
Your manager gets the report by email with a secure approve link — no account needed. You track the money from chat: “how long have I been owed?”
The output
All four of these, every time, on the report page and on your dashboard. You never pick a format up front, and you never rebuild a report because finance wanted a spreadsheet.
The report itself, with a receipt appendix. Every line cross-references its receipt image, so an approver or an auditor can check a charge without asking you for anything.
The same report as a spreadsheet, for finance teams who re-cut the numbers.
A frozen line-item export for any system that ingests plain files.
QuickBooks Online's own bank-import format, so the report goes into the books without a re-key.
Mileage
Yes, and it works out the distance for you. Describe the drive and ExpenseOS routes it server-side, then applies the rate that was in force on the day you drove.
Two rates, one year. That mid-year change is exactly why this should not be left to a language model: asked for “the IRS rate”, a model answers confidently from training data and is wrong for roughly half of 2026. ExpenseOS looks it up. More on logging mileage in chat →
17 tools, one conversation
Everything below is a plain sentence away, with no commands to memorise. Only the first works before you sign in; the rest act on your own ledger.
get_capabilitiesExplains the agent. The one tool that works before you sign in.my_accountYour saved approver, employee ID, department, cost centre and receipt policy, so nothing gets asked twice.add_receiptSaves a receipt from a photo, PDF, screenshot or a plain sentence, keeping the original image for the audit trail.my_receiptsThe unsubmitted ledger, grouped by trip or by month, with totals.log_mileageTurns a described drive into a mileage expense. The distance is routed server-side and priced at the IRS rate for the date you drove.update_expenseCorrects an expense already in the ledger, or attaches a receipt image to one that was missing it.delete_expenseRemoves an unsubmitted expense.my_dashboardThe whole picture in one card: unsubmitted total, money owed to you, and every report with its status.recall_reportPulls a sent report back for editing. The approver's link stops working immediately.delete_reportDeletes a draft. Its expenses go back to the ledger rather than being destroyed.set_my_expense_rulesSaves your approver, employee ID, department, cost centre and whether your company requires a receipt for everything.import_my_historySeeds the ledger from an expense spreadsheet you paste in as CSV.make_my_expense_reportBuilds the report and every file version of it. Scope it to a trip, a month or a date range.submit_my_reportEmails your approver the report with a one-click approve button, valid for 14 days. They need no account.email_my_reportSends the files to you, your accountant or an accounts-payable inbox, with no approval link attached.mark_reimbursedCloses a report as paid and stops its days-owed counter.my_reimbursement_statusEvery report's state, with a counter for how long you have been waiting.Get started
Free, passwordless, and your first report is usually done the same coffee break.
Google or a six-digit email code — no password to invent. A personal email is fine to start.
Or just describe the expense. When you’re ready: “make my expense report.”
Prefer manual setup? Add this URL as a custom connector in Claude, or search “ExpenseOS” in ChatGPT’s Plugins: https://mcp.purafi.ai/mcp
Questions
Yes, and it stays free. Receipts, mileage, reports, PDF and Excel exports, one-click manager approval and reimbursement tracking are all included at no cost, with no credit card. The paid ExpenseOS platform is a separate product for companies; it adds instant reimbursement the moment a report clears policy.
No. You can start on your own, today, with a personal email address. Your approver does not need an account either. They get an email with a one-click approve button and never sign in anywhere.
Yes. It is listed in ChatGPT's app directory under Business & Operations, still under its former name "PuraFi Expenses" while that is updated. Add it, sign in once, then drop receipt photos into the chat and ask for your report. ChatGPT renders your ledger and the finished report as cards you can act on.
Yes. It is in Claude's connector directory: Settings, Connectors, Browse, then search for "PuraFi Expenses", which is the name the listing still carries. You can also add it by hand as a custom connector using the server URL, since it is a standard Model Context Protocol server.
Yes, and it works out the distance for you. Describe the drive in a sentence and ExpenseOS routes it server-side with a mapping service, then applies the IRS standard mileage rate for the date you drove, including 2026's mid-year rate change. It never asks the model to guess a distance or recall a rate.
Four, every time: a PDF with a receipt appendix, an Excel (XLSX) workbook, a CSV, and a QuickBooks-ready CSV in QuickBooks Online's bank-import format. All four are on the report page and on your dashboard.
They get an email with the PDF attached and a one-click Review and Approve button, valid for 14 days. They do not need a ExpenseOS account, an app, or a login. If you sent it to the wrong person or spotted a mistake, you can recall the report and the link stops working immediately.
Then use ExpenseOS to build the report and email the files to yourself instead of routing them for approval. You get the PDF, Excel, CSV and QuickBooks files, and you file them however your employer wants. Plenty of people use it purely to stop keeping receipts in a shoebox.
Expensify's MCP server is read-only and needs an Expensify account. Its own documentation says it provides read-only access through a Search tool and cannot approve reports, edit expenses, reimburse payments or manage workspace settings, so you still file the report inside Expensify. ExpenseOS's agent is where the report is created: it captures the expense, builds the files and sends the approval email, and you do not need a corporate expense platform at all.
Your ledger, reports and receipt images are stored per account for as long as you keep the account. You can download everything as a ZIP whenever you like, and permanently delete your account and every file in one click.
Go deeper