CON-320 · Lesson 2 of 12 · 30 min
Accounting basics for contractors
A project manager does not need to be an accountant, but needs to read what the accountant produces and to understand how site decisions turn into entries in the books. This lesson reviews the accounting ideas that the rest of the course relies on: the accounting equation, double entry, accrual accounting, the chart of accounts, the general ledger and the job cost ledger, and the month-end close. It focuses on what is specific to contractors. A fuller treatment of financial accounting belongs to ACCT-101; here we take only what is needed to read and question a contractor's books.
The accounting equation
Every set of accounts rests on one identity: what a business owns equals what it owes to others plus what belongs to its owners.
Assets are resources the firm controls that will bring future benefit: cash, amounts owed by customers, equipment, prepaid insurance. Liabilities are obligations to others: amounts owed to suppliers and subcontractors, wages payable, loans, taxes owed. Equity is the residual, the owners' claim after all liabilities are paid. Profit increases equity and losses or dividends reduce it. Every transaction changes at least two items in a way that keeps the equation in balance, which is why bookkeeping is called double entry.
| Transaction at Kestrel | Effect on assets | Effect on liabilities | Effect on equity |
|---|---|---|---|
| Buys a $90,000 skid steer with a bank loan | +90,000 equipment | +90,000 loan payable | none |
| Bills an owner $420,000 for work done, with 10 % held back | +378,000 receivable, +42,000 holdback receivable | none | +420,000 revenue (increases profit) |
| Receives a subcontractor invoice for $250,000, 10 % held back | none | +225,000 payable, +25,000 holdback payable | −250,000 cost (reduces profit) |
| Pays the subcontractor $225,000 | −225,000 cash | −225,000 payable | none |
| Collects $378,000 from the owner | +378,000 cash, −378,000 receivable | none | none |
| Pays a $150,000 dividend to the founders | −150,000 cash | none | −150,000 retained earnings |
Billing the owner and receiving a subcontractor invoice both affect profit immediately, even though no cash moves. Collection and payment move cash but do not change profit. That distinction is the heart of accrual accounting.
Debits and credits
In double-entry bookkeeping, each transaction is recorded with equal debits and credits. By convention, debits increase assets and expenses, and credits increase liabilities, equity and revenue. The words come from Latin and have nothing to do with good or bad. A project manager rarely needs to post an entry, but reading a journal entry is useful when checking how a change order, a holdback release or a back-charge has been recorded.
| Account type | Increased by | Decreased by | Normal balance |
|---|---|---|---|
| Asset (cash, receivables, equipment) | Debit | Credit | Debit |
| Liability (payables, loans) | Credit | Debit | Credit |
| Equity (share capital, retained earnings) | Credit | Debit | Credit |
| Revenue (contract revenue) | Credit | Debit | Credit |
| Expense (contract costs, overhead) | Debit | Credit | Debit |
Worked problem
Recording a progress billing
Kestrel submits a progress claim of $500,000 plus 13 % HST on an Ontario job. The owner will hold back 10 % of the contract amount. Ignore when tax on the holdback becomes payable for now (Lesson 10). How is the billing recorded?
Show solution
- Debit contract receivable $450,000 plus HST of $58,500 = $508,500.
- Debit holdback receivable $50,000.
- Credit contract billings (or revenue, depending on the system) $500,000.
- Credit HST payable $58,500; total debits equal total credits at $558,500.
Answer: Billings are recorded in full; the part held back is a separate receivable because it will be collected later and under different conditions. Many contractors credit a billings account and adjust revenue at month-end through the WIP schedule (Lesson 5).
Accrual accounting and the matching principle
Under accrual accounting, revenue is recognized when it is earned and costs are recognized when they are incurred, whether or not cash has been received or paid. The matching principle says that costs should be reported in the same period as the revenue they helped to earn. For a contractor, that means the cost of concrete placed in March belongs in March, even if the supplier's invoice arrives in April and is paid in May; and the revenue for the work done in March belongs in March, even if the owner pays in May.
Some very small contractors keep their books on a cash basis, recording revenue when received and costs when paid. Cash-basis records are simple but can badly mislead: a firm that bills a large claim on the last day of the year and pays its suppliers early looks very different from one that does the opposite, with the same work done. The accounting standards used for general-purpose financial statements require the accrual basis, and sureties and lenders expect it. Tax rules sometimes allow other methods, which Lesson 10 discusses.
| Event | Cash basis | Accrual basis |
|---|---|---|
| Work done in December, billed in December, paid in February | Revenue in February | Revenue in December |
| Materials delivered and installed in December, invoiced in January | Cost when paid, perhaps February | Cost in December (accrued) |
| Annual insurance premium paid in advance in January | Full cost in January | Spread over the twelve months as a prepaid asset is used up |
| Holdback on December billing, released next August | Revenue in August | Revenue in December; holdback receivable until collected |
Accruals at month-end
Because invoices lag the work, the books at month-end always miss some costs. The accountant adds accruals for costs incurred but not yet invoiced: subcontract work done but not yet billed, materials received without an invoice, unpaid payroll for the last days of the month, equipment rental for the month. CON-310 showed how project teams provide the information for accruals on each job. From the company's point of view, accruals matter because the WIP schedule calculates revenue from cost incurred; missing costs understate both cost and, under the cost-to-cost method, revenue, and distort the job's apparent margin.
Worked problem
An unrecorded subcontract cost
At month-end, Kestrel's mechanical subcontractor has completed $180,000 of work on a job but will not invoice until the 5th of next month. The job's estimated total cost is $9,000,000 and costs recorded to date, without this item, are $3,420,000. Contract value is $9,750,000. What happens to recognized revenue if the accrual is missed?
Show solution
- With the accrual: cost to date = 3,420,000 + 180,000 = $3,600,000; percent complete = 3,600,000 ÷ 9,000,000 = 40 %; revenue = 0.40 × 9,750,000 = $3,900,000.
- Without it: percent complete = 3,420,000 ÷ 9,000,000 = 38 %; revenue = 0.38 × 9,750,000 = $3,705,000.
- Gross profit is understated by (3,900,000 − 3,600,000) − (3,705,000 − 3,420,000) = 300,000 − 285,000 = $15,000.
Answer: Missing the accrual understates revenue by $195,000 and gross profit by $15,000 for the month. Under the cost-to-cost method, a missing cost reduces revenue in proportion, so the profit effect is small but the revenue and balance sheet effects are not.
The chart of accounts
The chart of accounts is the list of all accounts in the general ledger, numbered so that similar accounts are grouped. A contractor's chart looks much like any company's for its balance sheet and overhead, but it has extra accounts for the features of contracting: holdback or retainage receivable and payable, contract assets and contract liabilities (underbillings and overbillings), costs on uncompleted contracts, equipment clearing accounts, and separate revenue and cost accounts for contract work.
| Account range | Group | Contractor-specific examples |
|---|---|---|
| 1000–1999 | Assets | Contract receivables; holdback receivable; contract assets (costs and estimated earnings in excess of billings); construction equipment; accumulated amortization |
| 2000–2999 | Liabilities | Trade and subcontract payables; holdback payable; contract liabilities (billings in excess of costs and estimated earnings); GST/HST payable; source deductions payable |
| 3000–3999 | Equity | Share capital; retained earnings; dividends or distributions |
| 4000–4999 | Revenue | Contract revenue; equipment rental income; other income |
| 5000–5999 | Direct contract costs | Labour; materials; subcontracts; equipment; other direct job costs |
| 6000–6999 | Indirect and equipment costs | Equipment ownership and operating costs; field overhead pools |
| 7000–7999 | General and administrative overhead | Office salaries; rent; estimating; insurance; professional fees |
The general ledger records totals by account. It does not tell management which job a cost belongs to. That is the job of the job cost ledger.
The general ledger and the job cost ledger
Every direct cost a contractor incurs is recorded twice in effect: once in the general ledger, in an account such as subcontract costs, and once in the job cost ledger, under a job number and cost code. The job cost ledger is a subsidiary ledger. Its total for all jobs must equal the direct cost accounts in the general ledger, and reconciling the two each month is a basic control. CON-310 described the job cost ledger from the project's point of view, with cost codes and cost types. From the company's point of view, the job cost ledger is the source of the cost-to-date figures on the WIP schedule, and errors in coding move cost and profit from one job to another.
# Reconcile the job cost ledger to the general ledger at month-end
gl_direct_cost = {"5100 field wages": 612_400, "5200 materials": 948_100,
"5300 subcontracts": 3_216_750, "5400 equipment": 141_900,
"5500 other direct": 66_300}
job_ledger = {"J-2407": 2_884_150, "J-2411": 1_452_600, "J-2415": 424_550,
"J-2502": 77_500}
gl_total = sum(gl_direct_cost.values())
jobs_total = sum(job_ledger.values())
print(f"General ledger direct cost: {gl_total:,}")
print(f"Job cost ledger total: {jobs_total:,}")
print(f"Difference to investigate: {gl_total - jobs_total:,}")General ledger direct cost: 4,985,450 Job cost ledger total: 4,838,800 Difference to investigate: 146,650
A difference means that something was posted to a direct cost account without a job number, or to a job without the matching account. Common culprits are invoices coded to a closed job, equipment charges posted to the clearing account but not to jobs, and manual journal entries. In this example, $146,650 of direct cost, about one dollar in every thirty-four this month, is not on any job, which would understate costs and overstate margins on the WIP schedule if it belongs to active jobs.
Subsidiary ledgers for receivables and payables
Contractors also keep subsidiary ledgers for receivables, by owner and job, and for payables, by vendor and subcontract. These show not only how much is owed but how old it is and how much is held back. An aged receivables report that separates current billings from holdback, and that flags amounts in dispute, is one of the first schedules a lender or surety asks for. On the payables side, a report by subcontract that shows the contract value, approved changes, billings to date, holdback withheld and amount paid ties directly to the commitment reports used in CON-310.
| Kestrel aged receivables, excluding holdback (illustrative) | Current | 31–60 days | 61–90 days | Over 90 days | Total |
|---|---|---|---|---|---|
| City of Ashdale, library | 820,000 | 410,000 | 0 | 0 | 1,230,000 |
| Northgate Health, clinic fit-out | 640,000 | 0 | 0 | 0 | 640,000 |
| Riverside Housing Co-op | 1,150,000 | 960,000 | 380,000 | 0 | 2,490,000 |
| Brookmere Developments, retail | 540,000 | 600,000 | 520,000 | 470,000 | 2,130,000 |
| Other jobs | 410,000 | 0 | 0 | 0 | 410,000 |
| Total | 3,560,000 | 1,970,000 | 900,000 | 470,000 | 6,900,000 |
The month-end close
The close is the routine that turns a month of transactions into reliable figures. A good contractor runs a fast, consistent close, typically finishing within ten to fifteen working days of month-end, because a WIP schedule that arrives in the last week of the following month is too late to act on.
| Step | Who | Purpose |
|---|---|---|
| Cut off payroll, purchasing and billing at month-end | Accounting, payroll | Make sure transactions land in the right month |
| Post all invoices received; accrue costs incurred but not invoiced | Accounting with project teams | Complete cost to date by job |
| Allocate equipment and indirect cost pools to jobs | Accounting | Charge jobs for equipment and shared costs (Lessons 6 and 7) |
| Reconcile bank, receivables, payables and job cost ledgers | Accounting | Catch posting errors |
| Update each job's estimated cost to complete and estimated total cost | Project managers | Basis for revenue recognition |
| Prepare the WIP schedule and adjust revenue | Controller | Recognize earned revenue and over or underbillings |
| Review job margins and fades with management | Controller, operations | Question changes and decide actions |
| Issue financial statements and reports | Controller | Inform management, lenders and sureties |
The step that most often slows the close is the project managers' updates. A WIP schedule is only as good as the estimates of cost to complete, and those require the project manager to think about what is left to do, not simply to subtract cost to date from the budget. CON-310 covered how a project team builds a defensible forecast; this course shows how that forecast flows into the company's revenue.
Internal controls in a contracting firm
Internal controls are the policies that protect a firm's assets and make its records reliable. Contractors face particular risks: payments to fictitious vendors, payroll for workers who do not exist, materials delivered to the wrong place, unapproved change orders paid to subcontractors, and costs moved between jobs to hide losses. Basic controls are inexpensive and expected by lenders and sureties.
| Risk | Control |
|---|---|
| Fictitious vendors or duplicate payments | Separate who approves new vendors from who pays them; match invoices to purchase orders and receiving records |
| Ghost employees or padded hours | Field supervisors approve timecards; payroll compares headcount to site sign-in records |
| Paying for work not done | Project manager approves subcontract billings against measured progress; holdback withheld as required |
| Unauthorized changes | Changes paid only against signed change orders or approved change directives |
| Costs shifted between jobs | Coding reviewed by the person who knows the work; journal entries between jobs approved by the controller |
| Equipment and tool losses | Asset register, tagging, periodic counts and charges to jobs |
Common mistakes
MistakeTreating billing and revenue as the same thing.
InsteadBillings follow the payment schedule; revenue follows the work done. The WIP schedule reconciles the two (Lesson 5).
MistakeLeaving out costs that have not been invoiced at month-end.
InsteadAccrue subcontract work, materials and payroll incurred but not yet billed, or cost, revenue and margin will be misstated.
MistakeRecording holdback as part of the ordinary receivable.
InsteadKeep holdback or retainage in a separate account; it is collected later and under different conditions.
MistakeLetting the job cost ledger drift away from the general ledger.
InsteadReconcile the two every month and investigate any difference.
MistakeClosing the books weeks after month-end.
InsteadAim for a consistent close within about two weeks so that the WIP schedule can still guide decisions.
MistakeRelying on trust instead of basic controls.
InsteadSeparate duties, match invoices to receiving and approvals, and approve journal entries between jobs.
Summary and key terms
- Assets equal liabilities plus equity, and every transaction keeps the equation in balance through equal debits and credits.
- Accrual accounting recognizes revenue when earned and costs when incurred; contractors' general-purpose statements use the accrual basis.
- Month-end accruals capture costs incurred but not invoiced, which matters because revenue is calculated from cost to date.
- A contractor's chart of accounts includes holdback or retainage, contract assets and liabilities, and equipment accounts.
- The job cost ledger is a subsidiary ledger that must reconcile to the direct cost accounts in the general ledger.
- Aged receivable and payable reports that separate holdback are key schedules for lenders and sureties.
- A fast, disciplined monthly close and basic internal controls make the numbers reliable.
- Accounting equation
- Assets = liabilities + equity.
- Double entry
- Recording each transaction with equal debits and credits.
- Accrual
- A cost or revenue recorded in the period it occurred, before an invoice or payment.
- Matching principle
- Reporting costs in the same period as the revenue they helped earn.
- Chart of accounts
- The numbered list of all accounts in the general ledger.
- General ledger
- The main record of all accounts and their balances.
- Job cost ledger
- A subsidiary ledger of costs by job and cost code.
- Subsidiary ledger
- A detailed ledger that supports a single general ledger account.
- Month-end close
- The routine that completes, reconciles and reports a month's records.
- Internal control
- A policy or procedure that protects assets and makes records reliable.
Practice problems
Work each problem on paper first, then reveal the answer to check.
State the accounting equation.
Show answer
Assets = liabilities + equity.
Which side of an entry increases a liability?
Show answer
A credit.
Kestrel receives a $100,000 subcontract invoice with 10 % held back. Which accounts change?
Show answer
Subcontract cost +100,000; payable +90,000; holdback payable +10,000.
Under the accrual basis, when is revenue for work done in December recognized if it is paid in February?
Show answer
In December.
Why does a missed cost accrual affect revenue under the cost-to-cost method?
Show answer
Percent complete is cost to date divided by estimated total cost, so missing cost lowers percent complete and recognized revenue.
What must the job cost ledger total equal?
Show answer
The direct contract cost accounts in the general ledger.
Name two contractor-specific balance sheet accounts.
Show answer
Holdback or retainage receivable and payable; contract assets and contract liabilities; construction equipment.
Why do lenders want receivables aged with holdback shown separately?
Show answer
Holdback is collected later and on different conditions, so it should not be counted as ordinary current collections.
Which step most often delays a contractor's month-end close?
Show answer
Project managers' updates of cost to complete.
Give one control against paying for work not done.
Show answer
The project manager approves subcontract billings against measured progress before payment.
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.