Hacker News new | ask | show | jobs
by btown 806 days ago
In all fairness, if you're trying to understand a piece of software like Quickbooks and are not coming from an accounting background, anthropomorphizing each "account" at your company as an individual actor with their own ledger can actually be a helpful mental model. Everything needs to be a dance between actors, and, for instance, when you make a vendor payment in cash, you can only do so as a message sent simultaneously to the Accounts Payable actor and the Cash actor, and each actor must accumulate the effects of that message/event in the way that makes sense. (Namely, each one will translate the event into credits/debits based on the characteristics of who they are, and maintain a balance accordingly. Double-entry, I suppose, means each event must be ingested exactly once by an even number of actors.)

If you're building payment rails, that event might itself be one of a pair of events, sourced from a meta-event tracking the transaction intent. (As a meta-point, I find it much more useful to think of the "graph" in accounting as having edges not made of money, but of data in a derived-event hierarchy.)

And a first step towards being able to have that mental model is ensuring that you have a good mental model of multiple physical-human actors accumulating events in a structured and atomic way.

But the OP doesn't actually make it clear that this is what the analogy is in service of! And I fear that the OP article will cause more confusion than it solves.

3 comments

>Double-entry, I suppose, means each event must be ingested exactly once by an even number of actors.)

No, the number of accounts (actors) does not have to be even. The sum of debits and credits has to be equal (or zero if you like).

You're right - it was a silly thing for me to write! Something more accurate would be that because debits and credits must balance, there is no way to send a message that would only be seen by a single account (other than a no-op); thus, any meaningful transaction will have an impact on at least two accounts.
Agreed.
anthropomorphizing the accounts is not the problem. the problem is that in the example the two parts of the double-entry are the two partners of the transaction. to anthropomorphize properly alice and bob would be two employees of the company buying a book from a bookstore.
> if you're trying to understand a piece of software like Quickbooks and are not coming from an accounting background

Unfortunately, QuickBooks won't help you understand accounting. It's not a true double-entry accounting system, at least it wasn't the last time I touched it. That said, it still does its job and does it well enough, and real accountants are fine with dealing with it.

Simply Accounting is a better example of a true double-entry system.

> Unfortunately, QuickBooks won't help you understand accounting. It's not a true double-entry accounting system, at least it wasn't the last time I touched it.

QuickBooks absolutely is a double-entry accounting system. The "bookkeeper" mode abstracts away and hides what's going on under the hood, but if you enter "accountant" mode, you'll see the full ledger, and you can even make direct journal entries to modify it.

I must have only ever encountered it in "bookkeeper mode". That abstraction is likely what threw me off!
> I must have only ever encountered it in "bookkeeper mode". That abstraction is likely what threw me off!

I personally find the bookkeeper mode very confusing, and having observed others (non-accountants) using it to manage small businesses, I think that folks would be better off taking a one-day course in accounting and learning just enough to use it in accountant mode.

You don't have to be a CPA, just literally enough about A = L + E to follow the flow within Quickbooks and record one side of each entry.

> It's not a true double-entry accounting system, at least it wasn't the last time I touched it.

Can you elaborate? I've used Quickbooks for over 15 years and it has always been a true double entry accounting system during that time.