Live data from Hacker News

Double Entry Accounting for Developers

django-hordak.readthedocs.io

31–40 of 237 posts

Re: Double Entry Accounting for Developers

#31
Oh wow, I posted this earlier and assumed it hadn't been picked up. From people's comments here it sounds like I may have missed the mark on some of this. Pull requests always gratefully received.

None the less, the result has been some software which seems to have worked well for those that have used it. I certainly haven't received any angry issues.

I'll link to this thread from that page.

Re: Double Entry Accounting for Developers

#32

Note to people looking for job security: there is a HUGE need for developers who understand finance. The fundamental problem is that most finance people can't speak the language of software development (the biggest problem I've seen is that finance people tend to be very poor at writing out a spec of what the software should do - they're much better at looking at a set of examples and then telling you if the calculat…

Interesting. Are there any other fields which desperately need this cross culture?

Re: Double Entry Accounting for Developers

#33
post #9

I used ledger [1] to track all of my expenses for roughly four years. It's a command line based double entry accounting tool. It was super interesting in terms of figuring out where money went and general double entry accounting techniques. That said, it was a ton of work to keep up to date given that I was trying to track money when I spent it vs when it cleared my bank account, and those two often varied by several…

This is what I use as well and I concur it can become pretty tedious. My biggest issue is with Amazon purchases - I can enter everything in at the time of purchase but Amazon will batch together various charges, so what I have in my ledger never matches my credit card statement unless I carefully sum the correct batches together. First world problems, I suppose.

Re: Double Entry Accounting for Developers

#34
post #10

Earlier quoted context omitted.

I always felt that equation was confusing. Because then the sign has to be taught separately, or numbers have to have two columns (credit and debit) and you need to understand where each one is. assets + liabilities + equity = 0 Seemed much more general. Double entry just became: everything (transactions, whole companies) sum to zero. Then just one other little thing (where money comes from in a transaction is positi…

Think of it this way: Assets - Liabilities = Equity If we deduct everything that we owe (Liabilities) from everything that we own (Assets), whatever is left belongs to the shareholders (Equity).

Except in your case you need all the rules about income and expenses. And loads of grey cases get weird (it is possible to have assets or liability of the wrong sign), and require serious accountancy expertise to know all the rules to get them back to the signs that you expect.

Or you can use negative numbers and everything just works.

Your financial software _will_ use my approach. As do the most sophisticated software of the most complicated companies. But their presentation gets mangled through a complicated series of rules for archaic reasons.

Re: Double Entry Accounting for Developers

#35
post #17

One of the best developer-oriented explanations of accounting I've read is "Accounting for Computer Scientists" by Martin Kleppmann.[0] He explains double-entry accounting visually in terms of graph theory. Even though I'm not very good at graph theory, I found the diagrams and explanations extremely intuitive. [0] https://martin.kleppmann.com/2011/03/07/accounting-for-compu...

I had the same idea once, with the same sort of diagrams, except without the colours.

Re: Double Entry Accounting for Developers

#36
Not an accountant or a mathematician, pt 4 reminded me of an issue I had dealing with numbers in a table. The annoying thing that happens with SUBTRACTION (i.e. the process that generates negative numbers) is 2 milion - 2 million and 2 - 2 both give the same result. What is lost, is whether a big change has happened or a small change.

And sometimes when change happened I didn't want to loose that info so I used addition instead and put it in a "special" column.

Re: Double Entry Accounting for Developers

#38

From the site: "I found the core explanation of double entry accounting to be confusing. After some time I distilled it down to the following: "Debits decrease the value of an account. Always. [1] Credits increase the value of an account. Always. [1] "[1] (1, 2) This is absolutely not what accountancy teaches. You’ll quickly see that there is a lot of wrangling over what account types get increased/decreased with a d…

The operation performed by debit/credit depends on the classification of the accounts. Accounts are listed traditionally with Assets on the left, and Liabilities and Equity on the right. A debit to a Liability account is a minus, and a credit is a plus, but it's the other way around on the asset side, where a debit is a plus, and a credit is a minus. (This kind of thing happens when English mugs other languages - Italian in this case - for its vocabulary).

The easy way to remember this is just to think that the right hand side is what you think it should be, and the left hand side isn't.

Double entry book keeping is under appreciated - it's one of the earliest examples of error correction and detection coding kicking around.

Re: Double Entry Accounting for Developers

#39

I learned double entry accounting. "Debits decrease and credits increase" is just one way to represent the numbers; I have also seen the other way around (where debits are positive). But more commonly, the presentation is such that debits increase the accounts on the left, and credits increase the accounts on the right. (Nevertheless, the explanation there does work.) Some time ago (while I was bored in the accountin…

Can you elaborate more on your invention, and how matrix maths work with that equation?
Post reply on HN