Accounting System Basics

Accounting System Basics

Jul 16, 2023 · 2 min read

Double-Entry Booking

Double-entry bookkeeping is a method of bookkeeping that relies on a two-sided accounting entry to maintain financial information. Every entry to an account requires a corresponding and opposite entry to a different account.

Account

An account can represent the corporate entities involved in the transactions. The accounts form a hierarchy describing the legal ownership relation.

Some basic properties of an account could have:

  • Account Type
  • Account Code
  • Description

Register

A register represents a specific ledger for an account that can be associated with a status. Different accounts have different registers since we might need to track different things.

Some basic properties of an account could have:

  • Register type
  • Description

Journal

A journal represents an event that moves the balances of a transaction between registers and is associated to one or more transactions. As a result, the status of a transaction can change.

A journal is atomic.

A journal has two timestamps:

  • Post date: moment the journal was created
  • Book date: moment the balance changes are effectively available

Transactions

A transaction represents an event(external) that needs to be tracked and accounted for. A transaction is always owned by one account, and may have a parent transaction to indicate a sub-item that needs to be tracked independently.

Some basic properties of an transaction could have:

  • transaction id
  • transaction type

Summary

  • A external(to accounting system) event could trigger one or more transactions in accounting system
  • A transaction could involve 2 or more accounts
  • A transaction could create records in 1 or more registers/ledgers
  • Each register will generate 1 or more journal entries for involved accounts
  • Journal entries will be grouped into journals to ensure atomicity(Each journal is atomic).
  • A transaction could link to multiple journals(money transfer from A->C via B instead of direct transfer, for cost efficiency purpose)
  • A journal could link to multiple transactions(payment transaction have journals for Authorisation and Commission separately)