Excel + Python app that generates a personal budget tool in Excel based on user input.
App to dynamically build a functional personal budget in Excel & Python based on user input.
- Download or clone the repository.
- Edit the Budget Items in the Inputs file to add your own expenses.
- Run
python personal_budget_tool/app.py
to generate your Excel File - Confirm your changes are visibile in the summary & data tabs.
Each Budget Item is generated from a row in the Inputs file.
is_active
- On/Off switch for each budget item
is_seasonality
- Boolean whether seasonality should be applied (ex. electric bill in summer)
company_name
- Company associated with budget item
item_name
- Budget item name
category_name
- Dropdown for category associated with budget item
category_group
- Higher-level grouping for categories
display_group
- Grouping of items in grids in tool
item_type
- Income / Expense
item_amount
- Budgeted amount
frequency_type
- Budgeted frequency (weekly, monthly, annually, etc.)
frequency_day
- Day of {x} associated with frequency (i.e. monthly on the 1st day)
frequency_date
- Full date associated with frequency (annual on 4/24, etc.)
start_date
- Start date for budget item
end_date
- End date for budget item
notes
A small handler used to prompt the user for entries in the Inputs file. Opens the Inputs file to allow you to view/edit prior to building the budget.
- Reads data from Inputs, generates a calendar tied to the budget. Writes data out for use in the output. Stores logic behind working with
frequency
& deciding where budgeted amounts will be allocated by day.
- In short, a massive wrapper for xlwings operations. The template itself is barebones, so all of the styling, formulas and data is coming via this module.
- Microsoft Excel
- Python 3.x
- xlwings >= 0.30.10