← Back to context

Comment by omichowdhury

2 years ago

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?