Package: candid-cash
easy-moneyA simple but powerful tool for budgeting and tracking finances.Notactuallyreleased yet.QuickstartThe easiest way to start using easy-money is to usepipxpipx install candid_cash
easy-moneyYes - you have to installcandid_cash, even though this is called Easy Money.
Don't worry about it.Unless you want to.By default you'll be presented with a text UI that shows you a summary of your
current everything:$0 free, $0 in 0 goals (0 over time, 100% funded)
Type "help" for help.
>By default currency is $/USD, but you can change that. This summary will also
be printed before every prompt, which can also be changed.You can add money (normally you'd do this when you get money, like on payday or
when someone hands you a stack of $100 bills).> add 100
$100 free, $0 in 0 goals (0 over time, 100% funded)Now you can create some goals and add the money to your goals:> new goal Gas
Gas - $0> move 50
$50 free, $50 in 1 goals (0 over time, 100% funded)
Gas - $50> exit
$50 free, $50 in 1 goal (0 over time, 100% funded)
> new goal Eating out
Eating out - $0> move 25
$25 free, $75 in 2 goals (0 over time, 100% funded)
Eating out - $25> exit
> new goal Groceries
Groceries - $0> move 50
OOPS! Only $25 available. Try move 25 (or less)
Groceries - $0> move 25
$0 free, $100 in 3 goals (0 over time, 100% funded)
Groceries - $25> exit
> new goal New computer
New computer - $0> add 20
$0 free, $120 in 4 goals (0 over time, 100% funded)
New computer - $20> exit
$0 free, $120 in 4 goals (0 over time, 100% funded)
> new target
Goal name: Birthday
Would you like to save per (t)ime or for a (d)ate? d
What date? 2024-06-25
Total amount? 28
That will be $0.11 per day over 254 days.
$0 free, $120 in 4 goals ($28 over time, 0% funded)
> add 14
$14 free, $120 in 4 goals ($28 over time, 0% funded)
> move 14 to Birthday
$0 free, $120 in 4 goals ($28 over time, 50% funded)
> new target
Goal name: New car
Would you like to save per (t)ime or for a (d)ate? t
How often - (D)aily, (W)eekly, (B)i-weekly, (M)onthly? D
How much per day? 0.25
How much total? 25,000
You will reach $25,000 saved on 2297-06-30
$0 free, $120 in 4 goals ($14/25,028 over time, 0% funded)
>You may already know this, but Easy Money is based on theenvelope
methodmethod of budgeting.
But, better. Maybe!For more help on how to use EM, type help at the prompt(s).Deeper DiveWhen writing Easy Money, I heavily borrowed from Simple. For me, it was a
life-changing use of technology and made it fun to see how long it would take
to save up for things, or where I was really spending my money. It helped me to
decide if I really wanted to buy something, or if I was better off doing
something else. However, PNC bank bought out Simple, and pretty much ruined my
life. For several years I've tried a multitude of different approaches, but
none of them have worked very well. Even EM may not work so well for me, but
the goal is to make it almost as easy to use as Simple was. But licensed AGPL,
which is the most aggressive Copyleft license I'm aware of.To put it bluntly, the goal of EM is to allow you to take control of your
financial situation, regardless of the whims of a corporation. At any point,
you may take EM and manage it yourself.Goals and Funding SchedulesGoals are the envelopes of the envelope method. And there are two types of
goals - immediate, and over time. For an immediate goal it's like taking cash
and putting it directly into an envelope. For an over time goal it's something
that you'd like to save up for. Maybe you want a new video game console, a new
outfit, or need to repair your car. You probably need to buy new tires in a few
years. You'll certainly need to change your oil.For something like oil you know that it's probably 3 months - and around here a
full synthetic oil change is about $80 right now. So that would be about $0.89
for a daily funding schedule. Or about $6.25 per week. Or $12.50 bi-weekly. Or
$27 monthly. But you don't need to remember that or figure it out. That's where
Easy Money makes life easier for you. EM will track all of that for you. You
just have to input when you get and spend money - just like when you would put
money into or take money out of your envelopes.Free Money!Well, not free as in without cost, but free as in unallocated. If your money
isn't allocated to a particular goal, it's considered free money. That is,
spend it on whatever you want! Or keep it as an emergency fund and only spend
from your goals. Do what you want, I'm not your dad. Except for the 5 of you
for whom I am your dad. But you're probably an adult by the time you're using
this so you can use it however you want.But, in order to fund a goal you have to have some free money. You can't just
make up money, despite all of this stuff being made up anyway. You're the one
who decides what the numbers mean.ImportsIf you're like me, you hate actually inputting the transactions that you make -
even if it's easy! Like, uuuugh. It's the worst. So Easy Money offers an
importer. When you import transactions into EM, your bank or CC should offer
.csv downloads. You can import these into EM. If you're like me there's also a
non-zero chance that you'll end out re-importing the same transactions. In my
case I've had a in-the-middle-of-a-billing-cycle file, or monthly files, and
then I pulled in a yearly file. Whoops! Don't worry - if you notice that you've
got duplicate entries, we retain the batch/filename information from when they
were imported, so you can easily just delete the whole batch.ReportsThereare currently onlywill soon be a couple of basic reports offered:Monthly in/out - how much money came in this month and how much went out? (By
calendar month as well as last 30 days)Yearly in/out - good for tracking your long-term monetary goals.Runway - Based on your current reserves, given your recent spending, how long
until you're out of cash? It's a sucky thing to consider, but it's better
than not knowing.RoadmapThese are things that we want to do:Implement basic behavior as documented here in the READMECreate installer/upload to pypiAdd importerAdd some reportingChangelogWe usekeepachangelog. We also useCalVerfor
versioning. Specifically YY.MM.patch.UnreleasedAnything!