Free, self-hosted, open-source, envelope-budgeting web and desktop app.
Deploy this app to Linode with a free $100 credit!
budgetzero is a free, open-source, privacy-friendly, offline-first budgeting system.
Use at budgetzero.io, download the desktop apps or self-host on your own server. Zero ads, zero trackers, just budgeting.
budgetzero is under active development and considered an alpha version. You may encounter significant bugs and breaking changes. Feel free to file an issue!
Zero-based 'envelope' budgeting
Offline-first storage. NOTE: All data is stored in the browser and may be lost if you clear the browser's data.
Import Transactions (OFX, QFX, CSV)
Carry negative balances into next month
Privacy-focused. Zero trackers & zero analytics.
There's multiple ways to use budgetzero. 1. On the official app.budgetzero.io page. 2. Installing the desktop app (Windows or Mac). Download here 3. Self host the web app. You can either deploy the docker image or build and host the static files on your own webserver. See deployment section below for more details.
Current development board - [ ] Reports - started! - [ ] Cloud Sync through budgetzero.io (coming soon) - Interested in Cloud Sync? Sign up to be notified when available! - [ ] Self-hosted sync server (coming soon) - [ ] Cross-platform desktop applications (Windows, Mac, Linux) - [ ] Multi-month view - [ ] Payee management
docker pull budgetzero/budgetzero:latest
Then run with
docker run -d -p <desired_port>:8080 --name budgetzero budgetzero/budgetzero
Example:
docker run -d -p 8080:8080 --name budgetzero budgetzero/budgetzero
Your budgetzero instance is now running at You can also build the static files and host on any webserver.
npm install
npm run build
The files will be built into the dist/ folder and can be hosted anywhere.
Budgetzero uses PouchDB to store the all data client-side in the browser. In order to enable sync across multiple browsers and/or devices, you'll need to set up a CouchDB server accessible from the desired devices. This setup guide is a general overview, feel free to adapt as needed.
docker run -d --name budgetzero-couchdb-sync -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password couchdb:latest
Replace admin
and password
with desired user/password.
2. Navigate to http://[docker_host_IP]:5984/_utils, which opens the Fauxton web interface for CouchDB administration.
4. Go to 'Configuration' and enable CORS for all domains.
5. Create a database with whatever name you desire.
6. In BudgetZero, go to Settings and set the couchdb URL to start syncing. This will need to be set up for each client/browser/computer/etc.
Examples:
```http://localhost:5984/mybudget```
```http://username:password@192.168.1.10:5984/mybudget```
![](public/sync.png)
Good pull requests (patches, improvements, new features) are a greatly appreciated.
Please ask first before embarking on any significant pull request (e.g. implementing features, refactoring code), otherwise, you risk spending a lot of time working on something that might not get accepted or is already in development.
npm install
npm run serve
Run all tests once:
npm run test:unit
Run all tests and re-run if files change:
npm run test-watch:unit
Run with debugger (chrome://inspect)
node --inspect node_modules/.bin/jest --runInBand tests/unit/Transactions.spec.js
Please login to review this project.
No reviews for this project yet.
Web-based finance management tool for partners with partial…
Accept Web3 Payments directly into your wallet. Peer-to-pee…
Wealth management software to keep track of stocks, ETFs an…
Comments (0)
Please login to join the discussion on this project.