Hacker News new | ask | show | jobs
by somat 847 days ago
Not really, I don't do much in excel anymore, And I probably should not be giving advice as I have no classical training in accounting. But the ledger docs have a pretty great introduction to basic accounting theory. It is not too difficult to apply this theory into whatever data storage engine you are using.

https://ledger-cli.org/doc/ledger3.html#Principles-of-Accoun...

the data page might be as simple as

  id|date|comment|from|from_amount|to|to_amount|balance_func()
then a few report pages summing the values
1 comments

That simple schema fails to represent split transactions. I went the superstore and bought groceries, computer gear, and a new battery for the car. Oh and my spouse handed me a $100 bill to cover some of the cost.
Yes, a simplified schema like that fails to capture the entire semantics of a transaction. However, I find for personal finance I never need full transaction semantics and simplified two party semantics are much easier to enter and calculate.

I will be honest, I use ledger and I like how it can express the complex transaction, however I also have to admit that I have never used them. If I were storing my finance data in a relational database or a spreadsheet, I would be very tempted to use the simplified two party model. I probably would not actually do it, but when I am elbow deep in code making sure to handle N-Party transactions correctly, I would be tempted.

The author of the plain text accounting system(PTA) went with this simplified model and made a good case for it, one line per transaction is much easier to parse, for both the human reading them and the machine. note that PTA does support split transactions but they are the special case.

https://mandoc.bsd.lv/pta/README