ACCT-101 · Lesson 3 of 12 · 30 min

Double-entry bookkeeping: debits, credits, the journal and the ledger

Lesson 2 analysed transactions directly in the accounting equation, with pluses and minuses under each element. That works for a dozen transactions, but a real business records hundreds or thousands each month, and it needs a system that keeps every transaction traceable, keeps the books in balance automatically, and produces totals for each item. Double-entry bookkeeping, developed by Italian merchants and described by Luca Pacioli in 1494, is that system. It records every transaction with at least one debit and at least one credit of equal total, first in a chronological journal and then in a ledger organized by account. This lesson explains accounts, the debit and credit rules, journal entries, posting to the ledger and the chart of accounts, using the same May transactions for Birchwood Bikes.

Accounts and the T-account

An account is a record of the increases and decreases in one item: cash, accounts receivable, equipment, accounts payable, service revenue, rent expense and so on. The simplest picture of an account is a T-account, drawn as a large letter T with the account name on top. The left side is called the debit side and the right side the credit side. Debit and credit simply mean left and right. They do not mean good or bad, increase or decrease, or anything to do with a bank's use of the words on your bank statement. Whether a debit increases or decreases an account depends on the kind of account.

A T-account for cash with debits on the left showing amounts received and credits on the right showing amounts paid, and a balance carried down on the debit side.
A T-account. Debits are recorded on the left and credits on the right; the balance is the difference.

The rules of debit and credit

The rules follow from the accounting equation. Assets are on the left of the equation, so assets increase on the left: a debit increases an asset and a credit decreases it. Liabilities and equity are on the right, so they increase on the right: a credit increases a liability or equity and a debit decreases it. Because revenues increase equity, revenues increase with credits. Because expenses and dividends decrease equity, they increase with debits. Each account's normal balance is the side on which it increases.

