When Profitable Doesn’t Mean Healthy

Understanding Revenue Recognition and Cash Flow

Craig stared at his QuickBooks dashboard in disbelief.

Third straight month of solid profit—$3,700 in January alone—yet every Friday he was refreshing his bank app, praying payroll would clear.

Most small business owners eventually face this confusion: the income statement says you made money. The bank account says otherwise.

This article covers three essential concepts every owner needs to understand:

  • Revenue recognition
  • Operating cash flow and collection timing
  • Accounts receivable aging analysis

As in previous articles, we’ll use Craig Gilmore, owner of Craig’s Cleaners in Santa Ana, to illustrate these concepts with real numbers.


Craig’s Situation

Craig’s Q1 income statement showed $11,100 in net income.

His bank balance on March 31 was $5,900 lower than it had been on January 1.

Revenue was up 32% from the prior year. Gross margin was stable at 40%. Operating expenses were under control.

The income statement said everything was fine. The bank account disagreed.

Craig reviewed the numbers multiple times. The math was correct. The invoices were sent. The customer was good for payment.

What was happening?


Revenue Recognition

What It Is

Revenue recognition is the accounting principle that determines when revenue is recorded on the income statement.

Under GAAP, businesses using accrual basis accounting record revenue when it is earned. That means when the service is performed or the product is delivered.

Not when cash is received.

This is the matching principle. Revenues are matched with the period in which they are earned. Expenses are matched with the period in which they are incurred.

Craig’s Business Model

Twelve months earlier, Craig’s Cleaners was doing $300,000 in annual revenue. The business model was straightforward.

Walk-in customers dropped off garments. They picked them up two days later. They paid at pickup.

Revenue recognition and cash collection happened simultaneously.

Then Craig landed a commercial account. A local hotel owner operated both a hotel and an attached restaurant.

The contract:

  • Hotel services: $5,000 per month (bed sheets, pillow cases, guest dry cleaning, staff uniforms)
  • Restaurant services: $3,000 per month (kitchen uniforms, server uniforms, linens and tablecloths)
  • Total: $8,000 per month

Payment terms: Net 30 (actual: closer to 45 days).

By Q1 of the following year, Craig’s revenue was running at $396,000 annually. That’s a 32% increase.

About 76% was walk-in customers. About 24% was the commercial account.

When Revenue Is Recognized vs. When Cash Is Received

For walk-in customers, the timing barely mattered.

Mrs. Johnson dropped off three suits on Monday. Craig’s team cleaned and pressed them. She picked them up Wednesday and paid $127 with a credit card.

Revenue recorded: Wednesday (when service completed)
Cash received: Wednesday (credit card processed same day)

For the commercial account, the timing was completely different.

In January, Craig’s team processed $8,000 worth of services. Linens cleaned. Uniforms pressed. Guest garments delivered.

Craig sent the invoice on January 31. The hotel’s accounts payable department processed vendor invoices twice monthly—on the 15th and 30th. Craig’s January invoice went into the March 15 payment batch.

Revenue recorded: January 31
Cash received: March 15

That’s 44 days between earning the revenue and receiving the cash.

Why This Matters

Craig’s January income statement showed $33,000 in revenue: $25,000 from walk-in customers and $8,000 from the commercial account.

His business generated 40% gross margin, or $13,200 in gross profit. After operating expenses of $9,500, his January net income was $3,700.

But Craig’s bank account only received $25,000 in January. He paid $19,800 in cost of goods sold (labor, solvents, materials) and $9,500 in operating expenses.

Cash in: $25,000
Cash out: $29,300
Net cash flow: -$4,300

The income statement said he made money. The bank account said he spent more than he collected.

Both statements are accurate. They’re measuring different things at different points in time.

The Timing Difference

The income statement measures economic activity. Work performed. Revenue earned. Expenses incurred. All based on when transactions occur.

The bank account measures cash movement. Money received. Money paid. Based on when cash changes hands.

For Craig’s walk-in business, these two measurements moved together. For his commercial business, they moved 30 to 45 days apart.

The $8,000 difference represented commercial revenue earned in January but not collected until March. That $8,000 sat in accounts receivable. It was an asset on his balance sheet. It would eventually convert to cash. But in January, it wasn’t spendable.

Related foundation: We covered accrual basis accounting versus cash basis accounting in Part III: The ABC’s of Financial Literacy – Cash vs. Revenue.


Cash Flow and Collection Timing

What Operating Cash Flow Measures

Operating cash flow measures the cash a business generates from its core operations.

The formula: Operating Cash Flow = Cash Collected from Customers – Cash Paid for Operating Expenses

This is different from net income. Net income uses accrual accounting (revenue when earned, expenses when incurred). Operating cash flow uses cash accounting (cash when received, cash when paid).

For businesses that collect payment immediately, these numbers move together. For businesses that bill customers with payment terms, these numbers move apart.

