Skip to main content
Expense

Changelog

What changed in Expense

What changed in the app, newest first, grouped by date. Each entry is something a person using the app can see or do: a capability that did not exist, a fix for something that was wrong, a change to something that already worked. The same list is published as markdown at /changelog.md, so a model reading this site can see what changed and when.

Newest first. The entries are the changes a person using the app can see, not the plumbing behind them. The last group is a summary: the nine days of building that followed the first commit on 2026-07-30.

    • FixedPressing ? now shows the G E keycap above the logo, the control that goes back to the expenses page.
    • FixedA file can be dropped anywhere on the page, not only over the content area: dropping in the margins used to hand it to the browser instead.
    • ImprovedThe warranty editor saves with Cmd+Enter and leaves with Escape, like the expense editors, and its Delete button asks first in the same dialog.
    • NewThe home page plays a short demo of the app filing a receipt: the drop, the fields read from the PDF, and the expense on the list.
    • NewThe new Warranties page tracks expiry dates, reads warranty terms from uploaded receipts and PDFs, and reminds you before coverage ends.
    • NewWarranty terms prefill from a curated merchant policy when the merchant matches, and the prefilled terms stay editable.
    • FixedMerchant warranty and return policy details were corrected, including the Costco return windows and Mattress Firm claims.
    • NewConfirmation emails show the receipt image inline, so you can check the scan without opening an attachment.
    • NewThe Email page lets you turn off a sender for your workspace without deleting the shared rule, and restore it later.
    • NewYou are emailed when a connected mailbox needs reconnecting because its login stopped working.
    • FixedEmails stranded by a crashed import are retried instead of being left behind.
    • NewYou can connect any JMAP mail server as a receipt source, not only Gmail and FastMail.
    • NewInsights adds a money checkup of year-to-date findings linked to the rows behind them, and charts for totals, categories and top merchants.
    • NewThe alternatives comparison now says whether each competing app imports receipts from a mailbox, with a source for each claim.
    • NewA new product facts page covers capture methods, Schedule C lines and pricing.
    • FixedClosing or reopening a report from the Reports page now updates the report you clicked.
    • NewA support page at /support gives you one address to write to, and what to include.
    • NewInsights questions can be stopped mid-answer with a Stop button, and the ask box grows to fit questions of up to five lines.
    • NewSettings lets you change your sign-in email, change your password and close your account.
    • FixedEmail connections whose receipt catch-up fails are now flagged in Settings as needing attention.
    • ImprovedBank statements can be dropped anywhere on the reconcile page, not just the upload box, and it takes CSV and PDF files.
    • ImprovedExpense lists, expense details and receipt images all load faster.
    • FixedInsight totals and breakdowns are summed to the cent, and a receipt captured twice is reported as a duplicate.
    • NewThe Insights chat can log a purchase or a drive you describe: it prices the trip and files the amount and currency you confirm.
    • NewMileage trips now default to one way with a round trip option, and you can save named places in Settings to reuse as trip stops.
    • FixedChanging your password now signs out your other sessions and revokes access for connected apps.
    • NewInsights understands plain time ranges such as this month or last quarter and sizes the chart and totals to them.
    • NewExpense search accepts after: and before: dates, or since: and until:, to filter by a date range.
    • ImprovedFollow-up questions in Insights can be narrowed by date, category, report, type, or merchant.
    • FixedInsights answers now know today's date, so questions about now give the right answer.
    • FixedThe Insights ask box clears after each question, and Enter while an answer is in flight no longer resubmits it.
    • NewThe Insights ask box is now a conversation: each question joins a transcript and is answered from your own totals.
    • FixedAsking Insights about AI spending no longer pulls in hosting and other infrastructure.
    • NewA new Insights page charts your expenses over time, lists the matches in a table, and takes a filter you can type in plain English.
    • NewSearch takes bare amount comparisons and ranges, so >100, <=50 or amount:100-110 narrow the list on the home page and in Insights.
    • NewSearch knows shorthand (from:, store:, cat:, in:) and everyday words (food, gas), and completes values as you type.
    • NewSettings has an Emails section where you can unsubscribe, and every marketing email carries a one-click unsubscribe link.
    • ImprovedThe app, marketing pages and sign-in screens share a new palette: warm paper in light mode and green-tinted graphite in dark mode.
    • FixedReceipts forwarded from a verified address or redirected inside Fastmail are now imported instead of rejected as unverified.
    • NewGmail and Google Workspace can be connected as a mailbox, so Expense pulls receipts from Gmail the way it does from Fastmail.
    • FixedThe landing page no longer crashes in browsers that block cookies.
    • NewA /schedule-c-categories page explains each IRS Schedule C expense line in plain language.
    • NewA /mileage-rates page lists the IRS standard rates for business, medical, moving, and charitable driving.
    • FixedTimestamps in email review, reconcile, settings, and the email list now show your local timezone.
    • FixedForms and the home navigation fit small screens instead of overflowing.
    • NewA /connect page walks you through connecting an MCP client, with per-client steps and copy buttons.
    • NewYou can rotate a receipt left or right in the editor, and the rotation is saved.
    • FixedThe previous/next buttons in the expense editor now follow the same order as the main expense list.
    • NewIn-page browser agents can read expenses, expense summaries, and reports from the app.
    • FixedReport PDF exports no longer fail when the report name contains non-ASCII characters.
    • NewConnecting FastMail no longer means pasting an API token: you sign in with FastMail instead.
    • FixedReceipt confirmation emails are sent again for FastMail accounts.
    • NewThe landing page shows how many of the first 100 free accounts have been taken.
    • NewForeign-currency receipts convert to USD at the ECB reference rate for the expense date, keeping the original amount and rate.
    • NewExpense search filters on report:, category:, merchant:, and description:, suggests known values, and shows an exact total.
    • ImprovedEmail review scans the last 90 days of your inbox instead of the 50 most recent messages.
    • ImprovedBank notification emails no longer land in auto-import, but charge alerts stay available in inbox review.
    • FixedA receipt you import twice, by any route, no longer becomes a second expense, and a failed import retries once.
    • NewBank charge alerts that an imported receipt already covers are skipped on the email review page and listed for reference.
    • FixedExporting a report as PDF no longer fails.
    • NewConfirmation emails include the original receipt: the body text quoted, or the image or PDF under its original filename.
    • FixedReceipts that arrive by email keep the sender's local date instead of moving to the next day.
    • NewA Cmd+K command palette adds keyboard navigation, expense search, new-expense shortcuts, and report PDF export.
    • NewSign-up now offers a Connect FastMail button that skips the verification email, and there is a password reset flow.
    • NewA new email review page lists receipt-like emails from a connected mailbox, so each one can be turned into an expense or ignored.
    • ImprovedApple receipts now name the app or subscription plan in the expense.
    • NewPDF bills with a text layer in a connected mailbox are imported automatically instead of being skipped.
    • ImprovedRecurring billers such as Shopify, Conservice, Spectrum, and Verizon are recognized as receipts out of the box.
    • FixedDate defaults and the future-date check now use your local day.
    • FixedInbox scanning no longer stops at a batch of already-seen emails, so newer bills behind them are imported.
    • NewConnecting a FastMail account imports its receipts automatically, moves them to Trash, and sends you a confirmation email.
    • ImprovedExpense descriptions from email receipts now include the receipt number, so you can tell which email it came from.
    • ImprovedExpenses imported from a connected mailbox are parsed locally, without sending your mail to an LLM.
    • NewForwarding a receipt and getting the reply now use one address, receipts@labnotes.org, and replies are sent from the app's mailbox.
    • NewEmailed receipts are picked up the moment they arrive instead of on a scheduled check.
    • FixedA confirmation reply that fails to send is retried once, so senders don't re-forward the receipt and duplicate the expense.
    • NewThe confirmation reply for an emailed receipt now includes the receipt image and the description read from it.
    • NewExpenses can be dated in the future, on the web editor and through MCP.
    • ImprovedSigning in locks for 15 minutes after five failed attempts.
    • FixedAn expense with only a receipt image is no longer counted as complete, and mileage expenses now need a category.
    • NewThe expense list shows each expense's description, not just its date and distance.
    • NewYou can drop a receipt file on the expense editor to replace the image and re-read its fields.
    • FixedExcel bank statements whose date column uses real date formatting now import instead of skipping those rows.
    • NewEmailing or forwarding a receipt now gets a confirmation reply naming the amount and report, with the report's new count and total.
    • NewThe Reports page lists open and closed reports with their counts and totals, and you can add, rename, close, reopen and delete them.
    • NewExpenses in a closed report are read-only, with the editor fields disabled and the Save button hidden.
    • NewThe app follows your system dark mode setting, including the marketing pages and the map.
    • FixedThe app no longer answers messages from its own inbound address, which caused an endless email reply loop.
    • NewReceipts arrive as a photo, a dragged file or a PDF, with the merchant, amount and category read from the image.
    • NewForward a receipt email to your own address and it becomes an expense, once the sender confirms a verification link.
    • NewAccounts with signup, invite-code joining and isolated data; signing in requires confirming your email first.
    • NewMileage trips are mapped stop to stop, priced at the IRS rate for the drive's date and type, and drawn on a map in the report PDF.
    • NewReports hold the year's expenses and export as a PDF with the receipts attached or a ZIP with the images and CSV.
    • NewReconcile matches an uploaded card statement (CSV, Excel, QuickBooks, OFX/QFX, PDF) against the expenses you logged.
    • NewAssistants connect over MCP to capture receipts, log mileage, read expenses and build reports.
    • NewThe expense list searches by merchant, description, category, amount or mileage address, and flags possible duplicates.
    • ImprovedThe app works with a keyboard or a screen reader: landmarks, labeled sections, focus held in dialogs, announced messages.

Free while it is early.

The first 100 accounts, no card. Everything on this page is already in them.