logoalt Hacker News

NikolaNovaklast Friday at 11:21 PM15 repliesview on HN

I never understood double entry bookkeeping and that's where the author immediately loses me again:

Early on after 4th diagram, author includes sentence : "Because every transaction appears twice, once positive and once negative"

There is something so obvious about this to accounting folks that they always make the massive jump without any explanation. The previous diagram absolutely does not have positive and negative for each transaction! In fact, there is 5000 going into banking account and 500+5 coming out of it. Nothing in 4th diagram is obviously the negative of that 5k transaction, to me.

Similarly next sentence is "obviously" false: "If you partition the set of nodes into any two disjoint sets, and add up all of the balances in each set, then the sum for the one set is always the negative sum of the other set" -- the sum of the left two balances is minus five, and the sum of right three balances is 505.

And just like that, I'm completely lost and booted out of yet another accounting lesson without passing the introduction :-(

(fwiw, my experience of reading accounting is broadly the same as reading Plato: "it is obviously true that..." What, no, stop, that's not obvious at all, you gotta do better than that! :-)


Replies

LV123last Saturday at 12:29 AM

> I never understood double entry bookkeeping

While I completely agree with you and have had the same experience, I'll try to phrase it in a way that might "click" for you:

1. An account is an abstract bucket that aggregates things of the same type. For example, the "Sales" account contains all the income from sales and the "Furniture" account represents the value of all the furniture. The "bank account" represents your dollars stored in the bank.

2. A transaction is an event where something of value is moved from one account to another. For example, when you buy furniture, money goes out of your bank account and is "transformed" into furniture. When you get paid, dollars go from an "Income" account to a "Bank account".

3. The goal of double-entry bookkeeping is to show both the source and destination of every transaction. For example, if you have furniture worth $375 in your possession, where did that value come from? Right, a transaction "debited" the furniture account by $375 and also "credited" the "bank account" with the same amount.

I suspect the original article only makes sense if you already have a solid understanding of both graphs and double-entry bookkeeping though...

show 2 replies
Havoclast Saturday at 12:17 AM

>I never understood double entry bookkeeping

It only makes sense in the context of a company. Yes you can shoehorn it into a personal context and/or treating it like some sort of database like hn's accounting posts love to do but that's not what the real accounting world looks like at all.

An accountant armed with a low/no code solution isn't going to write great code. That I think is obvious to every hn reader. But somehow hn gang think they'll reinvent a system that has been in place for 100s of years because it's backed by a different DB tech that's better suited to double entry.

I know a decent bit of both worlds so that disconnect in perceptions always amuses me.

[As a side note I don't think the average tech guy gains much from learning "accounting". Even that is a complete misunderstanding of what it is. Unless you're dealing with cap tables and corporate structuring you're better off doubling down on personal finances & taxes and risk management...not double entry]

edit: yes am accountant, yes can code..rust and python mostly, not amazing at either

show 2 replies
cryptonectorlast Saturday at 6:24 AM

It's like Newton's third law of motion, that "every force has an equal and opposite reaction", which when I was a wee child made no sense to me because "surely then nothing would happen". The key was that the equal and opposite reactions are on different objects.

It's the same thing with double entry accounting! The two entries are on different accounts.

show 1 reply
throwaway74848last Friday at 11:38 PM

Accounting generally wouldn't depict it this way, and it's quite confusing with the bubble diagram. I always found it easier when looking at things called "t accounts" [1]

Anyway, for the example you mention, it's supposed to mean that it takes 5k from the bubble on the left (founder) and gives to next bubble (bank)

Then each line again takes from left and gives to the new bubble on right. So each line is a transaction that balances out by adjusting both sides.

[1] https://en.wikipedia.org/wiki/Debits_and_credits

show 1 reply
wodenokotolast Saturday at 9:51 AM

What made a lot of Econ and related stuff click for me is the idea that there is no such thing as a sale, only a purchase. When you buy a tv for $200, the electronics store buys $200 dollars of cash for $200 of TV.

So the electronic store hasn’t made any money on the transaction. They lost $200 dollars of tv and received $200 of cash. So the tv account got deducted 200 and the cash account got increased 200.

show 1 reply
V__last Friday at 11:44 PM

Every time it comes up in my life, I search for an easy answer, yet I haven't found one yet. It reduces errors, makes it easy to track things and other reasons... all don't make sense to me if there is no physical bookkeeping involved. I am nearly convinced the reason is simply: It has been done like that for centuries. That's it.

chronos00last Saturday at 11:27 AM

> the sum of the left two balances is minus five, and the sum of right three balances is 505.

Recheck your math the left two balances is actually 505.

5,000

-4,495

=====

  0505
its (4,495) not (4,995)

So it all balances out, which is what accountant actually do but intstead of choosing any two disjoint sets. Specific nodes are grouped into either Assets or Liablities+Equity. Essentially group all the accounts with negative balances and all the accounts with positive balances into another set. Which in this case is 5008 and -5008.

cijulast Saturday at 5:35 AM

We wrote about it here: https://finbodhi.com/docs/understanding-double-entry

It's just a convention to be able to capture the flow of money. Roughly, money comes in via Income, stays in Asset, goes to Expense (there is also Liability and Equity). Let's consider a home, as an asset. You could have got it with your own money (`Asset:Bank -> Asset:House`), or by taking a loan (`Liability:Home Loan -> Asset:House`). Both have very different implications. If you are just tracking current value of home, it won't capture the whole picture. E.g. if you want to sell the house, the price is going to be different in both cases.

Double entry is just a way to track the flow of money from these different categories of account. Once you have that, you can do a lot over it, generate all kinds of report that companies can use to understand their operations (and to share with investors).

There are even attempts to go beyond with triple-entry account, etc. I think the way to look at it is, companies need a way to understand and report the flow of money, the current state etc. Double entry helps with that. And they way it helps, it to keep track of both where money came from and where it went.

show 1 reply
antonvslast Saturday at 4:03 AM

Double entry bookkeeping is a view that was confused for a model centuries ago, and has persisted ever since.

There have been attempts to correct this, such as the "Resources, Events, Agents" (REA) model[1], which according to the Wikipedia article "is a standard approach in teaching accounting information systems." But it doesn't really seem to have had a substantial impact on the practice of accounting.

The bottom line from a modern system design perspective, is that double-entry accounting makes much more sense if you treat it as a view of some more fundamental underlying model. REA provides one example of such a model.

[1] https://en.wikipedia.org/wiki/Resources,_Events,_Agents

msaadatlast Saturday at 12:30 PM

The "double entry" stems from the fundamental accounting equation: assets = liabilities + equity. Whatever you have is either yours or borrowed. Change in one must have an equal change in the other to keep the equation balanced, otherwise you would lose track of how much you own and how much you owe.

For example, you have £200 in cash. £100 was your own earnings, £100 your mum gave you to pass on to someone. In pure single entry system, Cash account would have £200, with no distinction between the two. Double entry tracks ownership explicitly: £100 would be recorded in Equity and £100 in Payables.

show 1 reply
dragonwriterlast Saturday at 12:55 AM

> Early on after 4th diagram, author includes sentence : "Because every transaction appears twice, once positive and once negative"

This isn't quite right, but it is a simplification that works here.

> The previous diagram absolutely does not have positive and negative for each transaction! In fact, there is 5000 going into banking account and 500+5 coming out of it.

Yes, those are two separate transactions. Each arrow is a transaction, and each of the accounts that it connects reflects the transaction (one as a positive, the other as a negative.)

> Nothing in 4th diagram is obviously the negative of that 5k transaction, to me.

The arrow with the $5000 has both the positive and the negative.

Each arrow (each edge of the directed graph) represents a "negative" for the account at the tail and a "positive" for the account at the head.

felipellrochalast Saturday at 1:22 AM

Money must flow from a source to potentially multiple destination. Because of that previous fact, you must have at least two postings per transaction (the double in double entry). If you manage to move money correctly without any errors, those postings in that transaction will add up to zero, making it trivial to verify you've done everything correctly without any errors.

show 1 reply
bc569a80a344f9clast Saturday at 12:24 AM

> The previous diagram absolutely does not have positive and negative for each transaction!

But it does. The $500 transaction for furniture is an edge from the bank to the furniture asset account. This edge is outgoing from the bank account (-$500) and incoming to the furniture asset account (+$500). That’s it, that’s double entry bookkeeping. Each edge represents both entries.

adamcharnocklast Saturday at 12:11 AM

I wrote this a long time ago. It does tend to upset some people, but it did work as an accurate and testable mental model:

https://django-hordak.readthedocs.io/en/latest/accounting-fo...

show 2 replies
gamblor956last Saturday at 6:45 AM

This website is absolutely nonsensical and I would not recommend it to anyone to understand how GAAP or IFRS accounting works. It might be useful for someone wanting to learn unicorn fantasy land accounting.

Double-entry accounting is basically checksum. For any transaction, the total in and out of all accounts involved in the transaction should be zero. If it's not, you have an error.

Conceptually, one of the hard parts to grasp and what many accounting students struggle with in the beginning is that in accounting financials, asset accounts have the opposite polarity as revenue accounts. This is because revenue is treated as an item that flows into Equity (in the famous equation Assets = Liabilities + Equity). The cash earned from a revenue-generating transaction is a (positive) asset, and so to balance it you need that revenue amount to be a negative somewhere in the books. This just affects the accounting financial statements (like the income statement or balance sheet; in the books both numbers would be entered as positive amounts in a transaction known as a "journal entry" in which you report the increase to one account and the offsetting decrease to another account.

Credit = money flowing out of an account or creating a new liability = decreases asset and expense accounts but increases liability and revenue accounts

Debit = money flowing into an account or reducing a liability = increases assets and expense accounts but decreases liability and revenue accounts

show 1 reply