Financial Statements
Subject: Stock-Market · Chapter: Financial Statements Time Limit: 90 minutes · Total Marks: 60 Instructions: Answer all three questions. Show all working. Where modelling or code is required, present clear pseudocode/Python. State all assumptions.
Question 1 — Reconstructing the Statements & Proving Cash ≠ Profit (24 marks)
A company, NovaMfg Ltd., reports the following for FY2024 (all figures in ):
- Revenue:
- COGS (cash purchases + inventory change): cash paid to suppliers ; inventory rose from to
- Operating expenses (excluding D&A):
- Depreciation & Amortization:
- Interest expense: (fully paid in cash)
- Tax rate: (fully paid in cash)
- Accounts receivable rose from to
- Accounts payable rose from to
- Capital expenditure (PP&E purchased, cash):
- New long-term borrowing raised: ; dividends paid:
- Opening cash balance:
(a) Construct the income statement down to net income. Compute COGS correctly (recall COGS purchases opening inventory closing inventory), gross profit, operating income (EBIT), and net income. (8)
(b) Construct the cash flow from operations (CFO) using the indirect method (start from net income, add back D&A, adjust for working-capital changes). Then complete CFI and CFF, and compute the closing cash balance. (9)
(c) The CFO you obtained differs from net income. Prove algebraically, using your figures, that and explain in words which single item most damages the profit-to-cash conversion here, and why a profitable firm can still run out of cash. (7)
Question 2 — Working-Capital Cycle Model & Sensitivity (Coding + Math) (20 marks)
The Cash Conversion Cycle (CCC) is defined as where , , .
Use NovaMfg's closing balances and FY figures from Q1 (Revenue , COGS as computed, closing Inventory , closing AR , closing AP ).
(a) Compute DIO, DSO, DPO and the CCC (round to 1 decimal day). Interpret the sign/magnitude of the CCC. (6)
(b) Write a Python function ccc(rev, cogs, inv, ar, ap) returning the CCC, and a driver that computes the incremental working capital financing need if revenue grows next year while all ratios (DIO, DSO, DPO) stay constant and COGS scales proportionally with revenue. Give the formula for that incremental need and the numeric answer. (9)
(c) Show mathematically that if a firm's CCC is negative, sales growth generates rather than consumes cash. State one real-world business model where this holds. (5)
Question 3 — Forensic Analysis: Spotting Red Flags (16 marks)
Over three years a company reports:
| Year | Net Income | CFO | Revenue | Receivables | Inventory |
|---|---|---|---|---|---|
| Y1 | 400 | 380 | 5,000 | 600 | 500 |
| Y2 | 520 | 250 | 6,000 | 1,100 | 900 |
| Y3 | 650 | 90 | 7,200 | 2,000 | 1,600 |
(a) Compute, for each year, the accruals ratio and the growth rate of receivables vs revenue. Present a small table. (6)
(b) Identify at least three accounting red flags evidenced by these trends and tie each to a specific line-item behaviour. Explain the mechanism by which aggressive revenue recognition would produce exactly this pattern. (6)
(c) Propose two specific notes-to-accounts / footnote disclosures you would inspect to confirm or refute your suspicion, and state what you'd expect to find in each case. (4)
End of paper.
Answer keyMark scheme & solutions
Question 1
(a) Income Statement (8 marks)
COGS purchases opening inv closing inv . (cash purchases are the "purchases" figure; inventory build reduces COGS) (2)
| Line | ₹ lakh |
|---|---|
| Revenue | 12,000 |
| COGS | 6,600 |
| Gross profit | 5,400 |
| Operating expenses | 1,800 |
| D&A | 600 |
| Operating income (EBIT) | 3,000 |
| Interest | 400 |
| Pre-tax income (EBT) | 2,600 |
| Tax @25% | 650 |
| Net income | 1,950 |
- Gross profit (2)
- EBIT (2)
- EBT ; Tax ; NI (2)
(b) Cash Flow Statement (9 marks)
CFO (indirect): (5)
- Add back non-cash D&A; AR↑ and Inv↑ consume cash (subtract); AP↑ provides cash (add).
CFI (capex). (1) CFF (borrowing less dividends). (1) Net change in cash . (1) Closing cash . (1)
(c) Proof & Interpretation (7 marks)
Cash generated by operations = cash-basis revenue − cash-basis operating costs − cash tax. Starting from accrual NI and converting each accrual item to cash: (3)
- Revenue collected in cash Revenue .
- Cash COGS COGS (buying more inventory uses cash; paying suppliers later saves cash).
- D&A is a non-cash charge inside NI, so add it back.
Rearranging: (2)
Most damaging item: the jump — revenue was booked but not collected. (1) A profitable firm can run out of cash because profit recognises sales on accrual (delivery) while cash arrives later; rapid growth ties up cash in receivables and inventory faster than profit replenishes it. (1)
Question 2
(a) Ratios (6 marks) — using COGS
- DIO days (1.5)
- DSO days (1.5)
- DPO days (1.5)
- CCC days (≈79.9 unrounded). (1) Interpretation: cash is locked up ~80 days between paying suppliers and collecting from customers → positive working-capital funding need; growth will consume cash. (0.5)
(b) Code & Incremental Need (9 marks)
def ccc(rev, cogs, inv, ar, ap):
dio = inv / cogs * 365
dso = ar / rev * 365
dpo = ap / cogs * 365
return dio + dso - dpo
# base year
rev, cogs = 12000, 6600
inv, ar, ap = 1500, 1900, 1100
NWC_0 = (ar + inv) - ap # non-cash working capital = 2300
# 20% growth, ratios constant -> all WC items scale with their driver (rev/cogs), i.e. x1.2
g = 0.20
NWC_1 = NWC_0 * (1 + g) # 2760
incremental_need = NWC_1 - NWC_0 # = NWC_0 * g
print(incremental_need) # 460(5 for correct function + driver logic)
Formula: since inventory & payables scale with COGS and receivables with revenue — all growing at 20% — net working capital scales by the same factor. Base NWC . (2) Incremental financing need ₹ lakh. (2)
(c) Negative CCC proof (5 marks)
Cash tied in operations . If CCC then NWC per unit sales (payables + collections outrun inventory + receivables). (2) Then for : growing sales releases cash rather than absorbing it. (2) Example: Amazon/retail-e-commerce & subscription models (customers pay upfront/instantly, suppliers paid on 60–90 day terms, low inventory). (1)
Question 3
(a) Table (6 marks)
| Year | NI−CFO | Accruals ratio | Rev growth | Receivables growth |
|---|---|---|---|---|
| Y1 | 20 | 0.40% | — | — |
| Y2 | 270 | 4.50% | +20.0% | +83.3% |
| Y3 | 560 | 7.78% | +20.0% | +81.8% |
Accruals ratios: ; ; . (3) Rev growth , . Receivables , . (3)
(b) Red flags (6 marks) — any three:
- Widening NI–CFO gap / rising accruals ratio: profit growing while CFO collapses (380→250→90) — earnings not backed by cash. (2)
- Receivables growing far faster than revenue (~82% vs 20%): suggests channel-stuffing or booking sales that aren't converting to cash — possible aggressive/premature revenue recognition. (2)
- Inventory growing faster than revenue (500→900→1600, +80%/+78% vs +20% sales): demand overstated or obsolescence/write-down risk; also inflates gross profit if not written down. (1) Mechanism: recognising revenue before collection inflates NI and AR simultaneously while no cash arrives → NI rises, CFO falls, AR balloons — exactly this pattern. (1)
(c) Footnotes to inspect (4 marks) — any two:
- Revenue recognition policy note: check timing/point of recognition and any change; expect vague "on shipment"/bill-and-hold language if aggressive. (2)
- Receivables ageing / allowance for doubtful debts note: expect rising overdue buckets and inadequate provisioning if red flag is real. (2)
- (Alt) Inventory valuation & write-down note; related-party sales disclosures.
[
{"claim":"COGS = 7200 + 900 - 1500 = 6600","code":"result = (7200+900-1500)==6600"},
{"claim":"Net income = 1950","code":"rev=12000; cogs=6600; gp=rev-cogs; ebit=gp-1800-600; ebt=ebit-400; ni=ebt-0.25*ebt; result = ni==1950"},
{"claim":"CFO = 1350 and closing cash = 1050","code":"ni=1950; cfo=ni+600-900-600+300; cfi=-2000; cff=1500-300; close=500+cfo+cfi+cff; result = (cfo==1350) and (close==1050)"},
{"claim":"CCC approx 79.9 days","code":"dio=1500/6600*365; dso=1900/12000*365; dpo=1100/6600*365; ccc=dio+dso-dpo; result = abs(ccc-79.9)<0.2"},
{"claim":"Incremental WC need on 20% growth = 460","code":"nwc0=1900+1500-1100; inc=nwc0*0.20; result = inc==460"},
{"claim":"Y3 accruals ratio approx 7.78%","code":"result = abs((650-90)/7200-0.0778)<0.001"}
]