Live data from Hacker News

Accounting for Computer Scientists

martin.kleppmann.com

21–30 of 79 posts

Re: Accounting for Computer Scientists

#21

Interesting. One of the side effects of having the zero sum rule for all transactions means that graphs can be superimposed on each other and also get a valid balance-sheet graph. Cool! Are loops possible? What do they mean?

loops represent the economy. Other than new currency from the Federal Reserve or Treasury, or physical dollar media being destroyed, its a closed loop system.

The “new currency” exception is very significant, because under our fractional-reserve banking system, banks have the power to create money.

If you deposit $100 in a bank, the bank can immediately loan out $90 of it to borrowers (who may put that money in their own banks, etc. etc.), thus creating money from nowhere. I.e., if those borrowers can’t pay back their loan and the bank writes it off, your $100 is still safe.

Re: Accounting for Computer Scientists

#22
post #4

"User-friendly" accounting software (such as QuickBooks) tends to obscure the fundamental simplicity of double-entry accounting. If you want to actually understand your books, use something simple and powerful like John Wiegley's ledger: https://github.com/jwiegley/ledger/

Been using ledger for over a year now and it was exactly what I was looking for. I have used various things in the past, but they never imported everything or didn't work for some edge case and eventually stopped using them. Being able to quickly write scripts on top of it for import, analysis, graphs, price and budget predication etc makes me a happy camper. Not to mention being text the files get saved in git for even more possible analysis :)

Re: Accounting for Computer Scientists

#24
Two observations.

First, coming from computer science, introductory accounting - the bookkeeping mechanics - is quite easy. I took a 101 class and was surrounded by future Lords of The Universe who complained about how "hard" it was to add and subtract numbers according to a small system of rules.

Accounting is a system of metrics. The system under measurement is your business. Its purpose is to give an accurate readout of business performance. The nice thing is that accountants produce lots of metrics and these can be used to probe the behaviour of different parts of the system.

Secondly,

> One thing to watch out for: profit doesn’t say anything about your bank account ... That’s why it’s possible for a company to be profitable but still run out of money!

This is why accountants produce a third document, the cashflow statement. It shows how cash is coming in and going out. This is different from the P&L statement, which deals with revenues and expenses, both of which may include future events as opposed to actual cash changing hands in the period covered by the report.

If there's one thing you absolutely must learn from accounting, it is that positive cashflow and profits are not the same thing. But if you run a business without both of them, that business is doomed.

Re: Accounting for Computer Scientists

#25
post #5

OH MY GOD! I finally understand why Sales is a liability on all the balance sheets I translate! !!!

It's not actually a liability; it's an account with a credit balance. Sales flows into retained earnings which is an equity account, which has a credit balance per the accounting equation of Assets (Debit balances) = Liabilities + Equity (Credit balances).

Re: Accounting for Computer Scientists

#26
post #8
post #4

"User-friendly" accounting software (such as QuickBooks) tends to obscure the fundamental simplicity of double-entry accounting. If you want to actually understand your books, use something simple and powerful like John Wiegley's ledger: https://github.com/jwiegley/ledger/

I wish I could vote this up twice. Ledger is awesome and strips away all the crap that gets in the way of actually seeing the data. There are also haskell and python implementations out there if that's more up your hacking alley.

Anyone know of a good Ruby clone?

Re: Accounting for Computer Scientists

#27
post #21

Earlier quoted context omitted.

loops represent the economy. Other than new currency from the Federal Reserve or Treasury, or physical dollar media being destroyed, its a closed loop system.

The “new currency” exception is very significant, because under our fractional-reserve banking system, banks have the power to create money. If you deposit $100 in a bank, the bank can immediately loan out $90 of it to borrowers (who may put that money in their own banks, etc. etc.), thus creating money from nowhere. I.e., if those borrowers can’t pay back their loan and the bank writes it off, your $100 is still saf…

I thought fractional reserve meant that the bank can now loan out $900, which is the creating money part. (perhaps you had a typo?)

Re: Accounting for Computer Scientists

#28
post #21

Earlier quoted context omitted.

loops represent the economy. Other than new currency from the Federal Reserve or Treasury, or physical dollar media being destroyed, its a closed loop system.

The “new currency” exception is very significant, because under our fractional-reserve banking system, banks have the power to create money. If you deposit $100 in a bank, the bank can immediately loan out $90 of it to borrowers (who may put that money in their own banks, etc. etc.), thus creating money from nowhere. I.e., if those borrowers can’t pay back their loan and the bank writes it off, your $100 is still saf…

[deleted]

Re: Accounting for Computer Scientists

#29
post #27
post #21

Earlier quoted context omitted.

The “new currency” exception is very significant, because under our fractional-reserve banking system, banks have the power to create money. If you deposit $100 in a bank, the bank can immediately loan out $90 of it to borrowers (who may put that money in their own banks, etc. etc.), thus creating money from nowhere. I.e., if those borrowers can’t pay back their loan and the bank writes it off, your $100 is still saf…

I thought fractional reserve meant that the bank can now loan out $900 , which is the creating money part. (perhaps you had a typo?)

No, they only loan out $90. But that is creating money. Where did that $90 come from? It didn't come out of your account; you still have $100. Imagine how pissed you'd be if you went to make a withdrawal and the bank said, "no, you can only have $10 right now, we lent the rest to somebody and they haven't paid it back yet."

Re: Accounting for Computer Scientists

#30
post #8
post #4

"User-friendly" accounting software (such as QuickBooks) tends to obscure the fundamental simplicity of double-entry accounting. If you want to actually understand your books, use something simple and powerful like John Wiegley's ledger: https://github.com/jwiegley/ledger/

I wish I could vote this up twice. Ledger is awesome and strips away all the crap that gets in the way of actually seeing the data. There are also haskell and python implementations out there if that's more up your hacking alley.

My favourite feature is this: like the article, ledger completely ignores any the concept of debits and credits. Negative numbers FTW!
Post reply on HN