ACCT-499 · Lesson 1 of 12 · 33 min
The capstone engagement: scope, team and plan
This is the last course in the accounting program. Every earlier course taught one area at a time: financial reporting in ACCT-211, ACCT-212, ACCT-311 and ACCT-470, management accounting and performance in ACCT-222, ACCT-321 and ACCT-421, audit and assurance in ACCT-331 and ACCT-431, data analytics in ACCT-341, tax in ACCT-351 and ACCT-352, forensic work in ACCT-460, and integrated cases in ACCT-480. In practice a client never arrives sorted by course. A chief financial officer who asks for help with a falling share price is really asking about revenue recognition, cash flow, controls, tax, financing and strategy all at once. The capstone puts you in that position for a full term.
The course is built around one team engagement. A team of five students acts as an advisory team for an organization and, over twelve weeks, plans the work, analyses the organization's reporting, controls and strategy, and delivers a written report and a presentation to the client. Each lesson covers one stage of the engagement and adds a workstream: understanding the business, financial analysis, reporting issues, controls, data analytics, tax and finance, performance, recommendations, the report and the presentation. The lessons do not reteach the technical material; when a stage needs a technique, the lesson points back to the course that taught it and shows how to apply it under real constraints of time, evidence and audience.
The organization we will follow
Real capstones usually study a real organization: a listed company whose filings are public, or a local business or non-profit that agrees to host a student team. This course cannot do that safely, because any findings a course presents about a real company could be mistaken for genuine conclusions about it. Instead, every lesson follows one invented organization with an invented but realistic three-year financial record. When you carry out your own capstone, you will apply the same methods to a real organization's documents, and Lesson 2 shows how to find and read public filings on SEDAR+. Nothing in this course is a claim about any real company.
Bluestem Water Instruments Inc. is a mid-sized designer and manufacturer of water-quality sensors and monitoring systems, based in Halifax, Nova Scotia and listed on the Toronto Stock Exchange (TSX). Its customers are municipal water and wastewater utilities, government agencies, engineering firms and mining companies. It earns revenue in two ways. Hardware revenue comes from sensors, data loggers and installation, sold under contracts that often include a two-year warranty. Subscription revenue comes from Bluestem Cloud, a monitoring service that collects sensor readings, raises alerts and produces compliance reports for regulators. In 2025 Bluestem bought a small analytics software company, Merrow Lane Analytics, for 34 million dollars to strengthen its software. It reports under IFRS Accounting Standards, and its auditor is Pellham Vance LLP.
Bluestem's numbers tell a story that the engagement will investigate. Revenue grew by about 12.7 per cent in each of the last two years, to 231 million dollars in 2026, and the share price rose with it. But operating margin fell from 10.3 per cent to 7.4 per cent, and cash from operations fell from 20.9 million to 5.8 million. The board's audit committee asked the chief financial officer, Helen Marsh, to commission an independent review of the company's reporting, controls and strategy before the 2027 budget. She has agreed to host a capstone team from the local university as one input to that review, alongside the auditor's normal work. The team's sponsor at the university is Professor Ruth Adeyemi, a CPA who supervises the engagement.
The program that checks the dataset
Every number in the course comes from one dataset, stored in thousands of dollars. Before doing any analysis, an engagement team should check that the data it has been given holds together: that the balance sheet balances, that retained earnings roll forward from net income and dividends, and that the headline trends are what the client says they are. The program below builds the dataset and runs those checks. Later lessons reuse the same data, so a mistake here would spread through the whole engagement.
# Bluestem Water Instruments Inc. (invented), in thousands of dollars, years ended December 31.
YEARS = [2024, 2025, 2026]
IS = {'Hardware revenue': [138000, 149500, 161200], 'Subscription revenue': [44000, 55600, 69800],
'Hardware cost of sales': [82800, 92700, 104800], 'Subscription cost of sales': [11000, 13300, 16100],
'Selling, general and admin': [42000, 48500, 56900], 'Research and development': [18200, 21000, 23600],
'Depreciation': [6200, 6900, 7600], 'Amortization of intangibles': [3000, 4800, 4800],
'Interest expense': [2100, 3900, 4600], 'Income tax expense': [3300, 2500, 2500]}
BS = { # balances at December 31, 2023 to 2026
'Cash': [18000, 24200, 25500, 23400], 'Receivables': [26000, 30000, 39800, 52100],
'Inventories': [22000, 26000, 31500, 41900], 'Other current assets': [2800, 3000, 3600, 4100],
'Property, plant and equipment': [45000, 48000, 51000, 53500], 'Right-of-use assets': [13000, 12000, 15500, 14800],
'Intangible assets': [9000, 6000, 19200, 14400], 'Goodwill': [8000, 8000, 24000, 24000],
'Payables': [15000, 17000, 19500, 22700], 'Accrued liabilities': [8000, 9000, 10500, 11200],
'Deferred revenue': [11000, 14000, 18500, 21000], 'Warranty provision': [2300, 2500, 2700, 2600],
'Income taxes payable': [1200, 1300, 900, 700], 'Lease liabilities': [13500, 13000, 16800, 16300],
'Borrowings': [28000, 25000, 57000, 60000], 'Deferred tax liabilities': [1800, 2000, 2300, 2700],
'Share capital': [40000, 40000, 40000, 42000], 'Retained earnings': [23000, 33400, 41900, 49000]}
CF = {'Cash from operations': [20900, 15900, 5800], 'Capital expenditure': [-8000, -8400, -8400],
'Acquisition of Merrow Lane': [0, -34000, 0], 'Dividends paid': [-3000, -3000, -3000]}
def rev(i): return IS['Hardware revenue'][i] + IS['Subscription revenue'][i]
def cogs(i): return IS['Hardware cost of sales'][i] + IS['Subscription cost of sales'][i]
def ebit(i): return rev(i) - cogs(i) - sum(IS[k][i] for k in ('Selling, general and admin', 'Research and development', 'Depreciation', 'Amortization of intangibles'))
def ni(i): return ebit(i) - IS['Interest expense'][i] - IS['Income tax expense'][i]
ASSETS = ['Cash', 'Receivables', 'Inventories', 'Other current assets', 'Property, plant and equipment', 'Right-of-use assets', 'Intangible assets', 'Goodwill']
CUR_A = ASSETS[:4]
CUR_L = ['Payables', 'Accrued liabilities', 'Deferred revenue', 'Warranty provision', 'Income taxes payable']
LIABS = CUR_L + ['Lease liabilities', 'Borrowings', 'Deferred tax liabilities']
def tot(keys, t): return sum(BS[k][t] for k in keys)
# Lesson 1: build the engagement dataset and check that it holds together.
for i, y in enumerate(YEARS):
t = i + 1 # balance sheet index (0 is the 2023 opening balance)
a, l = tot(ASSETS, t), tot(LIABS, t)
e = BS['Share capital'][t] + BS['Retained earnings'][t]
roll = BS['Retained earnings'][t - 1] + ni(i) + CF['Dividends paid'][i]
print(f"{y}: revenue {rev(i):>8,} operating income {ebit(i):>7,} net income {ni(i):>7,}")
print(f" assets {a:>8,} = liabilities {l:>7,} + equity {e:>7,} balanced: {a == l + e}")
print(f" retained earnings roll-forward {roll:,} vs reported {BS['Retained earnings'][t]:,}: {roll == BS['Retained earnings'][t]}")
g = [rev(i) / rev(i - 1) - 1 for i in (1, 2)]
print(f"\nRevenue growth: 2025 {g[0]:.1%}, 2026 {g[1]:.1%}")
print(f"Operating margin: " + ", ".join(f"{y} {ebit(i) / rev(i):.1%}" for i, y in enumerate(YEARS)))
print(f"Cash from operations as a share of net income: " + ", ".join(f"{y} {CF['Cash from operations'][i] / ni(i):.2f}" for i, y in enumerate(YEARS)))2024: revenue 182,000 operating income 18,800 net income 13,400
assets 157,200 = liabilities 83,800 + equity 73,400 balanced: True
retained earnings roll-forward 33,400 vs reported 33,400: True
2025: revenue 205,100 operating income 17,900 net income 11,500
assets 210,100 = liabilities 128,200 + equity 81,900 balanced: True
retained earnings roll-forward 41,900 vs reported 41,900: True
2026: revenue 231,000 operating income 17,200 net income 10,100
assets 228,200 = liabilities 137,200 + equity 91,000 balanced: True
retained earnings roll-forward 49,000 vs reported 49,000: True
Revenue growth: 2025 12.7%, 2026 12.6%
Operating margin: 2024 10.3%, 2025 8.7%, 2026 7.4%
Cash from operations as a share of net income: 2024 1.56, 2025 1.38, 2026 0.57The output confirms that the statements are internally consistent and shows the tension at the heart of the engagement: revenue up 27 per cent in two years, net income down from 13.4 million to 10.1 million, and cash from operations falling to little more than half of net income in 2026. A team that stopped at the revenue line would miss the real questions.
What kind of engagement is this?
A capstone team is not the auditor. It does not express an opinion on the financial statements, it does not issue an assurance report, and its work cannot be relied on by investors. It is closest to an advisory or consulting engagement: the client asks for analysis and recommendations, and the team delivers them in a report addressed only to the client. Being clear about this matters for three reasons. First, it sets the client's expectations; the report will say what the team did and did not do. Second, it limits the team's responsibility; the team reports what it found within an agreed scope and does not imply that it looked for everything. Third, it protects the auditor's independence; the team must not take on management responsibilities or audit work that would blur the line.
Even though students are not yet members of a provincial CPA body, the course asks them to follow the CPA Code of Professional Conduct adopted by the provincial CPA bodies as if they were. That means integrity and due care, objectivity, professional competence, confidentiality and professional behaviour. Confidentiality is the rule most often tested in capstones: the client's data, its plans and anything learned in interviews belong to the client. The team signs a confidentiality agreement, stores files only in the space the university provides, and never discusses the client by name outside the engagement.
The team must also check for conflicts. A team member whose parent works in Bluestem's finance department, who holds Bluestem shares, or who has accepted a summer job offer from the auditor should disclose it to the supervisor before the engagement begins. Most such relationships can be managed by changing the member's workstream or excluding them from certain meetings; a few require a member to join another team. Disclosing early is always better than explaining later.
Scoping the engagement
The single most important document in any engagement is the agreement on scope. Clients rarely know exactly what they want, and student teams rarely know how long things take. Without a written scope, the work expands until it collapses. Bluestem's request, from the audit committee minute, is broad: "an independent review of reporting quality, internal control and strategy, with recommendations." The team turns this into specific questions it can answer in twelve weeks with the access it will have.
| Workstream | Question the team will answer | Main evidence | Lessons |
|---|---|---|---|
| Understanding the business | What drives Bluestem's revenue, costs and risks? | Filings, interviews, industry data | 2 |
| Financial analysis | Why are margins and cash flow falling while revenue grows? | Three years of statements, management accounts | 3, 4 |
| Reporting issues | Are any significant judgments in the 2026 statements questionable? | Accounting policies, contracts, calculations | 5 |
| Controls and analytics | Are key controls over revenue, payables and journals designed and operating well? | Walkthroughs, ERP extracts, ledger data | 6, 7 |
| Tax and finance | Is the tax position reasonable, and is the capital structure sound? | Tax notes, loan agreements, market data | 8 |
| Performance and strategy | Which measures and investments would restore profitable growth? | KPIs, budgets, investment proposals | 9, 10 |
| Reporting back | What should the client do, in what order, and why? | All of the above | 11, 12 |
Scope also says what is out of scope. The team will not test the completeness of every revenue transaction, will not provide tax filing services, will not value the company for a transaction, and will not review the work of the external auditor. It will use management's data, test it where it can, and say clearly in the report where it relied on information it could not verify. An out-of-scope list prevents later misunderstandings far more effectively than a long list of things the team will do.
The engagement letter
The scope is recorded in an engagement letter signed by the client sponsor, the supervisor and the team lead. In professional practice, letters for advisory work are governed by firm policy and professional standards for consulting engagements; for a capstone, the university provides a template. Bluestem's letter, drafted by the team, contains the following elements.
- Parties and purpose: the university team, supervised by Professor Adeyemi, will provide an advisory review to Bluestem's chief financial officer and audit committee for internal use only.
- Scope and questions: the seven workstreams in the table above, with the out-of-scope list.
- Nature of the work: analysis and recommendations; no audit, review or other assurance is provided, and the report may not be distributed to third parties without the university's consent.
- Client responsibilities: timely access to data, documents and staff; management remains responsible for its financial statements, controls and decisions, including whether to accept any recommendation.
- Timeline and deliverables: kick-off in week 1, interim findings in week 6, draft report in week 10, final report and presentation in week 12.
- Confidentiality and data handling: storage, retention and return or destruction of client data at the end of the term.
- Limitation and student status: the team members are students, the work is educational, and neither the university nor the students accept liability for decisions made on the basis of the report.
The letter is not a formality. When, in week 8, a director asks the team to add a review of the company's pricing strategy, the letter lets the team lead say that the request is outside scope and propose either a short note or a change to the letter with a corresponding reduction elsewhere. That conversation is much easier with a signed document in hand.
Team roles
Each member leads one or two workstreams and supports others. Roles should match strengths but also stretch each member; a capstone is the last chance to practise an area safely before professional life. Bluestem's team agreed the roles in its first meeting and recorded them in a team charter.
| Member | Lead role | Support role |
|---|---|---|
| Amara Okafor | Engagement lead: client contact, plan, report editor | Performance and strategy |
| Liam Tremblay | Financial analysis and reporting issues | Report exhibits |
| Priya Nair | Controls review and data analytics | Reporting issues |
| Jonah Weiss | Tax and finance | Financial analysis |
| Sofia Alvarez | Business understanding, performance and sustainability | Presentation design |
The team charter also records how the team will work: a weekly meeting with an agenda and minutes, a shared task board, a rule that drafts are reviewed by one other member before going to the supervisor, and a process for disagreements. Disagreements are inevitable in a demanding project. The charter says that technical disagreements are settled by evidence and, if needed, by the supervisor; disagreements about workload are raised at the weekly meeting before they become resentments. Lesson 12 returns to peer evaluation, which is how the course rewards members who carry their share.
Planning the hours
A capstone of this size usually needs about 90 hours per member over twelve weeks, on top of other courses. The program below sets out the team's planned hours by workstream and member and checks whether the load is balanced.
# Bluestem Water Instruments Inc. (invented), in thousands of dollars, years ended December 31.
YEARS = [2024, 2025, 2026]
IS = {'Hardware revenue': [138000, 149500, 161200], 'Subscription revenue': [44000, 55600, 69800],
'Hardware cost of sales': [82800, 92700, 104800], 'Subscription cost of sales': [11000, 13300, 16100],
'Selling, general and admin': [42000, 48500, 56900], 'Research and development': [18200, 21000, 23600],
'Depreciation': [6200, 6900, 7600], 'Amortization of intangibles': [3000, 4800, 4800],
'Interest expense': [2100, 3900, 4600], 'Income tax expense': [3300, 2500, 2500]}
BS = { # balances at December 31, 2023 to 2026
'Cash': [18000, 24200, 25500, 23400], 'Receivables': [26000, 30000, 39800, 52100],
'Inventories': [22000, 26000, 31500, 41900], 'Other current assets': [2800, 3000, 3600, 4100],
'Property, plant and equipment': [45000, 48000, 51000, 53500], 'Right-of-use assets': [13000, 12000, 15500, 14800],
'Intangible assets': [9000, 6000, 19200, 14400], 'Goodwill': [8000, 8000, 24000, 24000],
'Payables': [15000, 17000, 19500, 22700], 'Accrued liabilities': [8000, 9000, 10500, 11200],
'Deferred revenue': [11000, 14000, 18500, 21000], 'Warranty provision': [2300, 2500, 2700, 2600],
'Income taxes payable': [1200, 1300, 900, 700], 'Lease liabilities': [13500, 13000, 16800, 16300],
'Borrowings': [28000, 25000, 57000, 60000], 'Deferred tax liabilities': [1800, 2000, 2300, 2700],
'Share capital': [40000, 40000, 40000, 42000], 'Retained earnings': [23000, 33400, 41900, 49000]}
CF = {'Cash from operations': [20900, 15900, 5800], 'Capital expenditure': [-8000, -8400, -8400],
'Acquisition of Merrow Lane': [0, -34000, 0], 'Dividends paid': [-3000, -3000, -3000]}
def rev(i): return IS['Hardware revenue'][i] + IS['Subscription revenue'][i]
def cogs(i): return IS['Hardware cost of sales'][i] + IS['Subscription cost of sales'][i]
def ebit(i): return rev(i) - cogs(i) - sum(IS[k][i] for k in ('Selling, general and admin', 'Research and development', 'Depreciation', 'Amortization of intangibles'))
def ni(i): return ebit(i) - IS['Interest expense'][i] - IS['Income tax expense'][i]
ASSETS = ['Cash', 'Receivables', 'Inventories', 'Other current assets', 'Property, plant and equipment', 'Right-of-use assets', 'Intangible assets', 'Goodwill']
CUR_A = ASSETS[:4]
CUR_L = ['Payables', 'Accrued liabilities', 'Deferred revenue', 'Warranty provision', 'Income taxes payable']
LIABS = CUR_L + ['Lease liabilities', 'Borrowings', 'Deferred tax liabilities']
def tot(keys, t): return sum(BS[k][t] for k in keys)
# Lesson 1: engagement hours budget by workstream and team member (planned hours, invented).
team = ['Amara', 'Liam', 'Priya', 'Jonah', 'Sofia']
plan = { # workstream: hours per team member, in the order above
'Planning and client meetings': [24, 10, 10, 10, 10],
'Understanding the business': [8, 8, 6, 6, 18],
'Financial analysis': [6, 22, 8, 12, 4],
'Reporting issues': [4, 30, 4, 4, 2],
'Controls and analytics': [4, 4, 34, 4, 2],
'Tax and finance': [2, 4, 2, 34, 4],
'Performance and strategy': [6, 4, 4, 8, 30],
'Report and presentation': [26, 18, 18, 18, 18],
}
print(f"{'Workstream':30}" + "".join(f"{n:>7}" for n in team) + f"{'Total':>8}")
for w, hrs in plan.items():
print(f"{w:30}" + "".join(f"{h:>7}" for h in hrs) + f"{sum(hrs):>8}")
tot = [sum(plan[w][j] for w in plan) for j in range(len(team))]
print(f"{'Total':30}" + "".join(f"{h:>7}" for h in tot) + f"{sum(tot):>8}")
avg = sum(tot) / len(tot)
print(f"\nAverage per person: {avg:.0f} hours; spread {min(tot)} to {max(tot)}")
for n, h in zip(team, tot):
flag = ' <- more than 10% above average' if h > 1.1 * avg else ''
print(f" {n:6} {h:4} hours ({h / avg:.0%} of average){flag}")
weeks = 12
print(f"Planned load over {weeks} weeks: {sum(tot) / weeks / len(team):.1f} hours per person per week")Workstream Amara Liam Priya Jonah Sofia Total Planning and client meetings 24 10 10 10 10 64 Understanding the business 8 8 6 6 18 46 Financial analysis 6 22 8 12 4 52 Reporting issues 4 30 4 4 2 44 Controls and analytics 4 4 34 4 2 48 Tax and finance 2 4 2 34 4 46 Performance and strategy 6 4 4 8 30 52 Report and presentation 26 18 18 18 18 98 Total 80 100 86 96 88 450 Average per person: 90 hours; spread 80 to 100 Amara 80 hours (89% of average) Liam 100 hours (111% of average) <- more than 10% above average Priya 86 hours (96% of average) Jonah 96 hours (107% of average) Sofia 88 hours (98% of average) Planned load over 12 weeks: 7.5 hours per person per week
The plan gives Liam about 11 per cent more hours than average, because the reporting issues workstream is the most technical. The team accepted this deliberately but agreed that Liam would take a lighter role in the presentation. Note also how much time goes to the report and presentation: 98 of 450 hours, or more than a fifth. Inexperienced teams routinely underestimate the time needed to turn analysis into a clear, well-supported report, and then write it in the last weekend.
Working with the client
Client service is a skill in its own right. Helen Marsh is busy, and her staff have day jobs. The team makes requests through a single document request list, with each item numbered, explained and dated, rather than in a stream of emails. It books interviews in advance with a short agenda, sends questions beforehand, and sends a summary afterwards so that the interviewee can correct misunderstandings. It never surprises the client: a significant finding is discussed with Ms. Marsh before it appears in a draft, so that she can provide context the team may lack. Surprises damage trust, and they are often wrong, because the team has not yet heard the explanation.
The team also respects the boundary between advice and management. It can recommend that Bluestem remove conflicting system access, but it does not log into the ERP system and change access rights. It can model the effect of a pricing change, but it does not set prices. Management decides and acts; the team analyses and recommends.
Worked problem
Responding to a scope change
In week 4, the chief executive asks the team to add a review of whether Bluestem should acquire a competitor. How should Amara respond?
Show solution
- Recognize that an acquisition review is outside the agreed scope and could require valuation and due diligence work the team is not equipped or permitted to do.
- Thank the chief executive and explain the limits of the engagement letter, without dismissing the question.
- Offer alternatives: a short note on how an acquisition would interact with the team's findings on capital structure and integration of Merrow Lane, or a referral to the company's advisers.
- Discuss with Professor Adeyemi and Ms. Marsh, and record any agreed change in writing.
Answer: Decline the full review as outside scope, offer a limited related note, and record any change to scope in writing with the supervisor's agreement.
Common mistakes
MistakeStarting fieldwork before the scope is agreed in writing.
InsteadAgree and sign the engagement letter first, including what is out of scope.
MistakePresenting the team as if it were providing assurance.
InsteadState that the work is advisory, for the client's internal use, and provides no assurance.
MistakeLeaving the report to the last week.
InsteadBudget a fifth or more of the hours for drafting, review and presentation.
MistakeSending the client a finding for the first time in the draft report.
InsteadDiscuss significant findings with the client sponsor as they arise.
MistakeChanging client systems or records directly.
InsteadRecommend; leave decisions and actions to management.
Summary and key terms
- The capstone integrates the whole program in one advisory engagement for an organization.
- This course follows an invented company, Bluestem Water Instruments Inc.; your own capstone applies the same methods to a real organization's documents.
- Check that the dataset holds together before analysing it.
- The engagement is advisory: no assurance, internal use only, management keeps responsibility.
- A written scope, including what is out of scope, protects the team and the client.
- Roles, a team charter and an hours budget turn a group into a team.
- Engagement letter
- The written agreement setting out the parties, scope, responsibilities, deliverables and limitations of an engagement.
- Scope
- The questions an engagement will answer and the work it will and will not include.
- Advisory engagement
- Work that provides analysis and recommendations for a client's own use without expressing assurance.
- Team charter
- A team's written agreement on roles, working practices and how disagreements are resolved.
- Document request list
- A numbered, dated list of the information the team needs from the client.
- Scope creep
- The gradual expansion of an engagement beyond what was agreed, without changes to time or resources.
Practice problems
Work each problem on paper first, then reveal the answer to check.
Why does the course use an invented organization rather than a real company?
Show answer
Findings about a real company could be mistaken for genuine conclusions; the methods transfer to a real organization's documents in your own capstone.
Name three checks the team runs on the dataset before analysing it.
Show answer
The balance sheet balances, retained earnings roll forward from net income and dividends, and headline trends match what the client reports.
Why is the engagement not an audit?
Show answer
The team expresses no opinion, provides no assurance, and its report is for the client's internal use only.
List four elements of the engagement letter.
Show answer
Any four of: parties and purpose, scope and out-of-scope items, nature of the work, client responsibilities, timeline and deliverables, confidentiality, limitations.
A team member owns Bluestem shares. What should happen?
Show answer
Disclose it to the supervisor before the engagement; the supervisor decides whether to change the member's role or team.
Why does the hours plan allocate 98 hours to the report and presentation?
Show answer
Turning analysis into a clear, supported report and presentation takes much longer than teams expect.
Bluestem's revenue grew 27 per cent in two years. Why is that not the main story?
Show answer
Margins and cash flow fell; growth that consumes cash and lowers profit raises the real questions.
What is the difference between recommending and managing?
Show answer
The team analyses and recommends; management decides and acts, including changing systems and records.
How should a significant finding first reach the client?
Show answer
In a conversation with the client sponsor, before it appears in a draft.
What should a team do when a director asks for extra work in week 8?
Show answer
Explain the agreed scope, offer options, and record any agreed change in writing with the supervisor.
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.