"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/
Accounting for Computer Scientists
31–40 of 79 posts
Re: Accounting for Computer Scientists
#32OH 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
#33Earlier 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…
It works like this, banks have an account with their money, and an account with your money, and an account with Bob's money, and an account with everyone's money. Bank: 100$. You: 100$. Bob: 0$. Bank's Vault: 200$
If you loan 100$ to bob the accounts now look like: Bank: 100$. You: 0$. Bob: 100$. Bank's Vault: 200$
If the bank loans the money to bob, who deposits the loan back into the bank: Bank: 100$. You: 100$. Bob: 100$. However, the bank is really adding a new account Loans's -1 00$. Note: (Loan's: -100$ + Bank: 100$ + You: 100$ + Bob: 100$ = Bank's Vault: 200$ ) By law they can can only give a negative value up to ~90% of the Bank's Vault's value to Loan's. Granted world wide there are more than 1 bank, but because people don't keep a lot of hard cash on hand loan's just end up being deposited in another bank in the system which can then loan the money back to your bank as needed etc.
PS: Now when Bank's Fail the Fed can actually make huge amount's of money from thin air, but that's a separate process.
Re: Accounting for Computer Scientists
#34Earlier quoted context omitted.
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."
perl -e'$s = 100; while($s > 0.1){$t = $t + $s * 0.9;$s = $s * 0.9;} print $t'
899.140495544283
(edited: I have no idea why HN dropped out the asterixes in that code...)
Re: Accounting for Computer Scientists
#35Earlier 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?)
"When cash is deposited with a bank, only a fraction is retained as reserves, and the remainder can be loaned out (or spent by the bank to buy securities). The money lent or spent in this way is subsequently deposited with another bank and increases the cash reserves of that second bank, allowing that second bank to keep a fraction of the new deposit and lend or spend the remainder. Thus the excess cash travels from bank to bank to bank creating new deposits as it goes. Although no individual bank does anything other than lend part of what is deposited with it, the practice of fractional reserve banking in a multi-bank system expands the money supply (cash and demand deposits) to a large multiple of the cash reserves in all banks."
There's a good table and graph illustrating the process down the page a bit:
http://en.wikipedia.org/wiki/Fractional_reserve_banking#Exam...
Re: Accounting for Computer Scientists
#36Earlier quoted context omitted.
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."
The $900 figure comes from the assumption that the $90 they lend out eventually lands in somebody else's account, and they then also lend out 90% of that $90, and then recurse that all the way down till there's nothing left to lend out again: perl -e'$s = 100; while($s > 0.1){$t = $t + $s * 0.9;$s = $s * 0.9;} print $t' 899.140495544283 (edited: I have no idea why HN dropped out the asterixes in that code...)
Re: Accounting for Computer Scientists
#37If you’re a real accountant reading this, please forgive my simplifications; if you spot any mistakes, please let me know. There is one pretty important section of the P&L / Balance Sheet that's missing . . . taxes. On that note, I am hosting a tax workshop on 3/15 @ Hacker Dojo in Mtn. View (very close to YC's office) http://www.transparentaccounting.org/self-employment
Re: Accounting for Computer Scientists
#38If you’re a real accountant reading this, please forgive my simplifications; if you spot any mistakes, please let me know. There is one pretty important section of the P&L / Balance Sheet that's missing . . . taxes. On that note, I am hosting a tax workshop on 3/15 @ Hacker Dojo in Mtn. View (very close to YC's office) http://www.transparentaccounting.org/self-employment
Re: Accounting for Computer Scientists
#39Two 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 read…
Well you can live without profits for sometime, if you run out of working cash, your stuffed. This is why loans, and factoring come in and is why even profitable business require loans because of bad cashflow.
One easy way to try avoid this, is to always try to get in flow payments coming in faster, and outgoings slower. Even if the net total is the same in end, it allows more flexibility with cash flow.
Accounting is obvious to me, but we probably haven't encountered the hard problems yet.
Re: Accounting for Computer Scientists
#40There are a few key pieces of functionality missing from this description, and what (I think) is a really important insight that wasn't really emphasised.
Key pieces missing: the hierarchical chart of accounts, and grouped transactions. (You want to be able to find each 'transaction' with Dell, even though one given transaction might include $4000 in depreciable assets, $1000 in extended warranties and other services, shipping, tax... each of which could be a different 'edge' on the graph itself.)
And the insight is that it's the edges that count; nodes don't matter -- if you're storing "account" objects with a "balance" property, it ought only to be for caching.