Theory
Profit is not cash: net income vs cash flow
Net income vs cash flow, month by month: how accruals, prepayments, invoices and equipment make the P&L and the bank disagree, and how to get from one to the other.
~9 min read · 9 exercises · 250 points
Before you start
Two numbers, two stories
Still at Klasna, a new module starts with a puzzle. Leo has put monthly operating profit next to the bank balance: in March the profit was modest and the bank grew by 1.7 million; in May the profit was higher and the bank shrank. Which number is lying?
This module is about cash, the money actually in Klasna's account. In this first lesson you'll see why profit and cash drift apart, and how to get from one to the other.
Accrual profit vs cash in the bank
Two numbers can both be right and still disagree. The P&L is built on accrual accounting: revenue is counted when a lesson is delivered, and a cost when it is incurred, whatever day the money moves. The bank only sees the day money moves.
Klasna in March 2026: operating profit 329,884 UAH, net cash flow +1,705,570. Where does the 1,375,686 difference come from?
Families paid 6,279,600 for packages, but lessons worth only 4,868,640 took place. The other 1,410,960 is for lessons in April, May and June: it is in the bank but not yet in revenue (deferred revenue). The payment provider keeps 2.5% on the day the family pays, so 97.5% reaches the account: 0.975 × 1,410,960 = 1,375,686.
So net income vs cash flow is a question of timing. The profit at the bottom of the P&L counts what was earned. Cash flow counts only money that entered or left the bank.
- DoMarch: 1,705,570 − 329,884 = 1,375,686 = 0.975 × 1,410,960 of prepayments
- Don't"March profit was only 329,884, so the bank can’t have grown by 1.7 million."
Prepaid money enters the bank long before it becomes revenue.
From operating profit to net cash flow
For Klasna in 2025/26, tutors, video, salaries, office and marketing are paid in the month they are incurred. So only two things separate profit from cash: prepayments and equipment.
net cash flow = operating profit + 0.975 × (paid − delivered) − equipment
- Paid: what families paid for packages that month.
- Delivered: the price of the lessons that took place.
- 0.975: the provider keeps 2.5% on the day of payment.
When families pay more than they use (March), cash runs ahead of profit. When they use more than they pay (May), it runs behind.
May 2026: profit 591,348; paid 4,802,300; delivered 6,002,880. Paid − delivered = −1,200,580: lessons bought in spring and used in May. 0.975 × (−1,200,580) = −1,170,565.50. Net cash flow: 591,348 − 1,170,565.50 = −579,217.50 UAH.
The profit is not wrong. It measures what May earned; the bank measures what May received and paid.
- DoMay: 591,348 + 0.975 × (4,802,300 − 6,002,880) = −579,217.50 UAH
- Don'tMay: 591,348 + (4,802,300 − 6,002,880) = −609,232 UAH
Forgets the 2.5% fee already taken when families paid; use 0.975.
Cash questions need cash answers
Two questions sound alike and need different reports:
- "Are we profitable?" The P&L answers: what was earned and what it cost, on an accrual basis.
- "How much can we spend?" Only cash answers: the bank balance today and what is expected to come in and go out.
Klasna's May 2026 shows why they must not be mixed. Operating profit was 591,348 UAH, yet the bank fell by 579,217.50. The P&L counted lessons families had paid for in spring; that money had arrived months earlier and partly been spent already.
If Leo planned June spending from May's profit, he would plan with money that does not exist. And June is a summer month: lessons continue, but families pay far less for new packages, so cash keeps falling.
The habit: when someone asks a question that ends in "spend", "pay" or "afford", open the bank and a cash plan, not the P&L. Profit tells you whether the business works; cash tells you whether it survives the next months.
- Do"For June spending, start from today’s balance and June’s expected payments in and out."
- Don't"We earned 591,348 in May, so we can spend that in June."
The bank fell in May; profit is not money available.
Four ways profit and cash part
Every gap between the P&L and the bank comes from one of four timing patterns:
Each pattern shifts money between months without changing what was earned. Each can be large or small depending on the month: prepayments dominate in spring and autumn, when families buy packages; invoices matter more as Klasna for Teams grows.
That is why Hanna never answers "how much money do we have?" from the P&L. She opens the bank. And when you explain a gap, name the pattern, not only the number.
- DoTeams invoice paid two months after the lessons: revenue now, cash later.
- Don'tLaptops paid in August: a cost in August’s P&L.
Cash leaves in August; the cost reaches the P&L month by month as depreciation.
A loss with money coming in
If a profitable month can drain the bank, the reverse also happens: a loss-making month can fill it.
September 2025: Klasna made an operating loss of 84,037.55 UAH. Yet the bank grew by 35,154.25, because families were buying autumn packages faster than they used them: they paid 3,178,470 while lessons worth 3,056,222 took place.
−84,037.55 + 0.975 × (3,178,470 − 3,056,222) = −84,037.55 + 119,191.80 = +35,154.25 UAH.
How to read such a month:
- The loss is still a loss. The lessons delivered did not cover the costs of running Klasna that month.
- The cash is not a reward. It is money Klasna still owes in lessons. When families use those lessons later, the cash will already be spent.
- The cash buys time to fix the loss, as long as nobody mistakes it for profit.
So never infer the sign of cash flow from the sign of profit, or the other way round. Check both.
- Do"September lost 84,037.55, yet cash rose 35,154.25 from prepaid packages we still owe."
- Don't"Cash grew in September, so the month was fine."
The month lost money; the cash is a debt in lessons.
When both point down
Profit and cash can share a sign too, and then the gap between them tells you how much timing adds to the pain.
December 2025 at Klasna:
- operating profit: −41,990.60 UAH, a small loss;
- families paid 2,819,050 for packages, while lessons worth 3,203,464 took place;
- no equipment.
Apply the formula:
- Paid − delivered: 2,819,050 − 3,203,464 = −384,414. Families used lessons bought in autumn.
- After the fee: 0.975 × (−384,414) = −374,803.65.
- Net cash flow: −41,990.60 − 374,803.65 = −416,794.25 UAH.
The bank fell about ten times more than the P&L loss. Nothing went wrong in December's operations beyond the small loss; the cash had simply arrived in October and November.
Keep the signs straight: a negative "paid − delivered" subtracts from profit. Write the outflow as a negative number, and check it against the story: a month of using prepaid lessons should lose cash.
- DoDecember: −41,990.60 + 0.975 × (−384,414) = −416,794.25 UAH
- Don'tDecember: −41,990.60 + 0.975 × 384,414 = +332,813.05 UAH
The sign flipped: families paid less than they used, so the difference is negative.
Working the formula for any month
With three inputs you can get from any month's operating profit to its net cash flow at Klasna in 2025/26: what families paid, what was delivered and any equipment bought.
Formula: Klasna in 2025/26, where tutors, video, salaries, office and marketing are paid in the month they're incurred. Paid: what families paid for packages; Delivered: the price of the lessons that took place. · shown above
January 2026, step by step:
- Paid − delivered: 4,230,090 − 3,678,336 = 551,754 of prepayments.
- After the provider's 2.5%: 0.975 × 551,754 = 537,960.15.
- Equipment: none.
- Net cash flow: 49,017.60 + 537,960.15 = 586,977.75 UAH.
The bank grew about twelve times more than the profit, because families bought packages for the spring exam season.
Check the sign at step 1 before anything else. Positive means families paid ahead and cash runs ahead of profit; negative means they are using lessons paid for earlier. The formula holds for Klasna this year because its other costs are paid in the month they occur. The next lesson turns it into a full statement that works for any company, including invoices and payouts paid later.
- DoJanuary: 49,017.60 + 0.975 × 551,754 = 586,977.75 UAH
- Don'tJanuary: 49,017.60 + 0.975 × 4,230,090 = 4,173,355.35 UAH
Profit already contains delivered lessons; add only the difference between paid and delivered.
Summer: lessons paid for in spring
A seasonal business has a predictable cash pattern. At Klasna families buy packages in autumn and especially before the spring exams, and use them over the following months. In summer, lessons continue but few new packages are bought.
Hanna's June 2026 forecast:
- operating loss: 133,497.60 UAH;
- families pay 1,460,660, lessons worth 2,655,744 take place;
- paid − delivered = −1,195,084;
- net cash flow: −133,497.60 + 0.975 × (−1,195,084) = −1,298,704.50 UAH.
The outflow is almost ten times the loss. The P&L is right: June really loses 133,497.60. The extra cash is leaving because June's lessons were paid for in spring, and that money has already been counted in spring's bank balance.
What the gap is not: an error in the P&L, depreciation (which is not a payment at all), or tutors paid in advance (Klasna pays them after lessons). Naming the right mechanism matters, because each one has a different fix.
- Do"June: −133,497.60 of profit, −1,298,704.50 of cash; summer uses lessons paid for in spring."
- Don't"The June loss must be wrong if cash falls ten times more."
Both numbers are right; they measure different things.
Ready to practise?
Answer the lesson's exercises and earn 250 points the first time you finish it.
Start the exercises