Craig’s Q1 Cash Flow

Craig’s Q1 income statement:

MonthRevenueCOGSGross ProfitOperating ExpensesNet Income
January$33,000$19,800$13,200$9,500$3,700
February$33,000$19,800$13,200$9,500$3,700
March$33,000$19,800$13,200$9,500$3,700
Q1 Total$99,000$59,400$39,600$28,500$11,100

But his cash flow told a different story:

MonthCash CollectedCash PaidNet Cash Flow
January$25,000$29,300-$4,300
February$25,000$29,300-$4,300
March$33,000$29,300+$3,700
Q1 Total$83,000$88,900-$5,900

Why the difference from his $11,100 net income?

In January and February, Craig collected only walk-in revenue ($25,000 per month). The commercial revenue earned in those months wasn’t collected yet. In March, Craig collected walk-in revenue ($25,000) plus the January commercial invoice ($8,000).

By the end of Q1:

  • Craig had earned $16,000 in commercial revenue (January and February)
  • He had collected $8,000 in commercial revenue (January only)
  • $8,000 was sitting in accounts receivable, waiting for payment

The income statement showed $11,100 profit. The bank balance declined by $5,900. Both numbers are correct. They’re measuring different things.

The Collection Timeline

Craig sent invoices on the last day of each month. Then he waited.

Typical collection timeline:

  • Invoice sent → logged (5 days) → approved (20 days) → batched & cleared (49 days total)

The hotel owner wasn’t paying slowly to be difficult. He was operating on standard corporate accounts payable processes.

But Craig completed the work in January, paid his team in January, paid for materials in January—and waited until mid-March to collect payment.

Why This Matters

Craig knew his commercial client would eventually pay. The hotel owner was reputable. Nobody was avoiding payment.

But “eventually” meant his cash was tied up waiting. And while he waited, his costs didn’t wait.

The working capital requirement:

When revenue recognition and cash collection happen at different times, the business must fund the gap between paying costs and collecting revenue.

This is working capital. The capital required to operate day-to-day.

For Craig’s walk-in business, working capital requirements were minimal. For his commercial business, he needed to maintain approximately $16,000 in accounts receivable at all times. That’s two months of commercial invoices sitting in receivables, waiting for collection.

That $16,000 appeared as revenue on his income statement. But it wasn’t available in his bank account. It was an asset on his balance sheet, waiting to convert to cash.

The Growth Pattern

This pattern becomes more pronounced during growth.

If Craig adds another $8,000 per month commercial account with similar payment terms, his accounts receivable balance grows to approximately $32,000. That’s an additional $16,000 in working capital he needs to fund.

Revenue growth requires working capital growth. If the business can’t fund that working capital from retained earnings or external capital, the bank balance declines despite profitability.

This is why fast-growing businesses often face cash shortages: growth consumes cash faster than profit replaces it.


Accounts Receivable Aging Analysis

What It Is

The accounts receivable aging report shows how long receivables have been outstanding.

It groups unpaid invoices by age:

  • Current: 0-30 days (not yet due or recently due)
  • 31-60 days: One to two months outstanding
  • 61-90 days: Two to three months outstanding
  • 90+ days: Seriously overdue

This report is essential for understanding collection patterns, identifying slow-paying customers, and managing cash flow.

What Owners Usually Misinterpret

  • A receivable in the “Current” bucket is still not cash in your bank.
  • Growing AR while revenue is flat is a silent cash drain.
  • A beautiful income statement can easily hide a balance sheet that’s slowly bleeding you dry.
  • “They always pay eventually” is not a cash-flow strategy.

Craig’s Accounts Receivable Aging Report

End of Q1:

CustomerCurrent31-60 Days61-90 Days90+ DaysTotal
Hotel/Restaurant$8,000$8,000$0$0$16,000
Walk-in customers$400$0$0$0$400
Total$8,400$8,000$0$0$16,400

Craig had $16,400 in accounts receivable.

$8,400 was current (March invoice, sent 30 days ago). $8,000 was in the 31-60 day range (February invoice, sent 60 days ago, still unpaid). Nothing was in the 61-90 or 90+ day buckets. His client was paying on schedule.

Comparing to His Prior Business Model

Twelve months earlier, when Craig’s business was entirely walk-in customers, total accounts receivable was $1,800.

The change:

  • Twelve months ago: $1,800 in receivables
  • Current: $16,400 in receivables
  • Increase: $14,600

That’s nearly $14,600 more revenue sitting in receivables. Earned. Recorded as revenue. But not yet converted to cash.

Days Sales Outstanding

Days Sales Outstanding (DSO) measures how long, on average, it takes to collect payment after earning revenue.

Formula:
Days Sales Outstanding = (Accounts Receivable ÷ Annual Revenue) × 365

Twelve months ago:
($1,800 ÷ $300,000) × 365 = 2 days

