Stowe is a tiny desktop app that tracks the medical expenses you paid out-of-pocket so you can reimburse yourself from your HSA later — months or decades from now. Your data lives on your computer. Nothing you store is sent to a server. The app listens on localhost (127.0.0.1) only, and every asset it loads, including the chart library, is bundled with it.
Why Stowe
The IRS lets you reimburse yourself from your HSA years after the expense — but only if you can still produce the receipt. Stowe keeps that proof in one tidy place.
Stowe is local-first by design. No Stowe account, no cloud, no telemetry. The database is a single SQLite file you fully own.
Snap a photo, drop a PDF, or upload a scan. Stowe reads it on-device, links it to the right expense, and keeps the audit trail intact.
Export one year, or every expense, as a CSV — date, merchant, category, amount, whether it was reimbursed and when, receipt count, receipt filenames, and notes. Or download a zip of the database and the receipt files.
A look inside
No dashboards you'll never look at. Four pages: log, review, pull, export.
Every expense in one running list, the receipt one click away — now with an HSA-eligibility badge on each entry.
Drop a photo or PDF and Stowe reads it — pre-filling the merchant, date, and amount before you even type.
Reimburse a lump sum from your HSA and split it across the receipts it covers.
Per-year totals, with a CSV of that year's expenses.
New in v0.7.0
Attach a receipt and Stowe reviews it for you — entirely on your computer, no cloud. It reads the receipt, fills in the details, and gives an advisory HSA-eligibility hint.
On a Mac, Apple Vision reads photos and scans. Embedded PDF text is pulled straight out on every platform. Nothing — not the image, not the text — ever leaves your computer.
The Add screen pre-fills the merchant, date, and amount from the receipt. It only fills blanks, so anything you've typed stays put.
A badge — likely eligible, review suggested, or unlikely — plus the items it matched. Advisory only, and every hint points you to IRS Pub 502.
Changed a receipt or added a better scan? Re-run the review from the expense manager with one click and the hint updates.
Install
Stowe 0.8.0 is available for macOS and Windows. Use the DMG, the Windows installer, or run from source if you'd rather see the code.
Stowe-0.8.0.dmg.
The app keeps your database at ~/Library/Application Support/Stowe/.
Stowe-0.8.0-windows-setup.exe.%LOCALAPPDATA%\Programs\Stowe\.
Your data lives at %LOCALAPPDATA%\Stowe\. An older %APPDATA%\Stowe\ folder is moved there automatically.
This installer isn't code-signed yet, so Windows may say Windows protected your PC. Click More info, then Run anyway. SHA-256: 41ab676291edc32e3b7260b90996a31f60113b8d57ee18ff0c9e3bf406aed3b0.
Requires Python 3.10+.
git clone https://github.com/Conkay1/Stowe.git cd Stowe python3 run.py
run.py installs Python dependencies from PyPI, then opens the app in your browser on 127.0.0.1. The server listens on localhost only and is not reachable from other devices.
FAQ
On macOS the app keeps two things: a SQLite database at ~/Library/Application Support/Stowe/database/stowe.db and your receipt files at ~/Library/Application Support/Stowe/receipts/. On Windows both live in %LOCALAPPDATA%\Stowe\. An older %APPDATA%\Stowe\ folder is moved there automatically. To back up, copy that folder. To wipe everything, delete it.
The app listens on localhost (127.0.0.1) only, so other devices on your network cannot reach it. Receipts, expenses, and account details stay on your computer. There is no Stowe account, no analytics, no auto-update, and no telemetry. Every asset the interface uses, including the Chart.js chart library, is bundled and served by that local server. Opening the app does not fetch scripts, fonts, or stylesheets from the internet.
Versions before 0.8.0 accepted connections from other devices on the local network and loaded the chart library from a CDN. Update to 0.8.0 on macOS and Windows.
Running from source makes run.py install Python dependencies with pip, which contacts PyPI. That install step is not part of the packaged app. The interactive API docs at /api/docs and /redoc are disabled, so the app does not load Swagger UI, ReDoc, or their CDN scripts and fonts.
It's entirely on your computer. On a Mac, Stowe reads photos and scans with Apple Vision; on every platform it pulls text out of a PDF. A small rule-based classifier then suggests whether the items look HSA-eligible. No receipt, image, or extracted text ever leaves your computer. The eligibility badge is an advisory hint, not tax advice — every result points you to IRS Publication 502.
No catch. Stowe is open source under MIT and built as a personal project. It will likely stay small — "do one thing well" is the goal, not "become the Expensify of HSAs."
Yes. Download Stowe-0.8.0-windows-setup.exe from the v0.8.0 release. On Linux, you can run from source today.
Copy the Stowe data folder anywhere — iCloud Drive, Dropbox, an external drive. On a Mac that folder is ~/Library/Application Support/Stowe/. On Windows it is %LOCALAPPDATA%\Stowe\ (an older %APPDATA%\Stowe\ folder is moved there automatically). The SQLite database and the receipts both back up cleanly. To restore, copy the folder back. The Annual Ledger can also download a zip of the database and receipt files.
No — Stowe is a record-keeping tool, not tax advice. Consult IRS Publication 969 and a tax professional for what qualifies as a reimbursable medical expense.
Whatever you didn't back up is gone. That's the trade-off for keeping nothing in the cloud. Drop the data folder inside iCloud Drive or Dropbox to get cross-machine backup without giving up local-first.