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.
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.
| Account type | Increase with | Decrease with | Normal balance |
|---|---|---|---|
| Assets | Debit | Credit | Debit |
| Liabilities | Credit | Debit | Credit |
| Share capital | Credit | Debit | Credit |
| Retained earnings | Credit | Debit | Credit |
| Revenues | Credit | Debit | Credit |
| Expenses | Debit | Credit | Debit |
| Dividends (or owner's drawings) | Debit | Credit | Debit |
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.
| Date | Account and explanation | Debit | Credit |
|---|---|---|---|
| 1 May | Cash | 40,000 | |
| Share capital | 40,000 | ||
| (Shares issued to Maya Okafor for cash) | |||
| 2 May | Cash | 20,000 | |
| Note payable | 20,000 | ||
| (Three-year bank loan) | |||
| 3 May | Equipment | 18,000 | |
| Cash | 18,000 | ||
| 5 May | Prepaid insurance | 3,600 | |
| Cash | 3,600 | ||
| 8 May | Supplies | 1,500 | |
| Accounts payable | 1,500 | ||
| 15 May | Cash | 4,200 | |
| Service revenue | 4,200 | ||
| 20 May | Accounts receivable | 2,800 | |
| Service revenue | 2,800 | ||
| 25 May | Accounts payable | 1,000 | |
| Cash | 1,000 | ||
| 28 May | Cash | 1,800 | |
| Accounts receivable | 1,800 | ||
| 31 May | Rent expense | 2,000 | |
| Wages expense | 3,100 | ||
| Cash | 5,100 | ||
| 31 May | Utilities expense | 350 | |
| Accounts payable | 350 | ||
| 31 May | Dividends | 500 | |
| Cash | 500 |
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]}")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.
| Number | Account | Type |
|---|---|---|
| 101 | Cash | Asset |
| 112 | Accounts receivable | Asset |
| 126 | Supplies | Asset |
| 130 | Prepaid insurance | Asset |
| 157 | Equipment | Asset |
| 158 | Accumulated depreciation, equipment | Contra asset (lesson 6) |
| 201 | Accounts payable | Liability |
| 209 | Unearned revenue | Liability |
| 212 | Wages payable | Liability |
| 230 | Interest payable | Liability |
| 250 | Note payable | Liability |
| 311 | Share capital | Equity |
| 320 | Retained earnings | Equity |
| 330 | Dividends | Equity (temporary) |
| 400 | Service revenue | Revenue |
| 610 | Rent expense | Expense |
| 620 | Wages expense | Expense |
| 630 | Utilities expense | Expense |
| 640 | Supplies expense | Expense |
| 650 | Insurance expense | Expense |
| 660 | Depreciation expense | Expense |
| 670 | Interest expense | Expense |
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
- (a) Debit Cash 900; credit Unearned revenue 900. The business owes the customer future service.
- (b) Debit Accounts payable 350; credit Cash 350. The expense was recorded in May; now the liability is paid.
- (c) Debit Equipment 2,400; credit Cash 400; credit Accounts payable 2,000. A compound entry.
- (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
- Wages payable was a liability, so the debit reduces it: the business paid wages it owed from the previous period ($1,200).
- Wages expense increased by $300: some of the payment is for work done in the current period that had not been accrued.
- 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
- The account would have a credit balance of $1,500, meaning more cash was paid than received.
- A business cannot hold negative cash. If the bank allowed an overdraft, the correct presentation is a bank overdraft, a liability.
- 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.
What is the normal balance of accounts receivable? Of service revenue? Of dividends?
Show answer
Debit; credit; debit.
Journalize: the business borrows $10,000 from a bank.
Show answer
Debit Cash 10,000; credit Note (loan) payable 10,000.
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.
Journalize: pays $450 for advertising that ran this month.
Show answer
Debit Advertising expense 450; credit Cash 450.
Journalize: receives $1,200 from a customer for services performed last month.
Show answer
Debit Cash 1,200; credit Accounts receivable 1,200.
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.
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.
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.
Suggest a numbering range for revenue accounts in a chart of accounts.
Show answer
For example, 400 to 499.
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.
Create a free account to save your progress, take quizzes and earn a certificate.