- 1. Why Engineers Should Read Financial Statements
- 2. Anatomy of the Income Statement (P&L)
- 3. Anatomy of the Cash Flow Statement (CFS)
- 4. P&L vs CFS: Why a Profitable Company Can Run Out of Cash
- 5. Engineering Analogies for Financial Statements
- 6. Practical Analysis: Reading Financial Statements by Company Type
- 7. Key Metrics Summary
- 8. Conclusion
- Quiz

1. Why Engineers Should Read Financial Statements
Engineers design systems, analyze data, and base decisions on quantifiable evidence. Financial statements are the runtime logs and monitoring dashboard of a company as a system.
Being able to read financial statements enables the following:
- Salary negotiation: Understand the company's profitability and cash reserves before entering negotiations
- Career decisions: Verify whether a prospective employer is actually making money and how much cash remains
- Making the case for tech investment: Demonstrate that "this infrastructure cost is X% of COGS" with real numbers
- Stock investing: Read earnings reports firsthand during earnings season instead of relying on summaries
- Startup preparation: Speak the language of finance when talking with investors
This guide focuses on the two most practically useful of the three major financial statements: the Income Statement (P&L) and the Cash Flow Statement (CFS). The Balance Sheet (B/S) is a point-in-time snapshot that is relatively straightforward once understood. P&L and CFS represent "flows" and require practice to read effectively.
2. Anatomy of the Income Statement (P&L)
The Income Statement shows how much a company earned, how much it spent, and how much remained over a given period. It is also known as the Profit & Loss Statement (P&L).
Structure at a Glance
Revenue
- Cost of Goods Sold (COGS)
─────────────────────
= Gross Profit ← "Is the product itself profitable?"
- Selling, General & Administrative (SG&A)
- Research & Development (R&D)
- Sales & Marketing (S&M)
- General & Administrative (G&A)
─────────────────────
= Operating Income ← "Is the core business making money?"
+/- Non-operating items (interest, FX gains/losses, etc.)
─────────────────────
= Pre-tax Income
- Income Tax
─────────────────────
= Net Income ← "What's the bottom line?"
Line Items in Detail
COGS (Cost of Goods Sold): The direct costs of delivering the product or service. For a SaaS company, this includes server costs (AWS/GCP), customer support wages, and CDN expenses. For manufacturing, it would be raw materials and factory labor.
Gross Profit: Revenue minus COGS. A higher Gross Margin means profits scale faster with volume. Typical benchmarks: SaaS 70-80%, manufacturing 20-40%, retail/distribution 10-20%.
Operating Income: The real profit from core business operations. Gross Profit minus all operating expenses (R&D, marketing, rent, salaries). A negative Operating Income means the core business is losing money.
Net Income: The final profit after taxes, interest, and one-time items. However, one-time items (e.g., asset sale gains) can distort this figure, making Operating Income a more reliable indicator of ongoing performance.
Three Key Questions When Reading a P&L
- Is revenue growing? -- Check Year-over-Year (YoY) and Quarter-over-Quarter (QoQ) trends
- Is Gross Margin stable? -- A declining Gross Margin signals eroding pricing power or rising costs
- Is Operating Margin improving? -- If Operating Margin drops while revenue grows, there is a cost structure problem
3. Anatomy of the Cash Flow Statement (CFS)
The Cash Flow Statement shows how much cash actually came in and went out. Under accrual accounting, revenue can be recognized before cash arrives, which is why the CFS exists as a separate report.
Three Activity Categories
┌──────────────────────────────────────────────────┐
│ Cash Flow Statement (CFS) │
├──────────────────────────────────────────────────┤
│ │
│ 1. Operating Cash Flow (OCF) │
│ - Starts from Net Income │
│ - Adds back non-cash items (depreciation) │
│ - Adjusts for working capital changes │
│ → "Is the core business generating cash?" │
│ │
│ 2. Investing Cash Flow (ICF) │
│ - Equipment/facility purchases (CAPEX) │
│ - Acquisitions / divestitures │
│ - Securities purchased/sold │
│ → "How much is being invested for the future?"│
│ │
│ 3. Financing Cash Flow (FCF) │
│ - Debt raised / repaid │
│ - Stock issuance / buybacks │
│ - Dividends paid │
│ → "How is capital being raised and returned?" │
│ │
│ Beginning Cash + Sum of 3 Activities = Ending Cash│
└──────────────────────────────────────────────────┘
Operating Cash Flow (OCF) in Detail
OCF is almost always prepared using the indirect method. It starts from Net Income and adjusts for non-cash items:
Net Income
+ Depreciation (expense recorded without cash outflow)
+ Stock-based compensation (non-cash labor cost)
- Increase in Accounts Receivable (revenue booked, cash not yet received)
- Increase in Inventory (cash tied up in unsold goods)
+ Increase in Accounts Payable (goods received, payment deferred)
+ Increase in Deferred Revenue (cash received, revenue not yet recognized)
─────────────────────
= Operating Cash Flow
Key insight: Net Income can be positive while OCF is negative if Accounts Receivable spike. Conversely, Net Income can be negative while OCF is positive thanks to depreciation and deferred revenue.
Investing Cash Flow (ICF) in Detail
For a healthy growing company, ICF is normally negative -- it means the company is investing in equipment, technology, and acquisitions.
- CAPEX (Capital Expenditures): Investment in long-term assets like servers, equipment, and buildings
- M&A: Cash spent acquiring other companies or technologies
- Securities trading: Short-term investment of excess cash
If ICF is positive, the company is selling assets -- the context matters (routine optimization vs. distress).
Financing Cash Flow in Detail
- New borrowings: Loans or bond issuances bring cash in (positive)
- Debt repayment: Paying down existing debt sends cash out (negative)
- Dividends paid: Distributing profits to shareholders (negative)
- Share buybacks: Purchasing own shares from the market (negative)
- Equity issuance: Issuing new shares brings cash in (positive)
4. P&L vs CFS: Why a Profitable Company Can Run Out of Cash
"Black-ink bankruptcy" is a real phenomenon -- a company shows a profit on the Income Statement but runs out of cash and goes bankrupt. Understanding the structural reasons for this gap is essential.
Sources of Divergence
| Situation | P&L Impact | Cash Impact | Explanation |
|---|---|---|---|
| Credit sales (Accounts Receivable) | Revenue recognized (+) | No cash inflow | Product delivered, but payment due in 60-90 days |
| Depreciation | Expense recognized (-) | No cash outflow | Cost of previously purchased assets spread over time |
| Prepayments (Deferred Revenue) | Revenue not recognized | Cash inflow (+) | Annual subscription fee received upfront, recognized monthly |
| Inventory buildup | Cost not recognized | Cash outflow (-) | Raw materials purchased in bulk, not yet sold |
| CAPEX (Capital investment) | Cost not recognized | Cash outflow (-) | A $1M server shows up on P&L as only ~$200K/year in depreciation |
Real Scenario: SaaS Company A
Company A Quarterly Results:
- P&L Net Income: +$5M (profitable)
- Operating Cash Flow: -$3M (cash negative)
Why?
1. Signed annual enterprise contract (recognized $20M revenue)
→ But payment terms are net 90 days (A/R increased by $20M)
2. Major server expansion (CAPEX $8M)
→ P&L shows only $1.6M depreciation (5-year straight-line)
3. Marketing prepayment ($3M for next quarter's conference)
→ P&L shows only $1M as current quarter expense
Result: Profitable on paper, but the bank account is shrinking
Key Takeaway
- Looking at P&L alone can create the illusion that "things are going well"
- CFS must be read alongside P&L to determine "is cash actually flowing?"
- Healthy companies have OCF > Net Income (non-cash expenses like depreciation get added back)
5. Engineering Analogies for Financial Statements
Financial statements become intuitive when mapped to system monitoring concepts familiar to engineers.
P&L = Throughput Log
# P&L as API server metrics
class ProfitAndLoss:
def __init__(self):
self.revenue = 0 # Total requests processed (Revenue)
self.cogs = 0 # Server costs, CDN costs (COGS)
self.gross_profit = 0 # Net throughput after infra (Gross Profit)
self.opex = 0 # Team salaries, office costs (SG&A)
self.operating_income = 0 # Remaining capacity after ops (Op. Income)
def calculate(self):
self.gross_profit = self.revenue - self.cogs
self.operating_income = self.gross_profit - self.opex
return self.operating_income
- Revenue = Total API requests processed. More traffic means more revenue
- COGS = Server costs. Scales with request volume (variable cost)
- Gross Margin = Per-request profitability. Better server efficiency = higher margin
- Operating Income = What remains after all costs are deducted
CFS = Memory/Resource Utilization
# CFS as system resource monitoring
class CashFlowStatement:
def __init__(self, beginning_cash):
self.beginning_cash = beginning_cash # Initial available memory
def operating_cf(self, net_income, depreciation, ar_change, inventory_change):
"""Operating activities = actual resource availability delta"""
# net_income: throughput-log profit
# depreciation: pre-allocated memory (no new allocation)
# ar_change: pending response requests (memory tied up)
return net_income + depreciation - ar_change - inventory_change
def investing_cf(self, capex, acquisitions):
"""Investing activities = buying new servers/infrastructure"""
return -(capex + acquisitions)
def financing_cf(self, debt_issued, debt_repaid, dividends):
"""Financing activities = external memory allocation/deallocation"""
return debt_issued - debt_repaid - dividends
- Operating CF = Available memory for the application. Even if throughput (P&L) is high, memory leaks (A/R growth) can drain it
- Investing CF = Buying new servers. Negative is normal (investing in infrastructure)
- Financing CF = Adding or removing external RAM. Loans or equity raise bring in cash
- Ending Cash = Remaining available memory. If this hits zero, it is OOM (Out of Memory) = bankruptcy
Summary of Analogies
| System Monitoring | Financial Statement | Meaning |
|---|---|---|
| Transactions Per Second (TPS) | Revenue | How many transactions are being processed |
| CPU Utilization | Operating Expense Ratio | How efficiently resources are being used |
| Response queue / backlog | Accounts Receivable | Processed but not yet paid |
| Available memory | Cash | Immediately usable resources |
| Memory leak | Cash drain | Resources slowly leaking away |
| OOM Kill | Black-ink bankruptcy | Throughput is fine, but memory is depleted |
6. Practical Analysis: Reading Financial Statements by Company Type
Here are examples of how to read P&L and CFS for different company profiles.
Example 1: High-Growth SaaS Company
[Income Statement]
Revenue: $50M (+40% YoY)
COGS: -$10M (Gross Margin 80%)
Gross Profit: $40M
R&D: -$15M
S&M: -$20M
G&A: -$8M
Operating Income: -$3M (loss)
[Cash Flow Statement]
Operating CF: +$5M (loss on P&L but positive due to deferred revenue)
Investing CF: -$8M (server infrastructure, small acquisition)
Financing CF: +$20M (Series C funding)
Net Cash Change: +$17M
Ending Cash: $35M
Analysis:
- P&L shows a loss, but this is due to growth investment (S&M at $20M)
- Gross Margin of 80% is very healthy (product-level profitability validated)
- OCF being positive is the critical signal -- SaaS companies collect subscription fees upfront
- Funding round provides ample runway (ending cash $35M)
- Conclusion: Intentional loss (aggressive growth phase), healthy fundamentals
Example 2: Traditional Manufacturing Company
[Income Statement]
Revenue: $100M (+3% YoY)
COGS: -$70M (Gross Margin 30%)
Gross Profit: $30M
SG&A: -$20M
Operating Income: $10M (Operating Margin 10%)
[Cash Flow Statement]
Operating CF: +$15M (depreciation $5M added back)
Investing CF: -$12M (factory expansion, equipment replacement)
Financing CF: -$4M (debt repayment, dividends)
Net Cash Change: -$1M
Ending Cash: $20M
Analysis:
- 3% revenue growth is typical for a mature industry
- 10% Operating Margin shows stable profit generation
- OCF ($15M) > Net Income -- healthy pattern with depreciation added back
- CAPEX of $12M invested -- Free Cash Flow (FCF) = $15M - 3M
- Simultaneously repaying debt and paying dividends -- classic mature company pattern
- Conclusion: Stable but low growth. Positive FCF enables shareholder returns
Example 3: Company Showing Warning Signs
[Income Statement]
Revenue: $30M (-5% YoY, declining)
COGS: -$24M (Gross Margin 20%, deteriorating)
Gross Profit: $6M
SG&A: -$5M
Operating Income: $1M
[Cash Flow Statement]
Operating CF: -$2M (A/R spike, inventory buildup)
Investing CF: +$3M (real estate sold)
Financing CF: +$4M (emergency loan)
Net Cash Change: +$5M
Ending Cash: $8M
Analysis:
- P&L shows a profit (Operating Income $1M), but OCF is -$2M -- earnings quality is poor
- A/R spike suggests customers are not paying on time (bad debt risk)
- Asset sales and emergency borrowing to secure cash -- cash situation is critical
- Gross Margin declining -- cost competitiveness is weakening
- Conclusion: P&L looks acceptable, but CFS reveals clear warning signs
7. Key Metrics Summary
Essential metrics to check when reading P&L and CFS.
Profitability Metrics (P&L-based)
| Metric | Formula | Meaning | Benchmark |
|---|---|---|---|
| Gross Margin | Gross Profit / Revenue | Product/service profitability | SaaS 70%+, Mfg 25%+ |
| Operating Margin | Operating Income / Revenue | Core business efficiency | 15%+ is good |
| Net Margin | Net Income / Revenue | Bottom-line profitability | 10%+ is good |
| EBITDA Margin | EBITDA / Revenue | Cash-basis profitability | 20%+ |
Cash Efficiency Metrics (CFS-based)
| Metric | Formula | Meaning | Benchmark |
|---|---|---|---|
| Free Cash Flow (FCF) | Operating CF - CAPEX | Cash remaining after investment | Stay positive |
| FCF Margin | FCF / Revenue | Cash generation relative to sales | 15%+ is excellent |
| Cash Conversion Cycle (CCC) | DSO + DIO - DPO | Speed of cash turnover (days) | Lower is better |
| OCF / Net Income Ratio | Operating CF / Net Income | Cash quality of earnings | 1.0 or above |
Cash Conversion Cycle (CCC) Explained
CCC = DSO + DIO - DPO
DSO (Days Sales Outstanding) = Accounts Receivable / (Revenue / 365)
→ Days from sale to cash collection
DIO (Days Inventory Outstanding) = Inventory / (COGS / 365)
→ Days from inventory purchase to sale
DPO (Days Payable Outstanding) = Accounts Payable / (COGS / 365)
→ Days from purchase to payment
Example:
Company A: DSO 45 + DIO 30 - DPO 60 = CCC 15 days
Company B: DSO 90 + DIO 60 - DPO 30 = CCC 120 days
→ Company A's cash cycles back in 15 days. Company B takes 120 days.
→ Company B needs additional working capital for those 120 days.
Quick Health Diagnostic Checklist
- Is revenue growing year-over-year? (Growth)
- Is Gross Margin stable or improving? (Product competitiveness)
- Is Operating Cash Flow positive? (Cash generation)
- Is Operating CF > Net Income? (Earnings quality)
- Is FCF positive? (Residual cash after investment)
- Is CCC stable or improving? (Working capital efficiency)
- Is Investing CF negative? (Investing for future growth)
- Is there any abnormal spike in borrowings under Financing CF? (Financial stability)
8. Conclusion
Financial statements are the health report of a company. Just as engineers read server logs, reading P&L and CFS reveals a company's true condition.
Three things to remember:
- P&L is throughput; CFS is memory -- A system can crash from insufficient memory even when throughput is high
- Operating Cash Flow matters more than Net Income -- It reveals the "quality" of earnings
- P&L and CFS must be read together to see the full picture -- Reading only one guarantees blind spots
The next time earnings season comes around, open the financial statements of a company you care about on SEC EDGAR (US) or DART (Korea). Read them with the structure covered in this guide, and the story behind the numbers will start to come alive.
Quiz
Q1: What is the main topic covered in "Accounting Basics for Engineers: How to Read Cash Flow
Statements and Income Statements"?
A practical guide to reading Cash Flow Statements (CFS) and Income Statements (P&L) from an engineer's perspective. Understand the core structure of financial statements through real-world examples and code analogies.
Q2: Why Engineers Should Read Financial Statements?
Engineers design systems, analyze data, and base decisions on quantifiable evidence. Financial
statements are the runtime logs and monitoring dashboard of a company as a system.
Q3: Explain the core concept of Anatomy of the Income Statement (P&L).
The Income Statement shows how much a company earned, how much it spent, and how much remained
over a given period. It is also known as the Profit & Loss Statement (P&L).
Q4: What are the key aspects of Anatomy of the Cash Flow Statement (CFS)?
The Cash Flow Statement shows how much cash actually came in and went out. Under accrual
accounting, revenue can be recognized before cash arrives, which is why the CFS exists as a
separate report.
Q5: What are the key differences in P&L vs CFS: Why a Profitable Company Can Run Out of Cash?
"Black-ink bankruptcy" is a real phenomenon -- a company shows a profit on the Income Statement but runs out of cash and goes bankrupt. Understanding the structural reasons for this gap is essential.