Skip to content
Snippets Groups Projects
user avatar
shall0pass authored
I've changed the method of calculating the budgeted amount. There may be
a more efficient way of writing the loop, so I'm looking forward to the
review.

This change implements the mathematics of
(Target1+Target2+TargetN-Last_months_category_balance) / (MonthsRemaing1
+ MonthsRemaining2 + MonthsRemaingN) * N. This is an averaged approach
for multiple templates in the same category. It will appear to
overbudget or underbudget some months compared to multiple single
targets in different categories, yet there should always be enough saved
in the category to satisfy the target due.

Setting a target, it's assumed that money will be spent in the
appropriate month, When a target reaches maturity, the money in the
category associated with that target should be spent or moved so the
remaining targets continue to be funded. I don't see an easy way of
fixing that, but I hope this change will be of some help.

Current method:
Notice how the Bills (flexible) category reduces each month, resulting
in larger budgeted amounts later in the goal cycle.


![Templates-now](https://user-images.githubusercontent.com/20625555/230964939-d20ca72b-1055-471a-9044-7cd640f19875.gif)

Proposed method:
**Note: The fact that the initial fill in this example equals the
expected fill is a coincidence based on the template values I chose. The
initial fills can be different from expected fill.


![Templates-proposed](https://user-images.githubusercontent.com/20625555/230965265-669f996c-3112-437b-ab83-9715ea5dfc7f.gif)
0bcf6ea6
History

Actualbudget

Getting Started

Actual is a local-first personal finance tool. It is 100% free and open-source, written in NodeJS, it has a synchronization element so that all your changes can move between devices without any heavy lifting.

If you are interested in contributing, or want to know how development works, see CONTRIBUTING.md we would love to have you.

Want to say thanks? Click the ⭐ at the top of the page.

Key Links

Installation

If you are only interested in running the latest version and not contributing to the source code, you don't need to clone this repo. You can get the latest version through npm.

The easy way: using a server (recommended)

The easiest way to get Actual running is to use the actual-server project. That is the server for syncing changes across devices, and it comes with the latest version of Actual. The server will provide both the web project and a server for syncing.

You can get up and running quickly and easily by following our Running Actual Locally Guide

Documentation

We have a wide range of documentation on how to use Actual, this is all available in our Community Documentation, this includes topics on Budgeting, Account Management, Tips & Tricks and some documentation for developers.

Code structure

The Actual app is split up into a few packages:

  • loot-core - The core application that runs on any platform
  • loot-design - The generic design components that make up the UI
  • desktop-client - The desktop UI
  • desktop-electron - The desktop app

More information on the project structure is available in our community documentation.

Sponsors

Thanks to our wonderful sponsors who make Actual budget possible!

Deploys by Netlify