Live data from Hacker News

Double-entry bookkeeping as a directed graph

matheusportela.com

121–130 of 388 posts

Re: Double-entry bookkeeping as a directed graph

#121
My personal observation is that where many people struggle the most mentally is across the three statements (balance sheet, income statement, and cash flows), 1) that that balance sheet is point in time and the other two are over some period, but 2) how a record entry effects each of the statements…e.g. if you sell an asset for a gain causing a change in the composition of the balance sheet (asset > cash, reversals of accumulated depreciation etc.) income statement (income in excess of basis) and cash flow (actual cash received)

Re: Double-entry bookkeeping as a directed graph

#122

Double-entry bookkeeping is very easy to understand once you ditch the ridiculous "credit" and "debit" terminology. Essentially, the goal is to keep the accounting equation true at all times. The equation is: Equity = Assets - Liabilities. Eventually, earnings (Income - Expenses) will become part of equity, so splitting that out, you have: Equity + Income - Expenses = Assets - Liabilities. Rearranging to get rid of t…

> The "credit" and "debit" terminology is ridiculous because their definitions swap around depending on which account you're talking about, which is an utterly absurd (mis)use of language and the main reason people find this confusing

What would you suggest as an improvement? The article suggests "incoming" and "outgoing" which seems to have the same issue, as does everything I see in your comment (the person spending 5$ on lemonade sure as hell isn't putting 5$ in their accounts sales entry).

I'm not fully understanding the confusion both here and in the article.

Re: Double-entry bookkeeping as a directed graph

#123
Interestingly I sort of went in the other direction at one point -- converting what was obviously a graph (build pipelines) into a from-to / credit-debit representation. On reflection it's just an edge list.

My main problem with adapting the representation was in the incommensurability of different kinds of asset moving through the pipeline. How does one credit source code and debit a blob store? I thought about learning more about multi-currency accounting as a source for ideas but never followed it up.

That effort inspired my thinking about a "Universal Asset Graph" for software[0] -- keeping track of not just containment but also movement and transformation of software. It's a partial but not complete inspiration for GUAC, which aims to capture software part relations for easy querying.

[0] https://theoryof.predictable.software/articles/some-requirem...

[1] https://guac.sh

Re: Double-entry bookkeeping as a directed graph

#124

I think I'm missing something here. How does looking at transaction history as a directed graph help anything? Is it an improvement on the centuries-old "double-entry" practice? It seems to barely work with the toy example of couple transactions - imagine what the graph would look like with dozens or hundreds of edges between pairs of nodes. What use would there be for the typical algorithms that work with graphs? Th…

The article feels like a similar insight to the founding ideas of cryptocurrencies.

Engineers stumbling on foundational principles baked into other fields that software happens to be replicating.

Re: Double-entry bookkeeping as a directed graph

#125
post #20
post #15

Still too complicated. It goes wrong with "Let’s add the Transaction column to our table." Don't store the account data. Instead store the transactions. Compute the accounts from that. The table "Transactions" should have the fields: Date, Amount, SourceAccount, TargetAccount, Description. That is how it becomes beautiful in my opinion. Unlearn this habit of thinking in accounts just because that is what you know fro…

Isn't having to replay every transaction in history to query current balance rather inefficient?

Computers are astonishingly fast at summing integers.

Re: Double-entry bookkeeping as a directed graph

#126
post #113
post #88

Earlier quoted context omitted.

Every time money is exchanged, it has to come from somewhere and it has to go somewhere -- that's two places it need to be recorded (or "entered in the books"). Money can not be created out of thin air, and it can not be destroyed. Every movement of money has to be accounted for, which is why it's called "accounting". Double-entry accounting means you have to account for where the money comes from, and you have to ac…

What if your company decides to be generous and just gave 1000 to random Joe, what is the double entry for that?

Cash account is credited $1000, and Gifted (or Cash_Gifted) account is debited $1000.

Re: Double-entry bookkeeping as a directed graph

#127
post #58

Earlier quoted context omitted.

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 simultan…

> 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 exa…

> 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.

Re: Double-entry bookkeeping as a directed graph

#129
post #82

Earlier quoted context omitted.

It’s a checksum; by decomposing every transaction into a double of (credit A, debit B) that must sum to zero, you catch random arithmetic errors. You can think of it as “conservation of value”, so you can’t just create money out of thin air in your payment service (credit), without tying it to some account with a corresponding debit. This originally was intended to protect against typos; eg write a 10 instead of 100,…

> This originally was intended to protect against typos; Double entry bookkeeping is much older than typing, but, yes, its a check against incorrect entries.

Speaking of history, I learned that the word "control" comes from contra rotulus -- roughly "checking against the wheel", which was apparently from an early medieval device for keeping tallies. The second meaning of "domination" came later.

Re: Double-entry bookkeeping as a directed graph

#130
post #46

Earlier quoted context omitted.

You gained $20 worth of assets, so the counterpart of the $20 leaving your bank account is countered by your assets-account gaining $20 Now each year your book loses 1/5th of its value, due to wear and tear (4$ disappearing from your assets-account), this is countered by your depreciation-account (4$ tax write off, every year!) After 5 years, it is worth $0 according to your books, but you manage to sell it again for…

And how about food? I can understand a book having a resale value I keep in my books, but once I've eaten the hot-dog I bought it is gone forever.

> And how about food? I can understand a book having a resale value I keep in my books, but once I've eaten the hot-dog I bought it is gone forever.

Perishable and consumable food wouldn't be counted as an asset in the first place. You spend the money - it's credited to your asset account (reducing the value of your cash-in-hand) and then debited from your expense account (reducing the value of your equity - or, in more layperson's lingo, increasing the total sum of the expenses you incurred during that period).

Post reply on HN