The debit and credit rules. A common memory aid: assets, expenses and dividends increase with debits; liabilities, equity and revenues increase with credits.
Account typeIncrease withDecrease withNormal balance
AssetsDebitCreditDebit
LiabilitiesCreditDebitCredit
Share capitalCreditDebitCredit
Retained earningsCreditDebitCredit
RevenuesCreditDebitCredit
ExpensesDebitCreditDebit
Dividends (or owner's drawings)DebitCreditDebit

Because every transaction is recorded with equal debits and credits, total debits always equal total credits across all accounts, and the accounting equation stays in balance. This gives bookkeeping a built-in check, the trial balance in lesson 4. It also means that once you know one side of an entry, you can usually work out the other. If cash is received, cash is debited, and something must be credited: revenue if it was earned, a receivable if a customer paid an old bill, a liability if the business borrowed or the customer paid in advance, or share capital if an owner invested.

The journal

Transactions are first recorded in a journal, the book of original entry, in date order. Each journal entry shows the date, the accounts debited and credited with their amounts, and a short explanation, often with a reference to the source document. By convention, debits are listed first and credits are indented beneath them. The general journal can record any transaction; many businesses also use special journals or subledgers for frequent transactions such as sales, purchases, cash receipts and payroll, and accounting software keeps these as separate modules that feed the general ledger.

Here are the May journal entries for Birchwood Bikes, using the transactions from lesson 2. Read each entry and say in words why each account is debited or credited. That habit of explaining each line is the fastest way to become fluent.

General journal of Birchwood Bikes Inc., May. In US statements, share capital is usually called common stock.
DateAccount and explanationDebitCredit
1 MayCash40,000
Share capital40,000
(Shares issued to Maya Okafor for cash)
2 MayCash20,000
Note payable20,000
(Three-year bank loan)
3 MayEquipment18,000
Cash18,000
5 MayPrepaid insurance3,600
Cash3,600
8 MaySupplies1,500
Accounts payable1,500
15 MayCash4,200
Service revenue4,200
20 MayAccounts receivable2,800
Service revenue2,800
25 MayAccounts payable1,000
Cash1,000
28 MayCash1,800
Accounts receivable1,800
31 MayRent expense2,000
Wages expense3,100
Cash5,100
31 MayUtilities expense350
Accounts payable350
31 MayDividends500
Cash500

The 31 May rent and wages entry has two debits and one credit; it is a compound entry. That is fine as long as total debits equal total credits. Note also that no entry ever records 'revenue' when cash is collected on an old receivable (28 May) or 'expense' when an old payable is paid (25 May). Those entries only move amounts between asset and liability accounts.

Posting to the ledger

The ledger is the collection of all the business's accounts. Posting is the process of transferring each journal entry's debits and credits to the accounts they affect. After posting, each account shows its running balance, and the ledger can produce a list of all balances at any date. In a manual system, posting is a separate step with cross-references: the ledger shows the journal page each amount came from, and the journal shows the account number each amount was posted to. In accounting software, posting happens instantly when an entry is saved, but the logic is the same, and the audit trail lets you click from a ledger balance back to the source entry and document.

# A minimal double-entry ledger (illustrative)
from collections import defaultdict

NORMAL = {"Cash": "Dr", "Accounts receivable": "Dr", "Supplies": "Dr",
          "Prepaid insurance": "Dr", "Equipment": "Dr",
          "Accounts payable": "Cr", "Note payable": "Cr",
          "Share capital": "Cr", "Service revenue": "Cr",
          "Rent expense": "Dr", "Wages expense": "Dr",
          "Utilities expense": "Dr", "Dividends": "Dr"}

journal = [
    ("May 1",  [("Cash", 40000)], [("Share capital", 40000)]),
    ("May 2",  [("Cash", 20000)], [("Note payable", 20000)]),
    ("May 3",  [("Equipment", 18000)], [("Cash", 18000)]),
    ("May 5",  [("Prepaid insurance", 3600)], [("Cash", 3600)]),
    ("May 8",  [("Supplies", 1500)], [("Accounts payable", 1500)]),
    ("May 15", [("Cash", 4200)], [("Service revenue", 4200)]),
    ("May 20", [("Accounts receivable", 2800)], [("Service revenue", 2800)]),
    ("May 25", [("Accounts payable", 1000)], [("Cash", 1000)]),
    ("May 28", [("Cash", 1800)], [("Accounts receivable", 1800)]),
    ("May 31", [("Rent expense", 2000), ("Wages expense", 3100)], [("Cash", 5100)]),
    ("May 31", [("Utilities expense", 350)], [("Accounts payable", 350)]),
    ("May 31", [("Dividends", 500)], [("Cash", 500)]),
]

ledger = defaultdict(lambda: [0, 0])          # account -> [debits, credits]
for date, dr, cr in journal:
    assert sum(a for _, a in dr) == sum(a for _, a in cr), date
    for acct, amt in dr: ledger[acct][0] += amt
    for acct, amt in cr: ledger[acct][1] += amt

for acct in NORMAL:
    d, c = ledger[acct]
    bal = d - c if NORMAL[acct] == "Dr" else c - d
    print(f"{acct:<20} Dr {d:>7,}  Cr {c:>7,}  balance {bal:>7,} {NORMAL[acct]}")
Output
Cash                 Dr  66,000  Cr  28,200  balance  37,800 Dr
Accounts receivable  Dr   2,800  Cr   1,800  balance   1,000 Dr
Supplies             Dr   1,500  Cr       0  balance   1,500 Dr
Prepaid insurance    Dr   3,600  Cr       0  balance   3,600 Dr
Equipment            Dr  18,000  Cr       0  balance  18,000 Dr
Accounts payable     Dr   1,000  Cr   1,850  balance     850 Cr
Note payable         Dr       0  Cr  20,000  balance  20,000 Cr
Share capital        Dr       0  Cr  40,000  balance  40,000 Cr
Service revenue      Dr       0  Cr   7,000  balance   7,000 Cr
Rent expense         Dr   2,000  Cr       0  balance   2,000 Dr
Wages expense        Dr   3,100  Cr       0  balance   3,100 Dr
Utilities expense    Dr     350  Cr       0  balance     350 Dr
Dividends            Dr     500  Cr       0  balance     500 Dr

The program refuses any entry whose debits do not equal its credits, posts each line to its account, and prints each account's total debits, total credits and balance on its normal side. Cash, for example, has debits of $66,000 and credits of $28,200, leaving a debit balance of $37,800, the same figure lesson 2 found in the equation. Lesson 4 turns these balances into a trial balance.

The chart of accounts

A chart of accounts is the list of all accounts a business uses, with a number for each. Numbers are usually grouped by type so that the order matches the financial statements: for example, 100s for assets, 200s for liabilities, 300s for equity, 400s for revenues and 500s and above for expenses. Gaps are left so that new accounts can be added. A well-designed chart has enough detail to produce the reports managers and tax authorities need, but not so many accounts that people guess which one to use. Software often comes with a template chart for the type of business, which the owner then adjusts.

Part of the chart of accounts for Birchwood Bikes. Accounts used later in the course are included.
NumberAccountType
101CashAsset
112Accounts receivableAsset
126SuppliesAsset
130Prepaid insuranceAsset
157EquipmentAsset
158Accumulated depreciation, equipmentContra asset (lesson 6)
201Accounts payableLiability
209Unearned revenueLiability
212Wages payableLiability
230Interest payableLiability
250Note payableLiability
311Share capitalEquity
320Retained earningsEquity
330DividendsEquity (temporary)
400Service revenueRevenue
610Rent expenseExpense
620Wages expenseExpense
630Utilities expenseExpense
640Supplies expenseExpense
650Insurance expenseExpense
660Depreciation expenseExpense
670Interest expenseExpense

Worked problem

Journalizing new transactions

Record journal entries for Birchwood Bikes in June: (a) 2 June: receives $900 cash from a customer for a tune-up package to be delivered over the summer; (b) 6 June: pays the $350 May utility bill; (c) 10 June: buys a $2,400 parts washer, paying $400 cash and owing the rest to the supplier in 30 days; (d) 14 June: sells repair services for $3,000, of which $1,000 is paid in cash and the rest on account.

Show solution
  1. (a) Debit Cash 900; credit Unearned revenue 900. The business owes the customer future service.
  2. (b) Debit Accounts payable 350; credit Cash 350. The expense was recorded in May; now the liability is paid.
  3. (c) Debit Equipment 2,400; credit Cash 400; credit Accounts payable 2,000. A compound entry.
  4. (d) Debit Cash 1,000; debit Accounts receivable 2,000; credit Service revenue 3,000.

Answer: Each entry has equal debits and credits; no revenue is recorded until work is done, and no expense arises from paying an old bill.

Worked problem

Reading an entry backwards

A journal entry shows: debit Wages payable $1,200; debit Wages expense $300; credit Cash $1,500. What happened?

Show solution
  1. Wages payable was a liability, so the debit reduces it: the business paid wages it owed from the previous period ($1,200).
  2. Wages expense increased by $300: some of the payment is for work done in the current period that had not been accrued.
  3. Cash decreased by the total, $1,500.

Answer: The business paid $1,500 of wages, of which $1,200 settled wages owed at the last period end and $300 is a current-period expense.

Worked problem

Explaining a credit balance in cash

A student's ledger shows Cash with debits of $12,000 and credits of $13,500. Is that possible?

Show solution
  1. The account would have a credit balance of $1,500, meaning more cash was paid than received.
  2. A business cannot hold negative cash. If the bank allowed an overdraft, the correct presentation is a bank overdraft, a liability.
  3. More often, a credit balance in cash signals a posting error, such as a receipt posted to the wrong side.

Answer: Check the postings; if a genuine overdraft exists, reclassify the credit balance as a liability.

Why the system has lasted

Double entry has survived five centuries because it is self-checking, complete and traceable. Every amount appears twice, so many errors show up as an imbalance. Every transaction is recorded in date order in the journal and summarized by account in the ledger, so you can answer both 'what happened on 15 May?' and 'what happened to cash this month?'. And every balance can be traced to entries and every entry to a source document, which is what auditors, tax authorities and managers investigating a problem rely on. Modern databases store transactions differently, but they still enforce the rule that debits equal credits.

Common mistakes

  • MistakeThinking a debit always means an increase.

    InsteadA debit increases assets, expenses and dividends but decreases liabilities, equity and revenues.

  • MistakeConfusing the bank's use of the words with your own books.

    InsteadYour bank credits your account when you deposit because, to the bank, your money is a liability it owes you. In your own books, a deposit is a debit to cash.

  • MistakeRecording revenue when a customer pays an existing receivable.

    InsteadDebit cash and credit accounts receivable; the revenue was recorded when the work was done.

  • MistakeWriting a journal entry with unequal debits and credits and fixing it with a plug to a random account.

    InsteadFind the real error; every entry must balance because of the underlying transaction, not because of a plug.

  • MistakeListing credits first or failing to indent them in the journal.

    InsteadConvention puts debits first and indents credits, which makes entries quicker to read and check.

Summary and key terms

  • An account records increases and decreases in one item; a T-account shows debits on the left and credits on the right.
  • Assets, expenses and dividends increase with debits; liabilities, equity and revenues increase with credits.
  • Every journal entry has equal debits and credits, so total debits equal total credits in the ledger.
  • The journal records transactions in date order; the ledger organizes them by account.
  • Posting transfers journal amounts to ledger accounts and keeps an audit trail.
  • A chart of accounts lists and numbers all accounts in financial statement order.
  • Compound entries are fine as long as total debits equal total credits.
Account
A record of increases and decreases in a single asset, liability, equity, revenue or expense item.
Debit
An entry on the left side of an account.
Credit
An entry on the right side of an account.
Normal balance
The side (debit or credit) on which an account increases.
Journal
The book of original entry, in which transactions are recorded in date order.
Journal entry
A record of a transaction showing date, accounts and amounts debited and credited, and an explanation.
Compound entry
A journal entry with more than one debit or more than one credit.
Ledger
The collection of all of a business's accounts.
Posting
Transferring journal entry amounts to the ledger accounts.
Chart of accounts
A numbered list of all accounts used by a business.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. What is the normal balance of accounts receivable? Of service revenue? Of dividends?

    Show answer

    Debit; credit; debit.

  2. Journalize: the business borrows $10,000 from a bank.

    Show answer

    Debit Cash 10,000; credit Note (loan) payable 10,000.

  3. Journalize: the owner invests a $5,000 laptop and printer in the business in exchange for shares.

    Show answer

    Debit Equipment 5,000; credit Share capital 5,000.

  4. Journalize: pays $450 for advertising that ran this month.

    Show answer

    Debit Advertising expense 450; credit Cash 450.

  5. Journalize: receives $1,200 from a customer for services performed last month.

    Show answer

    Debit Cash 1,200; credit Accounts receivable 1,200.

  6. Journalize: receives a $600 invoice for repairs done this month, to be paid next month.

    Show answer

    Debit Repairs expense 600; credit Accounts payable 600.

  7. An entry debits Supplies $300 and credits Cash $300 but should have debited Supplies expense because the supplies were used immediately. Do total debits still equal total credits?

    Show answer

    Yes; the error is in classification, not balance.

  8. Why does a bank call your deposit a credit?

    Show answer

    To the bank, your deposit is a liability it owes you, and liabilities increase with credits.

  9. Suggest a numbering range for revenue accounts in a chart of accounts.

    Show answer

    For example, 400 to 499.

  10. Run the ledger program and add a 31 May entry for $200 of interest owed on the note. Which accounts appear?

    Show answer

    Interest expense (debit 200) and Interest payable (credit 200); add both to the NORMAL dictionary.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz