Finances with tags in CLI
Project description
Missing a practical and easy-to-learn solution to keep track of your finances? Use tagcash to do it with simple text files!
TagCash is a little hack that I’m currently using after trying several solutions like GnuCash and Financisto. These are some of the features that I was missing and that are found in TagCash:
As simple as editing text files;
Text files are easy to sync between devices and people;
Simple CLI;
Quickly copy and paste statements from CLI to e-mail;
Simple and short Python source code.
Quick Start
Let’s choose 2 tags: wallet, and bank for your checking account. Now, write the following in a file (e.g.: finances.txt):
2018-01-13 100 Starting balance bank 2018-01-14 40 Withdrawal wallet,-bank
As there’s no starting balance for wallet, it will be $0.00. In the second line, there is a - (minus) sign next to the bank tag to make it -40 in the bank ledger. Now, let’s see what tagcash does without any option:
~$ tagcash finances.txt ┌bank────────┬────────┬─────────┬───────────────────┐ │ Date │ Amount │ Balance │ Description │ ├────────────┼────────┼─────────┼───────────────────┤ │ 2018-01-13 │ 100.00 │ 100.00 │ Starting balance │ │ 2018-01-14 │ -40.00 │ 60.00 │ Withdrawal │ └────────────┴────────┴─────────┴───────────────────┘ ┌wallet──────┬────────┬─────────┬───────────────────┐ │ Date │ Amount │ Balance │ Description │ ├────────────┼────────┼─────────┼───────────────────┤ │ 2018-01-14 │ 40.00 │ 40.00 │ Withdrawal │ └────────────┴────────┴─────────┴───────────────────┘
Tips
The parser is flexible. Just don’t use space in tags and separate them by comma;
Align as you wish. Use 1 or more spaces between fields (date, amount, …);
You can use as many files as you want;
There’s no need to keep the lines sorted by date. Thus, you can keep together all the monthly installments of a payment;
To choose tags, use for example --tags wallet (-t for short).
How to Install
Tested with Python >= 3.5: pip3 install tagcash.
Advanced Usage
To know how much money you have in total, including all specified tags, add the --all option:
$ tagcash --all finances.txt (...) ┌All Tags────┬────────┬─────────┬───────────────────┐ │ Date │ Amount │ Balance │ Description │ ├────────────┼────────┼─────────┼───────────────────┤ │ 2018-01-13 │ 100.00 │ 100.00 │ Starting balance │ │ 2018-01-14 │ -40.00 │ 60.00 │ Withdrawal │ │ 2018-01-14 │ 40.00 │ 100.00 │ Withdrawal │ └────────────┴────────┴─────────┴───────────────────┘
As expected, because you withdrew money to your own wallet, the last table shows that you have $100 in total. To keep this overall balance consistent, adopt the simple rule: use negative numbers (or tags) whenever you spend money, and positive when you earn it.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file tagcash-1.0.0b2.tar.gz
.
File metadata
- Download URL: tagcash-1.0.0b2.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ea8dff57cd526baf270677c0de729ee5abb06c1e52cb2d7ac98237dc255e2fc |
|
MD5 | 78a5bcc1fc10cfa5248915e5a8adeaee |
|
BLAKE2b-256 | bf0cd9a99ea1cc33ae80cc54c697ee472d5353add2d066615b90ec584a882198 |
File details
Details for the file tagcash-1.0.0b2-py3-none-any.whl
.
File metadata
- Download URL: tagcash-1.0.0b2-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de40af5cde70df4c8686e1c91ab1745d37c0be75490f9ac95f5739c731cb71f5 |
|
MD5 | b784fbc9621c4a795176b9fd9b65f8ff |
|
BLAKE2b-256 | 9d91ca360f6b9ea14e6ad1851cb8a9bd548919e59a697f2d2ffef4b5c95701f9 |