WIP: Budgeting V1 #1584
Reference in New Issue
Block a user
Delete Branch "zachgoll/budgeting"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR introduces a basic budgeting module along with some updates to categorization of transactions.
Transfers and Payments
One of the major goals of this app is to treat "transfers" and "payments" as first-class citizens rather than a categorical afterthought. Most personal finance apps leave it to the user to identify transfers and payments, which generally ends in the user asking, "How do I incorporate transfers in my budget and goals?". This leads to inaccurate calculations of spending, income, and overall budgets because the app does not give the user a clear way to separate these concepts from expenses and income (the primary purpose of budgeting). Our goal is to give transfers/payments a clear "home" in the app and assist the user in identifying them. Below are some technical definitions of each:
Transfer/Payment treatment
Transfers and payments are incorporated into a user's budget based on the classification of account in which they correspond to.
Transfer identification
One of the biggest challenges when dealing with transfers is identifying them. Our app can identify 90% of transfers by looking at the amount, account, and date. Two transactions with opposite amounts, within a few days of each other from different accounts give high confidence that we're dealing with a transfer.
That said, there are always edge cases. The most notable one is where the user has made a transfer to an account that does not exist in Maybe yet, or one that is being tracked by value only and doesn't have a corresponding transaction. In this case, we must rely on the user to tell us that this was a transfer.
Will open new PR for this. #1585 covers a good portion of the changes here.
Pull request closed