Earlier quoted context omitted.
Ex-finance SWE here. I closed the article after that part. If you don't understand accounting and read this, you'll only be more confused when you learn how accounting actually works. For the most part, devs in general should not be teaching accounting. There's a reason that it is so challenging to earn a CPA.
> For the most part, devs in general should not be teaching accounting. There's a reason that it is so challenging to earn a CPA. Surely there's a big difference between earning a CPA and just knowing the basics of accounting. I had a summer job helping out with entry in a family member's small accounting firm. I don't think that double entry accounting is that crazy of a concept that it cannot be grasped by someone…
Double Entry Accounting for Developers
161–170 of 237 posts
Re: Double Entry Accounting for Developers
#162I couldn't understand double entry accounting until I found out about ledger-cli / hledger. These awful arbitrary "left-side / right-side" and "debit / credit" just doesn't make any sense. As opposed to that, no-magic approach from ledger-cli where every entry must balance is intuitive to learn and mathematically correct. And it allows to go a bit beyond the whole "assets / liabilities / expenses / income" if needed.
I started using ledger-cli when I started a new business a decade ago, and it's still being used today with employees and representatives in a dozen countries and sales in several different currencies. The only problem is interacting with outside accountants who will never have heard of it.
Re: Double Entry Accounting for Developers
#163Earlier quoted context omitted.
In a conventional double accounting system: Deposit Asset>Cash in Hand CR$1m Asset>Bank: DB$1m House purchase Asset>Cash in Hand CR$1m Asset>Property: DB$1m So all I'm suggesting is to use of negative numbers instead of tracking everything in terms of credits and debits. Deposit Asset>Cash in Hand $1m Asset>Bank: $-1m House purchase Asset>Cash in Hand $1m Asset>Property: $-1m In either case the value of your assets a…
I'm not talking about credits and debits. In the version of accounting I know the balance sheet (edit: I'm not talking about the transactions, I'm talking about the aggregate balance) says simply: ASSETS ====== $1mn Cash (in the bank) $1mn House ---- $2mn What does the balance sheet look like for you? -$1mn plus -$1mn, i.e. total assets -$2mn? Is that less confusing than total assets being $2mn when you have two asse…
But if you are doing accounting, debits and credits and balancing is important.
So yes, if you are happy to ignore debit/credit/balanced books, you are welcome to view asset as $2m. And lots of the simple accounting software will show it that way.
But by the time you are having to understand different types of accounts and different types of money in it, I think it is easier to use negative numbers are rather than CR/DB.
Re: Double Entry Accounting for Developers
#164Earlier quoted context omitted.
I'm not talking about credits and debits. In the version of accounting I know the balance sheet (edit: I'm not talking about the transactions, I'm talking about the aggregate balance) says simply: ASSETS ====== $1mn Cash (in the bank) $1mn House ---- $2mn What does the balance sheet look like for you? -$1mn plus -$1mn, i.e. total assets -$2mn? Is that less confusing than total assets being $2mn when you have two asse…
If the things you're doing are so simple that you don't have to worry about credit or debit, you are free to show it that way. But if you are doing accounting, debits and credits and balancing is important. So yes, if you are happy to ignore debit/credit/balanced books, you are welcome to view asset as $2m. And lots of the simple accounting software will show it that way. But by the time you are having to understand…
Believe it or not, I’ve seen financial accounts quite more complex than two lines (and they never included those CR/DB annotations in the balance sheets or income statements).
Re: Double Entry Accounting for Developers
#165Accountancy is(was?) widely taught in South African high schools. It was certainly quite common in the 1990s. I found it quite amusing when I realised that double-entry isn’t widely understood around the world, a realisation I came to after I first encountered one of many confusing “accounting for developers” posts on HN. It was quite easy for us 13 year olds to grasp: Assets=owners equity +liabilities (accounting eq…
The stumbling block for me learning it was understanding how to record the simplest and most common transactions like buying a banana. Surprisingly many explanations only use examples like paying your home mortgage where the credit and debit side of things are clear. But then they never tell me about where on earth does my banana go as a credit since I'm not stockpiling bananas to later sell. Even though that use cas…
Re: Double Entry Accounting for Developers
#166Earlier quoted context omitted.
The stumbling block for me learning it was understanding how to record the simplest and most common transactions like buying a banana. Surprisingly many explanations only use examples like paying your home mortgage where the credit and debit side of things are clear. But then they never tell me about where on earth does my banana go as a credit since I'm not stockpiling bananas to later sell. Even though that use cas…
If your banana is for consumption and you pay cash: Then debit Food Expenses (decrease equity) and credit Cash (decrease assets). Accounting equation is balanced. If your banana is for resale and you pay cash: Credit Cash (decrease assets) and Debit Trading Stock (increase assets). Accounting equation is balanced. If your banana is for consumption and you buy it on credit from your supplier: Credit Loan account (incr…
You’ll need to maintain consistency and coherence in multiple combinations of the above, and when the auditors show up, be able to show unequivocally that you understood every edge case when recording and reporting transactions, especially the ones that crossed a financial year boundary.
Accounting software mechanises all this. It is not simple.
Re: Double Entry Accounting for Developers
#167Accountancy is(was?) widely taught in South African high schools. It was certainly quite common in the 1990s. I found it quite amusing when I realised that double-entry isn’t widely understood around the world, a realisation I came to after I first encountered one of many confusing “accounting for developers” posts on HN. It was quite easy for us 13 year olds to grasp: Assets=owners equity +liabilities (accounting eq…
Re: Double Entry Accounting for Developers
#168Earlier quoted context omitted.
I think that's missing the point of the original article. Of course you have to present a view of the accounts that is consistent with accounting rules and conventions. But that doesn't necessarily mean you have to adopt that external view as an internal model for any software you're writing.
At audit time the world of “holy shit what were these people thinking?” will be colossal, because we do not get to pretend that a system is a black box at audit time. If those records don’t make sense to an accounting professional, then they’re fucked up, and that’s all she wrote. The world of audit has seen a million shysters try to falsify their books under the guise of alternative methods, and they are not interes…
The law does put some constraints on what accounting software must and must not allow users to do (e.g change data without leaving a trace).
But I'm not aware of any specific legal requirements regarding data representation or mandating the use of specific algorithms where mathematically equivalent ones exist.
Re: Double Entry Accounting for Developers
#169Earlier quoted context omitted.
I suspect accounting is a topic common in commonwealth countries curriculum (heh no pun intended) - Australia included it as well.
But the UK doesn't! That probably tells you something about the UKs relationship with the commonwealth.
Granted they have a bit of a reputation for being 'lesser' subjects. I don't really agree that everyone needs to be taught this though, most Britons don't have to 'do taxes', and aren't running companies. It should probably form a part of trades' apprenticeship training (and for all I know it does) due to the higher prevalence of self-employment (and thus running a business, and self-assessing tax even if not incorporated).
Re: Double Entry Accounting for Developers
#170Earlier quoted context omitted.
Also surprised by all these articles. But your point made me realise that most people didn't do accounting in high school like I did (also a South African). I wonder what some other uncommon high school curriculums from other parts of the world are. In retrospect I wish what we learnt in High School was more focussed on personal finance than essentially constantly doing double entry data capture.
I suspect accounting is a topic common in commonwealth countries curriculum (heh no pun intended) - Australia included it as well.