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'll write my own personal finance record keeping software.<p>Since this will be the first time keeping track of my own finances, I'd like to hear what has worked for others members of the Hacker News community.<p>[Firefly III]: https://firefly-iii.org/
[Transity]: https://news.ycombinator.com/item?id=17242136
[Ledger]: https://www.ledger-cli.org/
Here's a practical approach that have been working well for our family.<p>Forget about recording your transactions, it is way too tedious.<p>The solution: Use 'jars' for budgeting. Our jars are bank accounts.<p>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.<p>Then set an estimate of how much you be spend every week on groceries, transportation, etc. See this as your pocket money.<p>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.<p>Adjust the automatic transfer amount if needed.<p>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.<p>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.
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.<p>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.<p>I send him<p>>Beer 4 ( meaning I spent 4 on beer)<p>>wine 6 EUR ( meaning I spent 6 EUR on wine)<p>If I want to group things in a category:<p>>Beer is drinks<p>>wine is drinks<p>Don't forget to first set the expense currency.<p>>config ExpenseCurrency USD - (this will be the default expense currency if you don't specify otherwhise)<p>If you want to export just write:<p>> export expense<p>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.<p>I get a reminder/summary every day just to make sure I don't forget.<p>I have more commands
<a href="https://docs.google.com/document/d/1x7iYpbXJHGyQQ4CxA1W6LgLr_D8Z7TabxE5RVFJW1gE/edit" rel="nofollow">https://docs.google.com/document/d/1x7iYpbXJHGyQQ4CxA1W6LgLr...</a>
And more that I have not documented. Let me know if you need something.<p>It does not uses language understanding, behind it has a compiler so there is NO misunderstanding<p>If you try it let me know or contact <a href="https://twitter.com/cosmaioan" rel="nofollow">https://twitter.com/cosmaioan</a>
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.<p>You'll need two notebooks:<p>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.<p>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.
I had too many transactions to annotate without going insane. Currently:<p>- chrome headless downloads CSV with transactions from every bank account and every card<p>- everything's appended to an airtable database<p>- script sorts transactions into categories (specific: "local joe" is groceries and generic: "<i>restaurant</i>" is eating out)<p>- anything not annotated can be done manually later<p>- another script generated graph using Vega <a href="https://vega.github.io/vega/" rel="nofollow">https://vega.github.io/vega/</a><p>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.
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.<p>Here’s a good review:
<a href="https://thewirecutter.com/money/best-budgeting-apps-and-tools/" rel="nofollow">https://thewirecutter.com/money/best-budgeting-apps-and-tool...</a>
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.<p>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.<p>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.<p>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.<p>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.<p>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).
Default notes app:<p><pre><code> 22/06
-0.2 morning
-3 Jack
+2 John tires
-1.5 ?
</code></pre>
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.
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.
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.<p>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.<p>For online services, I recommend personal capital’s free tier. It is what Mint should have become.
I was in the same position last year, here's what I did:<p>- 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).<p>- 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.<p>- Third month: Review last month budget and adjust accordantly.<p>And that's it. Just keep it simple.
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).<p>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.<p>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.
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.<p>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.<p>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 :)
An application that:<p>1) Aggregates transactions from my checking accounts and credit cards<p>2) Summarizes them into daily net cash inflow or outflow broken down by institution and account<p>3) Creates an all-day event in a private calendar in my google calendar account where for each day:<p>The event name is the net inflow or outflow (event color is red or green depending on net in floe or outflow.<p>The event body is text that shows institutions, accounts with their balances nested underneath, and transactions nested underneath the accounts.
I use ledger for my business and home accounts.<p>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.<p>For my personal accounts it's rather unwieldy, I'm probably going to go switch to something desktop based.<p>I won't use a SaaS product for either, I've had my fingers burn't once on that already.
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.<p>Fava sure looks pretty, but I haven't tried it:<p><a href="https://beancount.github.io/fava/" rel="nofollow">https://beancount.github.io/fava/</a>
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.
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...).<p>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...).
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.<p>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.
Spendee + Keep & always backing them up half-yearly. I would love to create something with markdown & <a href="https://github.com/remotestorage/remotestorage.js" rel="nofollow">https://github.com/remotestorage/remotestorage.js</a> for storing user data.
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.
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.
One bank account, one credit card.<p>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.
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.<p>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.<p>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.<p>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.<p>There are some great resources here <a href="https://plaintextaccounting.org/" rel="nofollow">https://plaintextaccounting.org/</a><p>Auto sync is here <a href="https://github.com/egh/ledger-autosync" rel="nofollow">https://github.com/egh/ledger-autosync</a>
Hledger is here <a href="http://hledger.org/" rel="nofollow">http://hledger.org/</a>
How to do envelope budgeting with ledger likes <a href="https://frdmtoplay.com/envelope-budgeting-with-ledger/" rel="nofollow">https://frdmtoplay.com/envelope-budgeting-with-ledger/</a>