Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
What is it?
UnderBudget is an advanced personal budget management and analysis application.
What does it do?
- The creation and maintenance of budgets--a set of estimated incomes and expenses to occur over a given period of time
- To-date budget analysis
- Comparison of estimated incomes/expenses to actual incomes/expenses
- Estimated, expected, and to-date ending balance calculation
The key feature of UnderBudget is its ability to import actual financial data (transactions) from various sources (GnuCash, Quicken, mint.com, etc.) and assign them to estimates according to user-defined rules. Most budgeting applications only allow fine-grained budgeting, performing estimate vs. actual comparisons on each account or category (e.g., evaluating the gas and electric utilities as separate buckets). On the other hand, UnderBudget is specifically designed to allow for user-defined granularity in its analysis. Imported transactions are evaluated against a set of user-defined rules in order to be assigned to an estimate. This allows the user to define exactly how their actual progress will be determined. For example, a single estimate can be set up for utility bills with rules to catch payments for the gas and electric bills, while another estimate can be set up to catch a specific clothing purchase while all other clothing purchases are caught by a different estimate.
Once transactions have been imported and assigned, UnderBudget analyzes the estimated dollar amounts and actual dollar amounts for each estimate to determine whether the estimate is over- or under-budget.
To assist users with long-term financial planning, UnderBudget can calculate the estimated and actual ending balance for a given budgeting period. Over the course of the budgeting period, UnderBudget will take into account estimates that have gone over-budget and estimates that are under-budget and finished when calculating the expected ending balance.
How do I use it?
UnderBudget can be launched by double-clicking the main jar file (
or from the command line with
java -jar UnderBudget.jar.
The first thing that needs to be done is to create a budget. Budgets can cover an individual month, and entire year, or any date range desired. Each budget is stored individually in separate files.
The default budget contains a set of stock estimates that need to be customized according to the user's specific needs. Once the estimates have been created, rules need to be defined so that transactions will be assigned to the estimates.
Once the estimates and rules have been defined, UnderBudget needs actual financial data to be able to analyze the budget. These transactions can be imported from supported ledger or bookkeeping applications (GnuCash, mint.com) or downloaded from banks that provide downloads in supported formats (if you use an application or have data in a format that is not supported but would like to be able to use UnderBudget, please submit a feature request).
After importing transactions, UnderBudget will assign them to the defined estimates and calculate the effective result of each estimate (as affected by the actual progress of each estimate) and calculate the expected ending balance.
See the User Guide for more information about using UnderBudget.