
Ask HN: How do you record your personal finances? - 0xb100db1ade
I am trying to start recording the day-to-day flow of my money as part of a larger goal of implementing some in my life.<p>I have done some research and some self-hosted software solutions that interest me include [Firefly III], [Transity], [Ledger]. Maybe I&#x27;ll write my own personal finance record keeping software.<p>Since this will be the first time keeping track of my own finances, I&#x27;d like to hear what has worked for others members of the Hacker News community.<p>[Firefly III]: https:&#x2F;&#x2F;firefly-iii.org&#x2F;
[Transity]: https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17242136
[Ledger]: https:&#x2F;&#x2F;www.ledger-cli.org&#x2F;
======
hasperdi
Here's a practical approach that have been working well for our family.

Forget about recording your transactions, it is way too tedious.

The solution: Use 'jars' for budgeting. Our jars are bank accounts.

First we have a main bank account where money comes in. Set all recurring
bills (eg. rent, utilities, phone) to direct debit from this account. Let's
call this income account. Leave the debit card at home, don't use it.

Then set an estimate of how much you be spend every week on groceries,
transportation, etc. See this as your pocket money.

Then set up another bank account, set an automatic weekly transfer from the
income account to this pocket money account. The amount is what you estimated
previously. Everything in this account is for you to spend. If you spend less
the week before, then you can spend it this week... or not. But you should not
spend more than what it is there.

Adjust the automatic transfer amount if needed.

Now, if you want to save... it is the same strategy. Set up a saving target,
open a savings account and do automatic periodic transfer from the income
account.

Try it... it requires very little effort, makes you more conscious on how much
you spend and on what and after a while you will be surprised with how much
you're saving.

~~~
leemuro
Sorry if this seems like a dumb question, but are there any particular
banks/accounts you use for this method? I would want it to be very easy to
open accounts online with no hassle if I were to use this approach.

~~~
hasperdi
I use several banks. Here in the UK, I use Starling & Monzo. There are also
international providers such as Skrill and Transferwise. Check what is
available to you. Do not be discouraged by nominal account fee. You will save
much more money than bank account fees.

------
cosmaioan
I have tried many things apps/excel/text file and after some time I give up.
The current solution I use for more than one year and I am happy. Works while
travelling (currency support) but it needs internet.

To solve personal finance control I made myself a bot (on telegram). Works on
anything web/desktop/mobile and that is just text. I think about it as my
accountant.

I send him

>Beer 4 ( meaning I spent 4 on beer)

>wine 6 EUR ( meaning I spent 6 EUR on wine)

If I want to group things in a category:

>Beer is drinks

>wine is drinks

Don't forget to first set the expense currency.

