Skip to main content

biweeklybudget

GitHub Actions build for master branch sphinx documentation for latest release Project Status: Active – The project has reached a stable, usable state and is being actively developed.

Responsive Flask/SQLAlchemy personal finance app, specifically for biweekly budgeting.

For full documentation, see https://biweeklybudget.readthedocs.io/en/latest/

For screenshots, see https://biweeklybudget.readthedocs.io/en/latest/screenshots.html

Overview

biweeklybudget is a responsive (mobile-friendly) Flask/SQLAlchemy personal finance application, specifically targeted at budgeting on a biweekly basis. This is a personal project of mine, and really only intended for my personal use. If you find it helpful, great! But this is provided as-is; I’ll happily accept pull requests if they don’t mess things up for me, but I don’t intend on working any feature requests or bug reports at this time. Sorry.

The main motivation for writing this is that I get paid every other Friday, and have for almost all of my professional life. I also essentially live paycheck-to-paycheck; what savings I have is earmarked for specific purposes, so I budget in periods identical to my pay periods. No existing financial software that I know of handles this, and many of them have thousands of Google results of people asking for it; almost everything existing budgets on calendar months. I spent many years using Google Sheets and a handful of scripts to template out budgets and reconcile transactions, but I decided it’s time to just bite the bullet and write something that isn’t a pain.

Intended Audience: This is decidedly not an end-user application. You should be familiar with Python/Flask/MySQL. I personally don’t recommend running this on anything other than your own computer that you physically control, given the sensitivity of the information. I also don’t recommend making the application available to anything other than localhost, but if you do, you need to be aware of the security implications. This application is not designed to be accessible in any way to anyone other than authorized users (i.e. if you just serve it over the web, someone will get your account numbers, or worse).

Note: Any potential users outside of the US should see the documentation section on Currency Formatting and Localization; the short version is that I’ve done my best to make this configurable, but as far as I know I’m the only person using this software. If anyone else wants to use it and it doesn’t work for your currency or locale, let me know and I’ll fix it.

Important Warning

This software should be considered beta quality at best. I’ve been using it for about a year and it seems to be working correctly, but I’m very much a creature of habit; it’s entirely possible that there are major bugs I haven’t found because I always do the same action in the same way, the same order, the same steps, etc. In short, this application works for me and the exact particular way I use it, but it hasn’t seen enough use from other people to say that it’s stable and correct in the general case. As such, please DO NOT RELY ON the mathematical/financial calculations without double-checking them.

Main Features

  • Budgeting on a biweekly (fortnightly; every other week) basis, for those of us who are paid that way.

  • Periodic (per-pay-period) or standing budgets.

  • Optional automatic downloading of transactions/statements from your financial institutions via Plaid and reconciling transactions (bank, credit, and investment accounts).

  • Scheduled transactions - specific date or recurring (date-of-month, or number of times per pay period).

  • Tracking of vehicle fuel fills (fuel log) and graphing of fuel economy.

  • Cost tracking for multiple projects, including bills-of-materials for them. Optional synchronization from Amazon Wishlists to projects.

  • Calculation of estimated credit card payoff amount and time, with configurable payment methods, payment increases on specific dates, and additional payments on specific dates.

  • Ability to split a Transaction across multiple Budgets.

Requirements

Note: Alternatively, biweeklybudget is also distributed as a Docker container. Using the dockerized version will eliminate all of these dependencies aside from MySQL, which you can run in another container.

  • Python 3.7+ (currently tested and developed with 3.14).

  • Python VirtualEnv and pip (recommended installation method; your OS/distribution should have packages for these)

  • MySQL, or a compatible database (e.g. MariaDB). biweeklybudget uses SQLAlchemy for database abstraction, but currently specifies some MySQL-specific options, and is only tested with MySQL.

  • To use the automated Plaid transaction downloading functionality, a valid Plaid account.

Installation

It’s recommended that you run from the Docker image, as that’s what I do. If you don’t want to do that, you can also install in a virtualenv using Python 3.14:

mkdir biweeklybudget
python3.14 -mvenv venv
source venv/bin/activate
pip install biweeklybudget

License

biweeklybudget itself is licensed under the GNU Affero General Public License, version 3. This is specifically intended to extend to anyone who uses the software remotely over a network, the same rights as those who download and install it locally. biweeklybudget makes use of various third party software, especially in the UI and frontend, that is distributed under other licenses. Please see biweeklybudget/flaskapp/static in the source tree for further information.

biweeklybudget includes a number of dependencies distributed alongside it, which are licensed and distributed under their respective licenses. See the biweeklybudget/vendored directory in the source distribution for further information.

Attributions

The logo used for biweeklybudget makes use of the wonderful, free Ledger icon by Eucalyp on FlatIcons: Ledger icons created by Eucalyp - Flaticon.

Metadata

Release files for biweeklybudget 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for biweeklybudget 2.0.0
File Size Uploaded
biweeklybudget-2.0.0.tar.gz 1.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for biweeklybudget 2.0.0
File Interpreter ABI Platform
biweeklybudget-2.0.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 3.3 MB

Release files / biweeklybudget-2.0.0.tar.gz

Download URL biweeklybudget-2.0.0.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
f848899c309176c86c0cc468da622ef24077cab4e642d38543294f8092d9b7f5
BLAKE2b-256 checksum
How to use checksums
38d487d82decbafbe1843e629267243e072486a114fe8b59441a9e678a89398e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / biweeklybudget-2.0.0-py2.py3-none-any.whl

Download URL biweeklybudget-2.0.0-py2.py3-none-any.whl
Size 1.8 MB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
5b7e14e3f47520077592ebbc30da2c30a50b21941121c4b25f7f0c6c246eb1fe
BLAKE2b-256 checksum
How to use checksums
5cba0285908b403136c0e9279121c38c456a11f29e19a7736b1d3e78b2546aa9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page