Current:
($16,400 ÷ $396,000) × 365 = 15 days

The shift from walk-in customers (immediate payment) to including a commercial account (Net 30 terms, actual payment in 45 days) fundamentally changed his collection period. That 13-day increase represented approximately $14,600 in additional working capital tied up in accounts receivable.

Why This Matters

The accounts receivable aging report and Days Sales Outstanding tell you several things:

First: How much working capital your business model requires. Craig needs to permanently maintain approximately $16,000 in accounts receivable to support $96,000 in annual commercial revenue.

As long as revenue stays stable, receivables stay stable. But if revenue grows, receivables grow proportionally.

Second: Whether customers are paying according to terms. Craig’s commercial client is in the 31-60 day bucket, consistent with Net 30 terms and 45-day actual payment.

If invoices started appearing in the 61-90 or 90+ day buckets, that would signal a collections problem requiring immediate attention.

Third: Whether your business model has fundamentally changed. Craig shifted from primarily a cash business to a hybrid model that includes commercial accounts. This change required more working capital, better collection processes, and tolerance for the timing difference between earning revenue and receiving cash.

What to Watch For

Watch for these patterns:

Increasing balances in the 31-60 day or 60-90 day buckets. Customers are taking longer to pay or collection processes aren’t working.

Days Sales Outstanding increasing over several quarters. If DSO is creeping from 30 days to 45 days to 60 days, collection times are lengthening and more cash is getting tied up.

Total accounts receivable growing faster than revenue. Mathematical proof you’re tying up more cash per dollar of revenue.

Needing to use credit to cover payroll or expenses. You don’t have enough working capital for your business model.

Spending more time chasing payments. Payment terms or collection processes need adjustment.


What Craig Did

Craig didn’t have a profitability problem. He had a timing problem.

1. Required Deposits on Larger Commercial Work

For new commercial contracts, Craig started requiring deposits: monthly contracts under $3,000 needed no deposit, $3,000-$10,000 required 25%, and one-time large jobs required 50%. When he bid on a new corporate uniform contract, he structured it with a 30% deposit.

Impact: This reduced the working capital needed upfront. Instead of performing $5,000 of work and waiting 45 days to collect $5,000, he collected $1,500 upfront and waited 45 days for the remaining $3,500.

2. Improved Collection Processes

Craig hired a part-time administrative person whose primary responsibility was managing accounts receivable: sending invoices the same day work is completed, tracking dates and due dates, following up by phone at day 30, maintaining the AR aging report, and building relationships with client AP contacts.

Impact: Days Sales Outstanding improved from 15 days to 12 days within 90 days, freeing up approximately $3,200 in working capital. More importantly, Craig wasn’t spending his evenings chasing invoices.

3. Expanded Working Capital Line of Credit

Craig met with his banker and explained the situation: his business was profitable and growing, but the shift to commercial accounts created a working capital requirement his business hadn’t previously had. The bank reviewed his financials, verified the profitability and quality of his receivables, and increased his line of credit from $25,000 to $40,000.

Impact: Craig now had adequate working capital without constantly operating at the edge of his credit limit. His line of credit stabilized around $8,000 to $12,000—used to bridge the timing difference, not to cover losses.

4. More Selective About Commercial Terms

When Craig received inquiries from potential commercial clients, he started asking about payment terms upfront. One prospect wanted Net 60 terms—Craig politely declined. Another prospect offered Net 15 terms and a slightly higher price per pound—Craig took that contract immediately. One more hard truth: long payment terms are a real cost. Commercial contracts must carry higher pricing (or deposits) to compensate for the extra working capital they lock up. Treat slow pay as an expense like rent or labor.

Impact: Craig became more intentional about which commercial work he pursued. Not all revenue is equal when collection timing varies significantly.


Related Resources

Understand the foundation:

See the warning signs:

Need guidance?
Talk to your CPA or a fractional controller who can help you build cash flow forecasts and analyze your accounts receivable aging.


Conclusion: The New Reality

Growth always consumes cash before it produces cash.

Add a second or third commercial client with the same terms and your permanent AR balance doesn’t just grow—it stacks. Each new client adds another block of cash you have to float. That’s why many profitable, fast-growing businesses still fail.

Craig’s business is now solidly profitable and predictably liquid because he finally manages both measurements deliberately.

Owner Checklist (do these every month)

□ Compare net income vs. operating cash flow
□ Run and truly read your AR aging report
□ Track your Days Sales Outstanding trend
□ Price commercial work to cover the capital it ties up
□ Reject Net 60 (or longer) unless you have the cash reserves to fund it
□ Keep a rolling 13-week cash forecast

Watch both your income statement and your bank balance.

One tells you if the business model works. The other tells you if you’ll be in business next month.

Master the gap between the two and you’ll never again be the profitable owner who can’t make payroll.