>config ExpenseCurrency USD - (this will be the default expense currency if
you don't specify otherwhise)

If you want to export just write:

> export expense

You will receive an url that can be imported(as text) in excel and can be
refreshed. I use excel if I want explore/visualize.

I get a reminder/summary every day just to make sure I don't forget.

I have more commands
[https://docs.google.com/document/d/1x7iYpbXJHGyQQ4CxA1W6LgLr...](https://docs.google.com/document/d/1x7iYpbXJHGyQQ4CxA1W6LgLr_D8Z7TabxE5RVFJW1gE/edit)
And more that I have not documented. Let me know if you need something.

It does not uses language understanding, behind it has a compiler so there is
NO misunderstanding

If you try it let me know or contact
[https://twitter.com/cosmaioan](https://twitter.com/cosmaioan)

~~~
mostlystatic
My approach is similar. I keep plain text notes on my phone where each line is
something like "16 haircut" or "12o" (eating out). I have a Node script that I
currently run manually, but the problem is that I only run it every couple of
months... Using a bot keep track of things is a great idea!

Currently I group everything by month, but using a bot would also allow that
to be more granular.

One thing I try to focus on is simplicity of the categories. Instead of
spending £5 on toiletries and £3 on fruit I just have on "everyday items"
category that I use for everything that I buy at the supermarket. So after
every purchase I make I only spend about 5s writing it down, rather than
trying to do any splitting calculations in my head.

Here are the result:
[http://www.mattzeunert.com/money.html](http://www.mattzeunert.com/money.html)

------
kd5bjo
Start with double-entry accounting on paper, until you don't learn anything
new going through the process. Then you'll be in a position to pick an
automation system that works with your process.

You'll need two notebooks:

Start with a transaction journal, where you record your purchases -- amount,
how you paid, what you bought, etc. For most things, this is as simple as
taping the receipt in.

Your account book has one page per account (method of payment or expense
category). Once a week, subtotal all the new transactions by account. Make
sure the subtotals balance (sum(expenses) = sum(payments)), and add a line to
the relevant page in your account book -- Dates of transactions covered (to
crossreference with the journal), subtotal amount, running total.

------
wtd
I’ve been using YNAB (You Need A Budget) for four years now and it has made a
big difference in how much we’re saving. I used spreadsheets or other DIY
solutions in the past, but they aren’t very multi-user friendly (wife and I
share a family budget) and didn’t make me think of savings in the same way.

Here’s a good review: [https://thewirecutter.com/money/best-budgeting-apps-
and-tool...](https://thewirecutter.com/money/best-budgeting-apps-and-tools/)

~~~
durfdurf
The review provides affiliated links to the product...

------
YuukiRey
I have a google sheet with an attached form. I then use simple queries to
retrieve the data. For example, I have a sheet that displays the expenses per
category (food, holidays, etc.) for the current month and also shows me the %
of my income I have spent.

I added a few lines of Javascript which are run on what is probably a rough
equivalent of a cronjob. They just check if it's the first of the month and if
so append my current, recurring, monthly expenses to the form.

This is a simple and pragmatic approach where I can leverage the data analysis
tools of google sheets (charts and stuff), access and add my data from
everywhere and not have to implement anything myself.

I also use that to track what I buy for me and my GF so that we can eventually
reimburse each other for shared purchases (mainly food). We could also get a
shared account but so far it's been working really well.

If I am interested in my overall net worth I just log into my bank account and
check out how much money I have and what my ETFs are doing.

The form is pretty simple: Amount, category, name, comment and then choose if
it's both (me and my GF), I O (see comment for whom I am owing money).

------
wruza
Default notes app:

    
    
      22/06
      -0.2 morning
      -3 Jack
      +2 John tires
      -1.5 ?
    

Then I parse it (perl) to standard accounting software, guessing analytics
from these comments. No specialized app worked conveniently enough for me than
just typing the event on new line.

~~~
BOOSTERHIDROGEN
mind to share the setup?

~~~
wruza
I wouldn’t mind, but it is only parsed into [[date, amount, comment]+] and
then processed by 1c enterprise integrated into our company (we are russians).
All the analytics magic/ui happens there, but I’m not sure if it is
extractable or disclosable, since it’s mostly a data-driven process specific
to us. Pointing to 1c distribution also counts as warez, so...

------
1ba9115454
I don't really bother because when I've tried in the past it's just been
really tedious.

------
mcintyre1994
I'm using YNAB but probably going to move to my own spreadsheet at some point
because their move from product to subscription service provides no extra
value - they don't even support UK banks for auto-import which is the only
thing they've added.

------
viraptor
I had too many transactions to annotate without going insane. Currently:

\- chrome headless downloads CSV with transactions from every bank account and
every card

\- everything's appended to an airtable database

\- script sorts transactions into categories (specific: "local joe" is
groceries and generic: " _restaurant_ " is eating out)

\- anything not annotated can be done manually later

\- another script generated graph using Vega
[https://vega.github.io/vega/](https://vega.github.io/vega/)

It took time to set up, but I'd really rather script this than manually tag
every $ spent. Also there's no way I'm giving a third party my bank
credentials. Common bank APIs can't come soon enough.

------
hedora
For a few months, I tracked checking balance in a spreadsheet and did my best
to extrapolate out payments and paychecks for a month. The idea was to (1)
have checking live paycheck to paycheck, and put the rest in investments (2)
figure out what the actual household monthly budget is and (3) simulate
“affordable” mortgage payments based on income.

In practice, I managed to retime some of the monthly payments, lowering the
variance of the account balance substantially, which created another $5-10k to
invest. I also trimmed about $1k from the monthly budget with no lifestyle
changes.

For online services, I recommend personal capital’s free tier. It is what Mint
should have become.

------
jforjuancho
I was in the same position last year, here's what I did:

\- First month: Downloaded YNAB; every day or two, I logged into my bank
accounts and check all transactions, added transactions to YNAB (creating
budget categories as necessary). By the end of the month, I had a budget (a
very bad budget).

\- Second month: Review all expenses of previous month and create upper bounds
for budget categories (groceries, gas, going out money, books, etc.), removing
"unnecessary" expenses (mostly monthly subscriptions). Wrote scrapper for
fetching bank transactions.

\- Third month: Review last month budget and adjust accordantly.

And that's it. Just keep it simple.

------
ioddly
I use ledger, along with a couple scripts I've wired up (if I hit Win-Shift-B
I get a desktop notification with my current balances).

I actually appreciate the manual nature of it -- knowing I'll have to go to
the ledger and enter something after making a purchase has cut down on stupid
purchases.

The only thing I'm missing is a nice GUI summary with some pie charts. There's
a couple on GitHub but they either aren't up to date or I can't get them to
work like I expect. But I haven't looked too hard -- would appreciate a
pointer if there is one.

------
multani787
An application that:

1) Aggregates transactions from my checking accounts and credit cards

2) Summarizes them into daily net cash inflow or outflow broken down by
institution and account

3) Creates an all-day event in a private calendar in my google calendar
account where for each day:

The event name is the net inflow or outflow (event color is red or green
depending on net in floe or outflow.

The event body is text that shows institutions, accounts with their balances
nested underneath, and transactions nested underneath the accounts.

------
wheresvic1
I use a basic LibreOffice spreadsheet. There's a fair bit of manual inputting
of the data but the advantages are that it takes care of all sorts of cases,
from bank to cash transactions.

Importing bank transactions is easy. Regarding cash, one needs to keep a
regular track - I do this by tracking them on my phone as a note or something
and about once a week I'll enter in all the data into the spreadsheet.

I've been doing it for 8 years now and it's been amazing to see where the
money goes and where we can cut down :)

------
tonyedgecombe
I use ledger for my business and home accounts.

For the business it's OK as there are only a couple of transactions each
month, nearly all my business is pushed through Avangate/2Checkout so there is
just one invoice a month.

For my personal accounts it's rather unwieldy, I'm probably going to go switch
to something desktop based.

I won't use a SaaS product for either, I've had my fingers burn't once on that
already.

------
krupan
I started using gnucash again recently after a 10 year break. It has made some
progress around ease of use and there is an android version of it now too.
Still tedious though. I played with ledger and found it even more tedious.

Fava sure looks pretty, but I haven't tried it:

[https://beancount.github.io/fava/](https://beancount.github.io/fava/)

------
bluesilver07
I have been using buxfer.com so far. What I really like about it is that I
need to manually enter only cash transactions. I can link my bank accounts and
it will automatically record all credit card & bank transactions - I only need
to categorize them. However of late they have been unresponsive to support
requests. I wonder if there is even anyone working on the product.

------
daleco
I keep it easy by using mint (also good to track your net worth), set
different alerts on each category. I have automatic transfers to savings
accounts (investments, IRA, HSA, safety net...).

For sharing expenses with my other half, we are using Vermo for large items
(rent...), we're not tracking minor things. We discussed about a shared credit
card for common expenses (groceries...).

------
amorphous
I use excel. My goal is to find out my monthly costs of living and how much I
spend on extras like holidays and repairs.

Recently I have greatly simplified the process. It helps to have a separate
contactless card (eg Revolut), everything spent there goes into the monthly
living costs column, I don't care about the details.

------
ap46
Spendee + Keep & always backing them up half-yearly. I would love to create
something with markdown &
[https://github.com/remotestorage/remotestorage.js](https://github.com/remotestorage/remotestorage.js)
for storing user data.

------
TheCapeGreek
There's simple Android app called Expenses (red circle, dollar bills with a
yellow graph arrow). It's fairly fleshed out and allows for exporting to CSV.
Been using it almost a year. I plan on analyzing my data from it once I have
more.

------
mycentstoo
I just use my credit card for all my purchases and then the bank already
breaks it down by category. I'm not sure why I'd need a separate app and I
don't want to give banking credentials to third-parties if I don't have to.

------
raztogt21
One bank account, one credit card.

Record all income and expenses on iOS Spendee app. Set monthly, weekly
recurrent payments. It has been almost two years and has been working good so
far.

------
xupybd
After years of trying to find something that works for me I've finally found a
stack that works. The big issue I had was that I wanted something that could
import my bank statements. I found one of this issues here was that the bank
transactions had no id's so I couldn't tag the duplicates. Then I found most
banks allow you to export to ofx. This has ids and it has the balance at the
end of the statement. So I could auto import and de-duplicate. I started to
write my own thing but then I remembered something my boss taught me "Only
write software as a last resort". Basically meaning most problems are already
solved only write custom software if its really needed. So I looked around and
found ledger autosync (I love this tool). Then I use hledger for my actual
accounting. I rely heavily on automated transactions and virtual accounts to
do an envelop style budget. But its been amazing. I've been thinking about
documenting the work flow. If you are interested ask on this comment and I'll
put something together.

Ledger likes are not for everyone. I'd actually say they not for most people,
but I truly love the simplicity and flexibility. But I'd be using a text based
email client if it wasn't for everyone sending html emails, so I'm a bit
weird. That said having plain text files that you can manipulate is amazing. I
don't know why but with Gnu-cash I was always unsure about using import tools
and trashing my db. But with hledger I can try something and just roll back in
mercurial if I don't like it. I'm sure I could have made copies of my Gnu-Cash
files but I just feel more in control of hledger. Also hledger allows for
things like automated transaction that simplify envelope budgeting.

With auto sync and hledger, I've gone from my budget taking 1 - 2 hours a week
to 10 - 20mins. No more hunting for that one typo that meant my budget didn't
balance with my bank balance.

Hledger has also been fantastic as far as help. I've jumped on IRC a few times
for help and bug reports. The lead dev has been amazing. Fixing bugs the same
day and offering help on using hledger.

There are some great resources here
[https://plaintextaccounting.org/](https://plaintextaccounting.org/)

Auto sync is here [https://github.com/egh/ledger-
autosync](https://github.com/egh/ledger-autosync) Hledger is here
[http://hledger.org/](http://hledger.org/) How to do envelope budgeting with
ledger likes [https://frdmtoplay.com/envelope-budgeting-with-
ledger/](https://frdmtoplay.com/envelope-budgeting-with-ledger/)

~~~
viraptor
> Then I found most banks allow you to export to ofx. This has ids and it has
> the balance at the end of the statement.

Watch out with that. Unless you verify the output format yourself for a few
months, don't trust the exported ofx files. I haven't seen one bug-free yet,
but I've found: wrong values if memo contains numbers, bad date format
(minutes used for month), missing IDs, duplicated IDs, IDs generated with
every download, dates changing after processing, and some others.

I processed ofx files from a few banks and in the end reverted to CSVs.
They're less broken...

~~~
xupybd
Thanks for the warning.

------
atoz
GNU cash :)

[https://gnucash.org/](https://gnucash.org/)

------
icedchai
I total up my accounts every month, put it in a spreadsheet.

------
muminoff
I use Ledger encrypted with GPG commiting in my Github repo.

~~~
xupybd
Why not just use a private repo?

~~~
whatsstolat
If it is because it costs money, then bitbucket is your friend.

------
togusa2017
keep it simple. use mint.

~~~
yitchelle
This is basically offloading the record keeping to the bank. However, in an
environment where the cash transaction is king, using this method has little
value.

~~~
xupybd
People still use cash? I don’t think I’ve made a cash purchase in the last 5
years.

~~~
yitchelle
I live in Germany and cash is still the preferred here. My small town near
Cologne only started to adopt credit card about 6 years ago. When we arrive,
the only shop that would take credit card was the petrol stations franchises.

~~~
xupybd
Wow. Here in New Zealand we switched over to EFTPOS ( debit cards ) around 20
years ago. I was still in school when cash was becoming rare. Mid 30s now so
cash seems odd to me.

------
sawthinkar
something like expensify?

