← Back to context

Comment by remram

1 year ago

A double-entry system is one where you can't change the balance of an account, you can only record transfers between accounts. This means it's impossible to forget to update the other side of a transaction, it's a single step. A consequence of that is you can check that the sum of all accounts is always 0.

In practice you have virtual accounts like "cloud expenses" and "customer subscription" that only go up/down over time, to be the counter-party for transactions in/out of your company. So it's not impossible to mess up, but it eliminates a class of mistakes.

Hm, but what's the second entry? Do you not just add a single entry from X to Y?

  • Entry1: Account A: receives 1000 from Account B

    Entry2: Account B: sends 1000 to Account A

    And from GP:

    > A consequence of that is you can check that the sum of all accounts is always 0.

    Entry1 + Entry2 = 1000 + -1000 = 0

    Amusingly, when I made my own personal money tracking program over a decade ago for my bank accounts, this was how I implemented transfers between them just because it was simpler to do. Years later when I heard this name, I also had trouble understanding it because I assumed I had done it the bad way and banks did somehow did something more in-depth.

    • So basically it's not really the transfer that's the base of the system, but the account? Ie each account gets its own entry, and because there are two parties in each transaction, we naturally get two entries?

      6 replies →

    • What you have done is record credit and debit entries in the same column, distinguishing credits and debits by sign. This is a design choice in the data structure for DE systems. It's a tossup whether that's better than either of the alternatives.

      In the case of moving money between regular bank accounts in the same institution, you regard that as a movement between two asset accounts, whilst the bank regards that as a movement between two liability accounts.

      So their entries would have the same magnitude as yours, but inverted signs.

      2 replies →

  • The change to X and the change to Y are the two entries.

    In practice most systems allow for more than two entries in a single transaction (ex: take from bank account, give to salary, give to taxes) but always at least two, and always adding up to 0.