Comment by omichowdhury

2 years ago

We implemented negative numbers in our ledger API (https://fragment.dev) and don’t use credits and debits at all. A bunch of engineers who didn’t know double-entry found it a lot easier to pick up. I think the key is to update the accounting equation to:

  (A)ssets - (L)iabilities = (I)ncome - (E)xpense

So if you have more (+100) Assets, then to balance it out, you either need to have:

  +100 Liabilities (100 A - 100 L = 0) → You took out a loan and increased your liabilities

  -100 Assets (100 A - 100 A = 0) → You sold an asset for what it was worth

  +100 Income (100 A = 100 I) → You provided a service and earned income

  -100 Expense (100 A = 0 I - -100 E) → You got a refund for a previous expense

I think that’s much more intuitive. You can think always think in terms of more or less Assets, Liabilities, Income or Expenses, then use the Accounting equation to check your reasoning.

Here’s a deeper explanation: https://fragment.dev/docs#design-your-ledger-ledger-accounts

Disclaimer: I’m CTO at Fragment