Hacker News new | ask | show | jobs
by rjinman 805 days ago
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 the minus signs you get: Equity + Income + Liabilities = Assets + Expenses. This equation must be true or something has gone wrong - like money appearing or disappearing out of nowhere. To keep it true at all times, it should be clear that any time you add money to an account on the left side of the equation (say, to an Income account), you must either add the same amount to an account on the other side or subtract the same amount from the same side.

For example, you sell a lemonade for $5. You add $5 to Sales (Income) and add $5 to Current Account (Assets).

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.

15 comments

The accounting equation is the right thing to think about. People want debit and credit to mean something more than they need to.

My 100-level accounting instructor said it pretty succinctly: Debit means an entry in the left column. Credit means an entry in the right column. What a transaction means for the business depends on the accounts.

It sounds like your accounting instructor may have focused too much on implementation details (left/right), and too little on accounting principles.

The terms debit and credit have meaning independent of their columnar position on a traditional ledger. I could create a ledger with the columns reverse or (shocking!) use a computer program with a data structure that doesn't encode the concept of left or right.

I think about it like this:

  CR / Credit / Creditors -> what the business owes
  DR / Debit / Debtors -> what the business owns
A CR entry is an increase is what the company owes (to creditors or shareholders), and a DR is an increase in what the company owns.

A common objection to this is 'what about income and expense accounts'? But those are just equity: https://news.ycombinator.com/item?id=39991837

I wrote more about this here: https://news.ycombinator.com/item?id=32498992

The sheer amount of discussion this has created (both here and back in August, 2022, when you and I commented back and forth to each other in your link) validates my my instructor's philosophy to me. Concentrating on the accounts and the accounting equation, ignoring any "meaning" for the words debit and credit, results in the "right answer" without a lot of consternation.
I completely agree with this; I remember reading that prior thread on double entry accounting and being so frustrated and confused about the use of debit/credit terminology and then, as now, your comments (and others) were very very helpful and insightful.

Something I find frustrating is the - almost - endless debate and nitpicking on small details or elements implied but not explicitly stated...but I guess people are trying to be helpful (or right).

I didn't have an account to comment then but I really appreciated your perspective; it was extremely valuable seeing a few people saying 'forget about the credit/debit nomenclature, it's confusing' and recognising not everyone knows the terminology. Now I have an account here and can thank you for fighting the good fight again.

I agree that the accounting equation is a good starting point. Without it there is no context for the individual accounts.

Over the ~20 years since I qualified as an accountant, I've found the concept of debits and credits useful. It has saved me from memorizing rules (like what's on the left and what's on the right), to design charts of accounts, to design rules for recording transactions etc.

Someone who doesn't ever need to design charts of accounts or accounting policies, and is never called upon to verify the correctness of an accounting approach, probably doesn't need to understand debits and credits. They can read a balance sheet and income statement without thinking about the concept.

And many people (even bookkeepers and accountants) are content to memorize rules without needing to understand their source.

But that doesn't mean the underlying concepts don't exist, or that they aren't valuable.

Imagine if there were a subreddit for accountants, some of whom dabbled in coding. There might be a back and forth about principles of objects oriented design. The general consensus might be that it's pointless to understand the principles, and that it would be better to focus on some small set of rules of thumb, that give the right answer in most cases.

They might be right in that context (accountants who code on the side), but it doesn't mean the principles don't exist or aren't valuable for people who do that stuff all the time.

(BTW I think accounting is, in general, taught very poorly. I wish more instructors used Frank Wood's books. An intuitive grasp of debits and credits is really useful and not hard to pick up, yet many people spend a semester studying accounting without developing any intuition at all.)

That's too simple. That logic roughly works the balance sheet. However, it says nothing about the income statement.

For the income statement, CR -> revenue and DR -> expense.

I addressed this earlier: https://news.ycombinator.com/item?id=39991837

When you record transactions in accounting, you're updating various account balances, such as assets, liabilities, and equity. These updated balances contribute to the creation of the balance sheet, which provides a snapshot of a company's financial position at a specific point in time.

The income statement, on the other hand, reflects the changes in these balances over a period of time. There's nothing special about the line items on the income statement (e.g. revenue or expense). Any value on the income statement represents a change in what the company owns (assets) or what it owes (liabilities or equity).

> Debit means an entry in the left column. Credit means an entry in the right column

But that just shifts the arbitrariness of the whole thing from the words "debit" and "credit" to the words "left" and "right".

I think his intent was to prevent students from fixating on making the words debit and credit "mean" something by themselves. A debit doesn't have some intrinsic meaning about the "flow of money". It's just an entry in the left column. On the other hand, a debit to Accounts Receivable actually means something.
> A debit doesn't have some intrinsic meaning about the "flow of money".

But it does. "Debit" is an English word with an established meaning in common usage. It means to take money out of an account. It is related to the word "debt" which is something that decreases the net worth of the debtor and increases the net worth of the creditor. If you overpay a bill, the (positive) difference between what you paid and what you owed is a credit on your account, and can be used just like money to pay your next bill.

That's not entirely correct- or at least, it's more complicated than that. The question of whether a debit/credit increases/decreases an account has to do with the kind of account you're talking about.

When I deposit money, it modifies two accounts at the bank:

- the account which represents how much money they owe me - and the account which represents how much money they have on hand.

The former is a liability, and the latter is an asset.

The meaning of debit/credit is reversed between these two types of account. So, when I deposit $100, the entries entered are:

    - CREDIT mhink's account $100 (increasing liability)
    - DEBIT cash account $100 (increasing asset)
Since we only see one side of this, we start to associate "debit" with "less money for me" and "credit" as "more money for me".

Oddly enough, another common financial situation reinforces this interpretation from the other direction: accounts with utility providers. Unlike the bank, your account at the utility company represents how much you owe them. So the meaning of debit/credit is reversed, but so is the direction of responsibility: your account at the utility provider is money you owe them, which is an asset. So when I pay them $100, the entries entered are:

    - CREDIT  mhink's account $100 (decreasing asset)
    - DEBIT   cash on hand $100 (increasing asset)
The problem is that whether something is an asset or a liability depends on your point of view. If I have $100 in cash, that is an asset to me and a liability to the rest of society. If I have a $100 loan, that is a liability to me and an asset to my creditor. So there is no way to say whether something is an asset or a liability in an absolute sense. Every debt is an asset to the creditor and a liability to the debtor.

This has nothing to do with labeling transactions so that the labels conform to the common meanings of English words. When an account representing assets has its balance go up, that's a credit. When an account representing a liability has its balance go up, that's a debit. And vice versa. If I, say, draw down a line of credit for $100 and deposit the funds in my checking account, then from my point of view, my LoC should debited by $100 and my checking account should be credited for $100.

This makes sense regardless of how you think about the LoC. If you think of the available credit as an asset, then when you draw down the LoC the available credit balance goes down and it's a debit. If you think of the amount owed on the LoC as a liability, then when you draw down the LoC the amount owed goes up and it's still a debit.

> CREDIT mhink's account $100 (increasing liability)

No. This transaction does not increase liability in any absolute sense. It increases liability only from the bank's perspective. From your perspective, it increases assets.

> If you overpay a bill, the (positive) difference between what you paid and what you owed is a credit on your account

Or it's a debit on the company's account. I think that's the point that was being made; not to confuse technical terms with English common usage, and not to go to the dictionary or etymology(!) as the arbiter. Debits are credits and credits are debits, but the real question is which column does it go into.

Same nature as discussions about clients/servers.

> Or it's a debit on the company's account.

That's exactly right. They owe you money, so it is (or at least it should be) a credit on your account, and a debit on theirs. But that is not what the definition given in the article says. TFA's definition of "credit" was "An entry that represents money leaving an account" and likewise a debit is "An entry that represents money entering an account." So when you paid your bill, that was (by the articles definition) a credit to your checking account and a debit to your account with company whose bill you were paying, which is exactly backwards. According to the standard English definitions, a credit is something that makes your net worth go up, and a debit is something that makes your net worth go down. So when you pay your bill, that should be a debit to you (cash going out decreases your net worth) and a credit to the counterparty (cash coming in increases their net worth).

> Same nature as discussions about clients/servers.

How so? It seems to me that distinction is clear: the client is the machine that initiated the connection, the one that did the DNS lookup.

But at that point how can you tell if something goes left or right?
And what if there are no columns? Google "journal entries for X" and you're going to find something like this:

  Dr accountX £100
  Cr accountY £90
  Cr accountZ £10
Left and right was fine when T accounts were universally used to record entries, but that's no longer the case.
I did, opened one random top result

https://www.deskera.com/blog/journal-entries/

And got left/right as explanation and also as left and right columns

Clearly I overstated my case. I'm not denying that columns are often used, especially in educational material. It's just no longer as universal as it once was.

https://www.accountingweb.co.uk/any-answers/vat-double-entry

Yeah, GP really undermined their point with the whole "google x" and see.

For most people who aren't accountants though, the spreadsheet thing is correct.

Right - the words themselves aren't as important as the concept. Any replacement word will suffer the same confusion. There's a reason that the language of debits and credits has largely remained the same for the past thousand years, and the language describing accounting is unlikely to be 'optimized' by first-principles CS concepts from people only loosely familiar with the field.
Well said. It's actually not complicated or arbitrary. It also works effectively in practice over the gdp of the known universe. If you are savvy enough to be interested in and understand the different computing approaches to double-entry bookkeeping, one can assume the whole DR/CR concept isn't beyond you.
There's a reason, but it's definitely not that any replacement is just as bad since that's close to an impossibly strong statement
'Double-entry bookkeeping is very easy to understand once you ditch the ridiculous "credit" and "debit" terminology.'

I love it, let's do it!

Thank you this is very helpful.

The whole credit/debit terminology usage here is incredibly confusing to someone who hasn't studied accounting and many of the comments and replies to people who are confused are, while technically correct, simultaneously, unhelpful - to those not familiar with the terminology.

I read a comment earlier: "Why would my bank account be debited when the balance went up? Is a debit not negative? Is the cash balance presented as a negative?" And thought: "Yes! Great question! This doesn't make sense..because debits are always negative right? A direct debit takes money out, you spend money using a debit card, a debit is a debt right? So debits are always negative and debiting is always minus-ing money..." - but the replies, while technically correct weren't satisfying at all because they assumed knowledge.

It's both amusing and frustrating to watch people effectively speaking past each other like they're talking a different language. Especially when you have the same perspective as the person who is confused and trying to seek understanding. It seems like people nitpick on small points of what was said seemingly in order to be right.

I think the fundamental problem is the traditional accounting equation:

  Assets + Expenses = Liabilities + Equity + Income
We try to group the accounts by left and right side and find a common term for them (credit-normal and debit-normal). But it’s really hard to come up with an intuitive answer for why Assets and Expense should be on one team, and why the rest should be on the other team. So we just pick some team names and say shut-up-and-calculate.

What if we re-arranged the equation to:

  Assets - Liabilities = Income - Expenses
The accounts on the left side track your net worth. The accounts on the right side track why net worth changes. What should be the names for the two sides? I call them State and Change.

You can then ditch credits and debits and ask - what is the impact of this financial transaction on my net worth? The equation will tell you which accounts should go up and go down using positive and negative numbers.

I go more into how this works here: https://news.ycombinator.com/item?id=39994335

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

When I talk to accountants, I get confused with debit/credit so I use "increase" and "decrease". Everyone seems to understand me fine. For example, "Decrease cash", to buy equipment "increases assets". "Increase cash" by borrowing money is "increasing liability".
Indeed, the dirty secret is that many accountants think of debit and credit as decrease and increase as well. After using the terms for a little while they switch the symbol (word) they think of, but it still retains the same meaning. They are basically synonymous.

source: friends and family members who are accountants and have generously given free bookkeeping tutorials

>Indeed, the dirty secret is that many accountants think of debit and credit as decrease and increase as well.

So how would you correctly express the parent's example in terms of debit/credit if debit/credit are synonymous with decrease/increase?:

>>"Increase cash" by borrowing money is "increasing liability".

"Crediting cash by borrowing money is crediting liability" would sound obviously incorrect to any accountant.

Passing on the answer I got:

> I wouldn't say "they are basically synonymous" because there are situations where they flip depending on the rules/approach that you are following. After working with it you get pretty familiar with these situations and don't really even translate anymore. It's important to remember though that there are books the way most people see them, and the way an accountant following GAAP sees them. "Increase" and "decrease" are quite helpful for most people the way most people see the books. If you are applying GAAP it's like working in a different language where words don't cleanly translate.

Given that we are mostly talking about double-entry in this thread, I think he is basically telling me I'm wrong but trying to explain how I came by it honestly so I don't feel stupid :-D

To quote the famous Bender from Futurama: "I’m so embarrassed. I wish everybody else was dead."

> What would you suggest as an improvement?

Use the intuitive meaning of the words: a credit means you have money coming in, a debit means you have money going out. An increase in assets, income, or equity is a credit, and an increase in expenses or liabilities is a debit, and vice versa.

Or, alternatively, just use "credit" for any increase, and "debit" for any decrease. But this:

"Definition 6: Credit - An entry that represents money leaving an account."

is just totally backwards.

>Use the intuitive meaning of the words: a credit means you have money coming in, a debit means you have money going out. An increase in assets, income, or equity is a credit, and an increase in expenses or liabilities is a debit, and vice versa.

An increase in assets is a debit.

>Or, alternatively, just use "credit" for any increase, and "debit" for any decrease.

How is this consistent with the fact that an increase in my bank account balance is a debit?

You have completely missed the point, which is that the way in which accountants use these words is unnecessarily confusing because it does not align with the common English definitions of the words "credit" and "debit".
Yes, sorry, I was defending the established terminology without making clear why.

My problem is that your alternatives don't just change the words, they change the logic. The invariant of debit/credit is that they need to balance out.

If you choose words that can occur on both sides of the equation then this is no longer true and you're throwing out a lot more than just the admittedly unintuitive meanings of these words.

> My problem is that your alternatives don't just change the words, they change the logic.

No, they don't. They just change the words you need to express the logic.

> The invariant of debit/credit is that they need to balance out.

Sure. So? If I give you a dollar, that's going to balance whether we call that a debit to me and a credit to you or a credit to me and a debit to you. The labels don't matter.

The common English use of 'credit' and 'debit' is correct, as they ought to be since we learned them from banks.

Most people are only aware of one type of account, a liability account managed by the bank in their name.

The mistake is that we talk about them as "our" accounts.

> The common English use of 'credit' and 'debit' is correct,

Yes, by definition.

> The mistake is that we talk about them as "our" accounts.

No. The mistake is the failure to recognize that every account is actually two different accounts, one for each party to a transaction. A bank account looks different to the bank than it does to a depositor or to a borrower. To a depositor, a positive balance is an asset -- quite literally "money in the bank". To the bank, a positive balance in a deposit account is a liability, a loan that it has taken from the depositor on which it must pay interest (at least sometimes) and which it must eventually pay back. To a borrower, a positive balance on a loan is a liability, to the bank it's an asset. Every financial asset is a liability to some counterparty. Even cash is a liability to society at large. So whether something is an asset or a liability depends entirely on your point of view, and so if both parties are going to use the same number to represent an account balance, it is an arbitrary choice what the sign represents. A positive number is always going to be an asset to one party and a liability to the other. Which is which is totally arbitrary, except that there are some deeply entrenched conventions: a positive balance on a deposit account at a bank represents an asset to the depositor, a liability to the bank. A positive balance on a loan represents an asset to the lender, a liability to the borrower. A positive balance on an invoice represents an asset to the seller and a liability to the buyer. But there is no inherent reason why it has to be that way, it's just tradition.

Likewise, whether "credit" means "increase" or "decrease" is also simply a matter of convention. A "credit" to a deposit account means the balance goes up. A "credit" to a loan account (i.e. a loan payment) means the balance goes down. The thing that unifies these things is that a "credit" is either an increase in an asset or a decrease in a liability since both assets and liabilities are recorded by convention as positive numbers. So in isolation (i.e. without a balancing double-entry transaction), a (positive) credit increases your net worth and a (positive) debit decreases it.

It doesn't matter about the person buying lemonade. Their accounts are theirs alone and don't affect your accounts.
I solve this by remembering "debit = destination" (d=d) in all cases.

Examples:

If you deposit money into a checking account (asset) that is a debit (account increases) because the money "goes to" in that account (destination).

If you borrow money from a credit card (liability) that is a credit (account increases) because the money "comes from" that account (not destination).

The hard part is remembering debit accounts increase with debits, and credit accounts increase with credits.

Because people don't understand that credit and debit only make sense in the context of the account being applied to. If you deposit money to your bank account, it's a credit in your <name of back account>. If you withdraw money from the ATM, you debit your bank account and credit your cash account. But globally you haven't gotten more money.
> If you withdraw money from the ATM, you debit your bank account and credit your cash account

You have that exactly backwards!

Assets (like bank accounts and cash) are "debit accounts" meaning they increase with debits and decrease with credits.

When you withdraw money from your bank account, the bank account goes down, so we know that must be a credit to the bank account, while the cash goes up, that is a debit to the cash account.

Your confusion might be due to perspective. From the bank's view your bank account is a liability (credit account) so it increases with credits and decreases with debits.

Do they have it backwards? It sounds like a valid perspective to me. I take money from an ATM: the number in my current account decreases, the cash I have on hand increases. Nothing wrong there.

Sure the banks perspective is different but maybe I'm not interested in that.

I love that this thread is full of people confidentally saying something that sounds correct or at least reasonable and the first reply that comes back is no you've got that wrong and then what your saying also sound's reasonable but it just seems to depend on the context and perspective.

I would have thought accounting a solved problem but apparently not.

> accounting a solved problem but apparently not.

well, it is if you do it on books, not in natural language.

since it looks deceptively simple everyone throws around sentences that are screaming for mandatory context.

the whole GAAP (generally accepted accounting principles) (and certs like CFA too) are about codifying this context.

what goes where is the name of the game. can you consider this or that an asset or not? is that an expense or you got credit from your vendor, because they shipped it before you paid it? which quarter does it belong to if they shipped it before new year's eve but we only pay it next financial year? etc... etc...

that said accounting is not a mechanical system. there are quite a lot of degrees of freedom ... but there are of course clearly wrong ways to do it ( https://en.wikipedia.org/wiki/Creative_accounting )

oh, and when someone says debit/credit just use a spray bottle on them and ask them to simply state clearly what happens with the fucking number on which of your accounts, does it increase or decrease. (ie. they should just say that the money goes from this account to that account, and suddenly there's no ambiguity.)

From the perspective of the person withdrawing their own money from a bank account, that account is an asset, same as the money in their pocket.

In accounting/bookkeeping parlance, "asset" and "debit" have a very strict meaning, but it's our job to make sure we are using them correctly and we agree that the usage is correct.

> Debits increase the value of asset

https://www.netsuite.com/portal/resource/articles/accounting...

> Asset accounts: Debit Increase, Credit Decrease

https://www.chase.com/business/knowledge-center/manage/debit...

Double entry bookkeeping is very easy to understand once you ditch the ridiculous "accounting equation".

"Credit" means "source", "debit" means "sink".

Suppose you invoice a customer 10,000 euros. You now have a promise for 10,000 euros, but you account in dollars so it's a promise for 11,000 dollars at current exchange rates. So you credit the source, your "Income: Customer A" account ("income" and "expense" accounts represent the external world) $11000, and debit "Assets: Accounts Receivable" (an account for trade-credit promises like this) $11000.

Later, the customer pays your invoice, which gets you $10,500 because exchange rates have moved around. How do you account for this?

Your promise, which you accounted as $11000, is the source, so you credit Accounts Receivable $11000. You debit cash $10500, because you got $10500 in cash. Finally, credits and debits have to balance, so you debit "Expenses: Loss on Foreign Exchange" $500. (recall that "expenses", like "income", represents the external world, and you lost the other $500 to forex traders or whatever.)

Since you don't liquidate the business on any typical day of its operation, why would you attempt to figure out how that $500 fits into a hypothetical instantaneous liquidation when you could just... account for it by balancing credits with debits? (You do sort of instantaneous-liquidate when preparing financial statements, an infrequent task which is very mechanical compared to ledger entry.)

The only time I've ever seen source and sink used is in electronics. You may as well call it squeem and flurb, source and sink isn't helping anyone.
Well, this is hacker news, so a generous reading of the comment is that it is being mapped to semantics most of us here fully grok, and not as a general audience rewording for accounting.
Just because someone knows how to build a website doesn't mean they know anything about discrete electronics. I'd wager the majority of this audience doesn't. It's mostly software people.
I've seen it used frequently in the context of data pipelines and stream-processing applications, which is even more applicable to the subject.
The one thing I remember most from my economics courses in college is that economists have highly idiosyncratic mathematical conventions and they don't care. So many graphs with the independent variable on the Y axis...
> So many graphs with the independent variable on the Y axis

I was perplexed by this as well and none of my profs could cogently explain it. The classic example are supply and demand curves, with price as the Y axis.

I finally realized they are actually trying to communicate that price is not under the control of the buyer or seller, but that the market dictates the price given a level of production. This kind of “spherical cow” thinking made me develop a healthy contempt for conventional economics.

Indeed, one of the main problems with econ education is that at the most basic level they teach a model for the "spherical cow" free-market. Which is all that most people end up learning. And then those people try to apply this reasoning to real world markets - the vast majority of which do not satisfy the assumptions of the free-market model. So almost all public discussions of micro-economics is totally useless.
I mostly agree, but I hardly think it's useless. Much like beginning your understanding of physics with Newtonian equations, it just needs to be qualified. But it's shocking how many people don't understand the basic idea of supply and demand and how the relate relative to some rationing system (usually price).

If you don't understand that foundational idea, then considering the effects of different rationing systems is utterly impossible. For example, that gets you a whole lot of people who make decisions that exacerbate housing crises by creating rent controls or building restrictions, and then being utterly perplexed when there isn't enough supply to go around (because they decoupled the signalling mechanism that the suppliers use (aka price) from what the buyers use (who got there first, or who is luckier with timing, or who is more politically connected). This is not to say that price controls are always bad, because real life is much more complicated than econ101 concepts lay out. But with nearly every other subject we expect people to have a basic level of understanding (like biology, history, english, etc) because we recognize it's importance for society and individuals to have at least a basic level of understanding in many different subjects. One that has as big an impact on life as economics seems like one of the worst to omit.

Just like we tell 8th grade physics students that "in the real world, cows aren't spherical so it's a little more complicated than this, but this gets you 80% to 90% of the way there" I don't see why we shouldn't do the same for economics.

... microeconomics works amazingly well!

scroll down and look at that graph! https://www.fda.gov/about-fda/center-drug-evaluation-and-res...

also go to and read about the studies https://www.noahpinion.blog/i/142905737/the-evidence-is-in-f... and you can see the exact numbers from the datasets, these are all spherical cow parameters basically!

I took both micro and macroeconomics in school. I had a similar thought, microeconomics is dealing with systems simple enough to be reasonably well modeled in mathematical terms. Macroeconomics seemed to be more about giving the rich cover when they screwed over the poor. Micro is a weird math class, Macro is a politics class.
> The "credit" and "debit" terminology is ridiculous because their definitions swap around depending on which account

I find it easy to just think of debit as adding to the left and credit as adding to the right. Their definitions are always the same that way.

But that just begs the question because you have to remember the arbitrary assignments of what things go on the left and what things go on the right.
It's the accounting equation being represented in canonical form. A chart of accounts is visualized in the minds of an accountant as:

Assets | Liabilities + Equity

Accounts classified as assets are debit accounts (left side), and accounts classified as liabilities or equity are credit accounts (right side).

The theory discussed everywhere in this thread is sound. You really don't need to use terminology like debit/credit for accounting.

What the discussion misses is the application of this framework. It is useful for a human to be able to visualize a complex transaction and work through missing pieces with the hints this framework provides. I'm missing something on the left? Oh yeah, I missed the deferred revenue debit.

> You really don't need to use terminology like debit/credit for accounting.

That's exactly right -- you don't need to. The problem is that people do use this terminology, and they use it in a way that conflicts with common usage, which makes a very simple concept vastly more confusing than it needs to be.

> That's exactly right -- you don't need to. The problem is that people do use this terminology, and they use it in a way that conflicts with common usage

I used to think that way, then I understood this thinking is the exact opposite of what’s happening.

Hundred million people on earth know how to work with debit and credit exactly as it has been written in accounting books for hundreds of years. When you need to expand your accounting department, you go and hire a person who understands things exactly the same way as your current accountants, can pick up their work, they can communicate effectively. As a CEO, you are spared of teaching every new junior accountant your own flavor of first-principles accounting, you don’t need to write your custom accounting software, and convert your company’s books for tax authorities and outside auditors who are not familiar with your system.

Same with music notation. Same with Java language. Same with every other piece of human knowledge.

That's because people are trained into the system.

If you started teaching it another way, eventually that other way would be the norm.

> Java language

That's actually a pretty good analogy. There is a lot in Java that could be improved too.

> which makes a very simple concept vastly more confusing than it needs to be.

Agreed. The concepts are all very simple. You can throw away all of the domain-specific terminology and reason about accounting theory with nothing but positive and negative numbers.

The utility of the confusing terminology and age old accounting frameworks isn't obvious unless you are a practitioner living "in it". It's not until you face the complexities of real world transactions (an accountant booking closing entries for a F500 company or something) that the strange left/right debit/credit way of thinking is very valuable.

Sorry, I don't buy it. By the time you get to the point where you're doing the accounting for an F500 company you have been thoroughly indoctrinated into the conventional way of doing things. That doesn't mean that the conventional way isn't deeply flawed. It's kind of like the use of British units in the USA rather than metric. You have 350 million people who are thoroughly comfortable with miles and feet and inches and gallons and whatnot, but that doesn't mean that metric isn't objectively superior.
It's easy! Debits add to the left, credits add to the right :-)

(to be clear, I'm backing up your point by giving the same circular explanation that I got constantly through Accounting 101 and 102, and then occasionally after that when dealing with the books)

Yeah, they should be called leftits and rightits. Or CARs and CDRs.
The purpose of the words "credit" and "debit" is the same purpose of the structure of double-entry bookkeeping: to make every statement unambiguous, no matter what order or context you put the words in. By replacing familiar verbs like "paid" and "earned" with the nouns "debit" and "credit", we can write sentences where the order of words doesn't change the meaning, and where we never need to figure out what tense (past, present, future) to apply.

To simply write that, "Bob's account has a credit of $12 and a debit of $7" is timeless. That sentence can go anywhere, and always be explicitly correct. It is context-free grammar: the same category that all programming languages belong to. Because a programming language is context-free, it can be perfectly understood (and translated) by a parser and compiler. Because statements using the nouns "credit" and "debit" are context-free, they can be perfectly understood as the data they represent.

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

On the contrary! Their definitions are always the same. They apply specifically to the account you are talking about, because they are that account: an account is a list of credits and debits.

The reason that people get confused is that we are used to using verbs like "paid" and "earned". When we use verbs, the data is the transaction, not the account. When we use the nouns "credit" and "debit", the data is the account, and not the transaction. Most people are introduced to these words with "credit card" and "debit card". That was the mistake, because cards are used for transactions, which is precisely the wrong context to use these words. It would have been much more clear to talk about "crediting cards" and "debiting cards".

> Bob's account has a credit of $12 and a debit of $7

(I'm 80% sure that the above reads that Bob actually owns $5 he can spend. But I'm equally sure that I get Debits and Credits backward, so I probably read it wrong.)

In any case, you've only described a single account at rest. You need to go one step further and describe an entire transaction in those terms, so that someone can swoop in and say "you got it backwards".

You read it correctly. The account's "balance" would be a "credit of $5".

A transaction involves multiple accounts, so it would be written as multiple sentences: "Alice's account has a credit of $7. Bob's account has a debit of $7." If you want to write about the transaction itself, you could do that with a verb: "Transaction #23254 applies a debit of $7 to Bob's account, and a credit of $7 to Alice's account." A double-entry book is just a table with a column for each account, and a column for the date/time each credit or debit was transacted.

The whole point here is that when someone swoops in, every sentence spoken is guaranteed to be unambiguous; no matter what context that someone brings with them. So long as "credit" and "debit" are used exclusively as nouns, there can be no confusion.

And here is a comment of mine where the reply states the opposite (I believe):

https://news.ycombinator.com/item?id=39993175

I have no idea why they said that.
The way I understand debits and credits is to take the same equation and name the left and right side.

Assets + Expenses = Equity + Income + Liabilities

Sum of all debits = sum of all credits

These two equations have their sides associated.

Assets and equities increase with a debit and decrease with a credit, and vice versa.

> Double-entry bookkeeping is very easy to understand once you ditch the ridiculous "credit" and "debit" terminology.

I'm with you so far.

> the goal is to keep the accounting equation true at all times

Perfectly reasonable.

> For example, you sell a lemonade for $5. You add $5 to Sales (Income) and add $5 to Current Account (Assets).

And now you've completely lost me. Money appeared. Lemonade disappeared. I want to see the corresponding +$5 and -$5.

Making it fit the equation (Equity + Income + Liabilities = Assets + Expenses) is not an intellectually satisfying reason for 'Assets' to go up by $5 when I just lost $5 of assets.

What if it worked this way in physics?

I could write

  Force * mass          = acceleration
     1N * 500g lemonade = 0.5 m/s/s
Then I could say: "If we halve the mass of lemonade, then we double the acceleration:"

     1N * 1000g lemonade = 1.0 m/s/s
And then you could say "But you didn't halve the mass, you doubled it!" and then I could say "Yes I did, look, the equation still holds."
> Money appeared. Lemonade disappeared. I want to see the corresponding +$5 and -$5.

If I understand your comment correctly, where you're getting confused is, you're reading Current Account (Assets) to mean your inventory of lemonade. What they actually mean in this case is money moved from Income to your Assets (e.g. your cash register). That's why assets went up in this example.

Of course for your lemonade business you might keep track of your lemonade as well (which I think is what you're talking about when you refer to assets). The lemonade sale would then lead to a decrease in your lemonade asset and and an increase in your expenses (cost of goods sold), so the right hand side of the equation balances.

So when selling lemonade there are actually 2 things happening:

1. Your income and your assets (your amount of cash) both increased. Income and Assets are on different sides of the =, so the equation still balances

2. Your lemonade assets decrease and you incurred the cost of that lemonade as an increase of your expenses. Those are both on the same side of the =, so the equation still balances.

Thanks for moving this along.

I knew beforehand that I will always get Credit and Debit wrong, but now I guess I can add Income and Assets to that.

> What they actually mean in this case is money moved from Income to your Assets (e.g. your cash register).

Usually when people say 'moved', it implies a decrease in one place and an increase elsewhere, and yet:

> 1. You got income and your assets (your amount of cash) both increased.

> Usually when people say 'moved', it implies a decrease in one place and an increase elsewhere, and yet

Yeah, I'm with you there. Personally I think this would be simpler if accounting just used negative numbers instead of a credit and debit side. That said, it's not super complicated. It's all derived from the accounting equation (explained well in this comment [1]):

Equity + Income + Liabilities = Assets + Expenses

Any transaction you do, needs to maintain that equation. That means that the changes either need to add to zero on one side or need to add to the same on both sides.

- E.g. in the example I'm selling lemonade: I'm increasing my cash (an asset, so on the right side) by $5, so I need to also increase the left side by the same, meaning an increase of $5 in the Income account.

- Or let's say I'm buying more lemons for my business. My cash (asset) goes down, but my inventory (also asset) goes up by the same amount.

- If I bought those lemons with my credit card instead, my inventory (asset) would go up and my liabilities would go up by the same amount.

In all cases the equation still holds after the transaction.

----

NB

You could construct an alternative way of accounting where the equation looks like this: Equity + Income + Liabilities + Assets + Expenses = 0

In this world, moving money would indeed align better with your intuition. E.g. selling lemonade would be -5 Income and +5 Assets (going from income to assets). That's for instance how Beancount does it [2]. Note that that also means that Equity, Income and Liabilities will now (generally) be negative numbers.

[1] https://news.ycombinator.com/item?id=39992035

[2] https://beancount.github.io/docs/the_double_entry_counting_m...

The -5 doesn't belong in your ledger, it belongs in the ledger of the person who bought the lemonade. As other commenters have pointed out, the "double entry" refers to multiple entries within your own ledger, it has nothing to do with someone else's ledger.
> The -5 doesn't belong in your ledger, it belongs in the ledger of the person who bought the lemonade.

This is just prescriptive (do it because I say so). It doesn't explain anything.

> As other commenters have pointed out, the "double entry" refers to multiple entries within your own ledger, it has nothing to do with someone else's ledger.

I didn't introduce the other guy's ledger, but since you did:

I lost lemonade (which is somehow an addition to my assets). So the "-5" which belongs in the buyer's lemonade - is the negative sign there to indicate that he gained an asset?

Inventory is an asset, so if you want to account for inventory in this example, you would record two debits and two credits:

- $5 debit to cash (asset => debit means +5)

- $5 credit to revenue (equity => credit means + 5)

- $X debit to cost of goods sold (liability => debit means - X)

- $X credit to inventory (asset => credits mean - X)

Where X is the cost of the materials that went into the lemonade. So if X < 5, you made a profit. In terms of the equation, this comes out to:

    Assets = Liabilities + Equities
    (5 - X) = (-X) + (5)
So it all adds up to 0, but you make a (gross) profit or loss depending on the value of X.

You wouldn't account for the customer's side of things because the customer is not on your books.

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

As a neophyte: "credit" and "debit" make me think I'd need both entries to do books at all.

The way you've written it makes me think: "Oh, this is just single-entry accounting for people who aren't careful like me!"

So perhaps historically there was value in misusing terminology sufficiently to cause people to people turn off the optimizing compiler in their brain so that they just learn and do it correctly from the beginning?

Edit: clarification

Imo the only time the terms get confused is because there are classes of accounts where it was decided it was preferable to give it the opposite name rather than carry a negative balance. If we didn’t do that, the separation would be intuitive.
Yeah, I think a more intuitive way is to replace credit and debit with State and Change as the pair of things in double-entry. It means that you don't have to swap meanings based on context and can use negative numbers intuitively.

State Accounts track your net worth

  Assets: what you own

  Liabilities: what you owe
Change Accounts track why your net worth changes

  Income: what you've earned

  Expense: what you've spent
The accounting equation that follows is ∆ State = ∆ Change:

  Assets - Liabilities = Income - Expense

Selling lemonade is +$5 Asset balanced by +$5 Income. If you substitute into the equation, it's: $5 Asset = $5 Income

Taking out a loan is +$10 Asset balanced by +$10 Loan. In the equation: $10 Asset - $10 Liability = $0.

In general, say you have a +Asset action, to balance the equation you can do it 4 ways:

  +Asset -Asset aka swapped for equal value

  +Asset +Liability aka took out a loan

  +Asset +Income aka sold something

  +Asset -Expense aka got a refund
I've left out Equity as a separate account type since you can just treat it mathematically as a Liability account.

This is the system we've implemented in our ledger API (https://fragment.dev)

> +Asset +Income aka sold something

Don't you mean -Asset here?

Nope, in these examples the +Asset on the left means you received say cash. The right side shows various ways to balance that out based on the accounting equation

I did an explanation with numbers here: https://news.ycombinator.com/item?id=40021506

> in these examples the +Asset on the left means you received say cash.

Ah. So... where is the value of the lemonade before you sold it? Wasn't that an asset before you sold it?

I guess technically this would be selling a service instead of a good.

I was going through the 4 combinations of balanced two-line entries, based on the accounting equation, to show how it helps when thinking through how to record something.

If you get into more than two lines, then yup selling a good would be

  +Asset -Asset +Income
or if you include sales tax and son shipping costs:

  +Asset -Asset +Liability +Income +Expense
Using an updated accounting equation and negative numbers is a lot more intuitive than credits and debits. In this larger example it tells you:

  Cash Asset - COGS Asset - Tax Liability = Sales Income - Shipping Expense

It tells you what types of accounts balance, with a syntax that matches your intuitions: more asset = good, less asset = bad, more expense = bad, less expense = good.
> I guess technically this would be selling a service instead of a good.

LAAS!

Sorry, no, lemonade is not a service. It is true that you are adding value by turning lemons into lemonade, but that's not what you're selling. You're selling the lemonade. LAAS would be turning someone else's lemons into lemonade for them, but a typical lemonade manufacturer owns their raw materials.

Totally agree. That's what I like about the way e.g. beancount does it [1]. Instead of using the debit/credit nomenclature, it just relies on positive and negative numbers. This way all the legs in a transaction just sum to zero, making it easy to spot if something is off. In the example, you'd have -5 Income (it's coming from income) and +5 Assets (it's going to Assets). The left side is typically negative and the right side positive.

[1] https://beancount.github.io/docs/the_double_entry_counting_m...

I find it more intuitive to use negatives. Then it's just equity + income + liabilities + assets + expenses = 0. In fact, every transaction and therefore the entire ledger sums to zero at all times.

So if you take out a loan to buy lemonade: +$5 to expenses, -$5 to liabilities. If you sell lemonade: -$5 to income, +$5 to assets. You just have to remember that equity, income and liabilities will be negative so flip them if you want to answer questions like "how much do I owe?"

It think that’s right, but where people struggle so much is the splitting up transactions between these accounts the right way