Live data from Hacker News

Double Entry Accounting for Developers

django-hordak.readthedocs.io

41–50 of 237 posts

Re: Double Entry Accounting for Developers

#41

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…

> I mean, this is just....wrong. It's beyond wrong. The developer here is redefining established accounting terms because he doesn't like their inconsistencies.

> It's beyond wrong.

How so?

> The developer here is redefining established accounting terms because he doesn't like their inconsistencies.

Yes. What's wrong with fixing inconsistencies? Established accounting terms are from 500 years ago when people had trouble with subtraction.

Re: Double Entry Accounting for Developers

#42
Way back when I first tried switching to using Open Source alternatives to my previous apps, I wanted a Quicken alternative and tried GnuCash. Opening the help for the first time, I found it hilarious and ever so "open source software" of them that the help document opened with a whole chapter on how double book accounting worked, because of course you'd need to know that if you wanted to use GnuCash well.

Anyway, while it wasn't the best user experience, it was a pretty good introduction to double entry accounting: https://www.gnucash.org/docs/v4/C/gnucash-guide/basics-accou...

Re: Double Entry Accounting for Developers

#43

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…

Aside from the obvious PayPal, SQ, and Stripe, would you (and other folks) please share some companies one should look into?

Re: Double Entry Accounting for Developers

#44
post #10

I think the most important equation to understand about accounting is assets = liabilities + equity ROA, ROE, etc come from the above formula.

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…

> assets + liabilities + equity = 0

So how does this actually work? Say I worked for 8 hours at $25/hr. I get a $200 deposit in my checking account; that increases my assets. How is the sum still zero?

Re: Double Entry Accounting for Developers

#45
The debit and credit statement is incorrect. It depends on if it's an Asset, Liability, Equity Revenue or Expense.

Balance Sheet (Assets = Liabilities + Equity)

Assets (debits increase, credits decrease) Liabilities (debits decrease, credits increase) Equity Accounts (debits decrease, credits increase)

Income Statement (Revenue - Expenses = Income)

Revenue Accounts (debits decrease, credits increase) Expenses (debits increase, credits decrease)

A few rules:

Balance Sheet Accounts carry over every year. Things like cash, accounts receivables and payables, loans and equity in the company carry over year after year.

Income Statement Accounts close out at the end of the year and close in to the equity and cash parts of the balance sheet (depending if a dividend was declared). The Income statement accounts are zero at the beginning of every fiscal year. The balance sheet accounts carried over from the previous year.

One example of the above to illustrate the mechanics of double entry accounting:

Lets say you bought a car for your business in cash. you would credit cash (to decrease your cash account) and debit an asset account (a balance sheet account) for the car. when you depreciate the car over time you would credit the car account at some interval for the depreciation amount thus reducing its value and debit the expense in the current period thus increasing expenses in the current period.

The reason I know this is because completed an undergrad at ASU in finance/accounting and then CS after that. It was waste of time.

Re: Double Entry Accounting for Developers

#46

One thing I really appreciate about YNAB is that they ditched the obscure words with murky Latin roots and rules to memorize about flipping signs and whatnot, and just used the words "inflow" and "outflow". They don't mean anything different in this context than "debit" and "credit." But still, somehow, when you use the traditional words, the topic seems to be as difficult to explain as monads, while with the YNAB te…

The problem with "debit" and "credit" is that everyone learned the words backwards, thanks to the banking industry's terrible UX. "Your" debit and credit accounts are actually the bank's accounts for their relationship with you.

So when you start being your own enterprise, you have to unlearn the two most fundamental words you know.

Re: Double Entry Accounting for Developers

#47
post #16

Can’t tell whether it’s intentional as part of this slightly modified approach, but under classic accounting the contribution in the first example would be equity not income. I’m glad more accounting software is out there but tbh as accountant I can’t see myself using this. The whole debit always decreases thing kills a core part of the mental framework I use to reason through more complicated scenarios. I guess that…

> >accountants don’t like negative numbers. > That’s the first I hear of that It might be more accurate to say that Western accounting evolved before the concept of negative numbers became widely accepted in the Western world. Negative numbers were invented (or "discovered", depending on your preferences in the philosophy of mathematics) in China, and from there spread to India, and from India to the Islamic world by…

> And accountants do use negative numbers. But, maybe if modern Western accounting had developed in a culture that looked on negative numbers more positively (excuse the pun), they might use them much more than they do?

The division of accounts into credit- and debit-normal with a strong anti-negative-entry bias (to the point of contra sub-accounts for recurrent activities that go in the opposite direction of the parent account’s normal) seems to me like it provides an important QC feature, especially when books are kept or reviewed manually. It's a lot easier to see “this is not the kind of thing that belongs in this account” than “that is not the right sign for that activity”. And the resulting categorizations are useful in their own right, and it's important to remember that accounting is not just about adding numbers, but about categorizing the associated activities.

Re: Double Entry Accounting for Developers

#48

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?

BAL stands for "balance", and FSV stands for "financial state vector". Let's say that you have a transaction T, where $500.00 is debited to one account and credited to another account; in mathematical notation, this can be written as:

  T = I + |A>$500 - |B>$500
or:

  T = I + |A>$500 + |B>$500
depending on what basis you are working with (since you can just define |B> to point in the opposite direction if you want a different basis vector).

And then, you can have:

   = 0
It is easy to see that this equation is valid.

Re: Double Entry Accounting for Developers

#49
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…

> assets + liabilities + equity = 0 So how does this actually work? Say I worked for 8 hours at $25/hr. I get a $200 deposit in my checking account; that increases my assets. How is the sum still zero?

Transaction:

Income > Work: $200 (or $200CR)

Assets > Bank Account: -$200 (or $200DB)

This is exactly how it would be stored in any software system behind-the-scenes, and how it would be submitted in statutory accounts. The only thing that makes this look weird is that you are used to seeing your bank account statement with 'credit'. But that's only because the bank account statement is from their accounting perspective.

Money comes from somewhere (Positive, Credit); it goes somewhere (Negative, Debit).

The entire confusion about signs and what to add and remove, and what categories 'increase' with debit or credit, it all disappears when you allow negative numbers. I guarantee your accounting software _will_ simply store them as positive or negative. It is frustrating that it appears so complex simply because of avoiding negative numbers.

Re: Double Entry Accounting for Developers

#50
post #49

Earlier quoted context omitted.

> assets + liabilities + equity = 0 So how does this actually work? Say I worked for 8 hours at $25/hr. I get a $200 deposit in my checking account; that increases my assets. How is the sum still zero?

Transaction: Income > Work: $200 (or $200CR) Assets > Bank Account: -$200 (or $200DB) This is exactly how it would be stored in any software system behind-the-scenes, and how it would be submitted in statutory accounts. The only thing that makes this look weird is that you are used to seeing your bank account statement with 'credit'. But that's only because the bank account statement is from their accounting perspect…

I don't understand where the negative comes from. I just gained $200. Why would my bank balance go down by $200?!

If you're talking about the bank's perspective, why is that relevant to me? I'm just asking about how to do my own accounting.

Post reply on HN