Skip to content

Customize & generate your personal budget tool using Python & Excel

License

Notifications You must be signed in to change notification settings

coperyan/personal-budget-builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal Budget Builder

Excel + Python app that generates a personal budget tool in Excel based on user input.

Budget Tool

Overview

App to dynamically build a functional personal budget in Excel & Python based on user input.

Quick Start

  • 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.

Example Run

Models

Input (Budget Items)

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

Application

InputConfig

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.

DataBuilder

  • 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.

BudgetApp

  • 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.

Dependencies

  • Microsoft Excel
  • Python 3.x
  • xlwings >= 0.30.10

About

Customize & generate your personal budget tool using Python & Excel

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages