Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calculated costs #6

Closed
Pegasuz opened this issue Aug 12, 2014 · 4 comments
Closed

Calculated costs #6

Pegasuz opened this issue Aug 12, 2014 · 4 comments

Comments

@Pegasuz
Copy link

Pegasuz commented Aug 12, 2014

When having (large) costs, for example paying car taxes once a year, it would be nice to see how much of the monthly budget this will take. And thus how mush money we would need to set aside each month to cover the complete cost.

Another example could be: I want to buy a new smartphone every 3 years, how much money do I need to set aside each month to cover this cost.

This way you also have a "general" usage that should be the same every month and should allow you to pay for every (big) costs.

@JC5
Copy link
Member

JC5 commented Aug 12, 2014

Mmm, that could work, maybe combined with "piggy banks", a saving-money feature that's about finished.

Let's say you want to buy expensive thing X. You could set a target date or a target period (x weeks/months/year from a certain date, repeating) so you would end up with something like you describe:

  • I want to buy expensive thing X (which is € 10.000,-) and I have four years to collect it.
  • Each year, I need at least € 500,- to cover taxes.
  • Every three years, I need € 650,- to buy a new smart phone.

To make it useful, such a target needs fields like a target date, a repeat frequency (if relevant) and other things. Most importantly, you should be able to connect transfers (to a savings-account or another account). So, I move € 400,- to my savings account. Amongst the fields already present on this form is a field that allows me to select the target this money is intended for.

The money is automatically added and associated to the target. If you set Firefly to remind you every week/month/year about the target, the reminder will disappear for the rest of the week/month/year (this in connection with the budgeting / monthly budget you mentioned).

To fill in the car example. I need € 10.000,- in three years. This means about € 278,- every month. Firefly will remind you every month to save this amount. In three years, you should be on schedule. Firefly might even tell you you're behind or ahead of schedule.

Is this about right? Did I get what you meant?

@JC5
Copy link
Member

JC5 commented Aug 12, 2014

Alright, so.

A piggy bank needs at least the following information:

  • A name
  • The savings account associated with this piggy bank.
  • Amount to save (the target amount).
  • Date on which we want the money (optional).
  • Date we started saving (defaults to today). This + the target date is useful for advising the user how much needs to be saved every month/week/year.
  • The currently saved amount is not saved in a piggy bank. See below.

To make piggy banks repeatable (to save for a new phone every three years), we need more information:

  • Whether or not it repeats.
  • If so, what period (every day/week/month/year)
  • How long a period (x months, x years, etc).
  • How often you want to be reminded (to put amount x in the piggy bank)

Then we also need new object, a kind of "piggy bank instance". It should contain the bare minimum to store repetitions and keep track of the amount therein:

  • The related piggy bank.
  • Start date (relates to the start date of the piggy bank, end date of piggy bank is ignored).
  • End date (relates to the related piggy bank or latest repetition thereof).
  • The currently saved amount. Although transfers mutate this amount the currently saved amount should not be deduced from transfers alone. A transfer connected to this piggy bank will mutate this amount but not be connected to it otherwise.

The rest of the information is taken from the piggy bank itself. Every piggy bank, repeating or not has at least one instance.

JC5 pushed a commit that referenced this issue Aug 13, 2014
…dded a new class (yet to be tested) and removed most of the "piggy bank"-implementation in anticipation of the ideas from issue #6. Fixed a bug in the default user seeder.
@Pegasuz
Copy link
Author

Pegasuz commented Aug 13, 2014

This is indeed exactly what I mean!

Great work already!

JC5 pushed a commit that referenced this issue Aug 13, 2014
JC5 pushed a commit that referenced this issue Aug 14, 2014
JC5 pushed a commit that referenced this issue Aug 16, 2014
…an now be made "repeated" in a different form, viewed and edited; Firefly will properly trigger to make the "instances". Also the show-view is finished which doesn't do much but helps in seeing how it works. [skip ci]
JC5 pushed a commit that referenced this issue Aug 16, 2014
…transfer. Also various fixes (see issue #6). [skip ci]
JC5 pushed a commit that referenced this issue Aug 17, 2014
@JC5
Copy link
Member

JC5 commented Aug 17, 2014

Still to do: save the changes to piggy banks (added 5, removed 10, etc) so all instances will update nicely when they are recreated.

JC5 pushed a commit that referenced this issue Aug 18, 2014
@zjean zjean mentioned this issue Nov 23, 2016
@lock lock bot locked as resolved and limited conversation to collaborators Jan 25, 2020
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants