Skip to main content

Tool for budgeting/tracking finances.

Project description

easy-money

A simple but powerful tool for budgeting and tracking finances.

Not actually released yet.

Quickstart

The easiest way to start using easy-money is to use pipx

pipx install candid_cash
easy-money

Yes - you have to install candid_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 the envelope method method of budgeting. But, better. Maybe!

For more help on how to use EM, type help at the prompt(s).

Deeper Dive

When 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 Schedules

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

Imports

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

Reports

There are currently only will 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.

Roadmap

These are things that we want to do:

  • Implement basic behavior as documented here in the README
  • Create installer/upload to pypi
  • Add importer
  • Add some reporting

Changelog

We use keepachangelog. We also use CalVer for versioning. Specifically YY.MM.patch.

Unreleased

  • Anything!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

candid_cash-23.10.0b4.tar.gz (16.5 kB view hashes)

Uploaded Source

Built Distribution

candid_cash-23.10.0b4-py3-none-any.whl (16.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page