To be budgeted
$0.00
- Housing $6,000
- Groceries $3,600
- Savings $2,500
- Transport $1,200
- Utilities $900
- Fun $800
- Health $700
- Rainy day $500
- Subscriptions $270
Every dollar has a place.
Envelope budgeting you run yourself: open source, works offline on your phone and on your desk, and reads transactions from screenshots (Apple/Google Wallet, your banking app).
How envelopes work.
- Income lands in one place: to be budgeted.
- You deal it into envelopes until that reads zero.
- Spending comes out of envelopes. Unspent money carries over; overspend is covered from another.
The same budget on a desk (three panes from 1280px) and on a phone. It installs from the browser, no app store, and every screen works offline.
Try it
A live demo, not a video: tap an envelope, add an expense on the numpad, and watch the budget, the list and the reports move together. It plays a short sequence on its own until you touch it.
Don't retype it. Drop in a screenshot.
- Add screenshots from your banking app or a PDF statement. Enveo recognizes the transactions, skips duplicates and proposes envelopes.
- You check every row before it is saved. Correct one once, and on the next import Enveo proposes the same choice for that merchant.
- You turn AI on yourself, with your own OpenAI key.
Yours to run.
Free when self-hosted, open source under AGPL-3.0. One compose file, one Postgres, two generated secrets.
- Works offline
- The app keeps a full copy of the budget on your device, so every screen works without a connection and syncs in the background when a server is reachable.
- End-to-end encryption, optional
- Turn it on and the server relays ciphertexts only. It never sees plaintext.
- AI off by default
- Zero egress unless you opt in. The budget assistant suggests allocations by rules with no key; statement-screenshot import needs an OpenAI key.
# 1. One folder, one compose file
mkdir enveo && cd enveo
curl -fsSL https://raw.githubusercontent.com/enveo/enveo/main/compose.selfhost.yml -o compose.yml
# 2. Two generated secrets
echo "POSTGRES_PASSWORD=$(openssl rand -hex 24)" > .env
echo "BETTER_AUTH_SECRET=$(openssl rand -hex 32)" >> .env
# 3. Start
docker compose up -d Open http://localhost:8081 and create the owner account — registration closes after that.
Phone needs HTTPS: Self-hosting · GitHub
Questions
Is Enveo free?
Self-hosted Enveo is free and open source under AGPL-3.0. The hosted version will be a paid subscription.
Does it connect to my bank?
No. You enter transactions yourself, import a file, or import a screenshot of a bank statement (that one needs an OpenAI key).
Do I have to type transactions in by hand?
No. Add screenshots of your bank history or a PDF statement and Enveo recognizes the transactions for you to review. Typing them on the numpad still works too.
Where does my data live?
On your device, and on whichever server you run or subscribe to. With end-to-end encryption on, that server only holds ciphertexts.
How is it different from YNAB?
Same envelope method: carry-over, cover overspend, goals. Enveo is open source, works fully offline, and has no subscription when you run it yourself.
Is there a mobile app?
Enveo installs from the browser on iOS and Android and works offline. Native apps for Android and iOS are in the works.
Roadmap
- Native apps for Android and iOS.
- An AI connector, so you can connect your budget to Claude or ChatGPT.
- Several budgets on one account.
Want the hosted version?
We will run Enveo for you as a paid subscription. Leave your e-mail and you will hear from us once, at launch.
No spam. One e-mail at launch.
Thanks — you're on the list!