← Back to all posts

What Your QuickBooks Data Is Trying to Tell You

You have years of financial data in QuickBooks. It's revealing patterns about your business you're completely missing. Here's how to read the signals.

On this page

You have three, maybe five years of financial history sitting in QuickBooks right now. Every invoice, every expense, every payment. Thousands of transactions.

It's telling you things. You're not listening.

Not because you're lazy or bad at business. You're busy running jobs, managing crews, answering calls. QuickBooks is where transactions go to live, not where insights come from. You open it to send an invoice or check your bank balance, not to spot a pattern that's been building for six months.

But the patterns are there. And they're the difference between finding out you have a problem at tax time and catching it while you can still fix it.

Here's what your data is actually saying, organized by the type of signal most contractors miss completely.

The Revenue Signals

Revenue is the number everyone watches. But "how much did I make this month" is the least interesting question your data can answer.

Average ticket is the real story. If your revenue is flat but your invoice count is up 15%, your average ticket is shrinking. You're doing more work for less money per job. For a plumber, that might mean average tickets dropping from $485 to $420 over six months. Revenue looks fine. Workload is up. Profit per hour is down. You won't notice until you're exhausted and wondering why the bank account isn't growing.

Revenue mix shifts happen slowly. A plumbing company doing 60% service and 40% installs has a completely different financial profile than one doing 80% service and 20% installs. If your mix is shifting toward lower-margin work, your top-line revenue can look healthy while your actual profitability erodes. The same applies to HVAC companies shifting from high-margin replacements ($5,000-$15,000 tickets) toward lower-margin repairs ($150-$400 tickets).

Year-over-year growth tells you what month-to-month can't. A slow March means nothing by itself. A March that's 18% below last March, which was 12% below the March before that? That's a trend. Three years of data makes this visible. One month of data makes it invisible.

Your QuickBooks has all of this. It just shows you transactions, not the pattern those transactions form over time.

The Cash Flow Signals

43% of small businesses report cash flow as a persistent problem. Not a one-time crisis. A persistent, ongoing problem. And most of them have the data to see it coming months in advance.

AR aging is a leading indicator, not a lagging one. When your accounts receivable balance grows during a high-revenue month, that's a signal. You're getting busier but not getting paid faster. If your average days-to-payment creeps from 21 days to 34 days over a quarter, that's $10,000-$50,000 in cash that should be in your account but isn't.

Specific customers create specific patterns. Your QuickBooks knows exactly which customers always pay late. Not "some customers are slow." Customer #8 has paid an average of 47 days late on their last six invoices. Customer #12 always pays within 5 days. This isn't a general collections problem. It's a specific-customer problem with a specific solution.

Seasonal cash crunches are predictable. If you're a general contractor, you know November through February is slow. But do you know exactly how much cash you need to bridge that gap? Your data from the last three winters tells you precisely. It's not a guess. It's a number. And if you're not building that reserve during your peak months (June through August), you'll feel it every single winter. (For the external signals that predict slow months before they arrive, see The Numbers That Actually Predict Your Next Bad Month.)

The pattern that kills: Revenue up 20% in a month, AR up 30% in the same month. You feel rich. You spend like you're rich. The cash doesn't arrive for 45 days. Now you're scrambling. Your QuickBooks saw this coming. You didn't.

The Profitability Signals

Revenue is vanity. Profit is sanity. And your margins are probably telling you something you don't want to hear.

Healthy gross margins vary dramatically by trade. A plumber should be hitting 60-62% gross margin. HVAC and electrical contractors should target 50-55%. Roofers should land at 40-50%. General contractors operate on thinner margins at 35-45%. If you don't know your number, you can't know if it's slipping. (We break down exactly how financial patterns differ across trades and why comparing yourself to "other contractors" is meaningless.)

Margin compression happens slowly, then all at once. Your gross margin dropping from 55% to 52% over a quarter doesn't feel like an emergency. But that's 3 points of margin on, say, $800K in annual revenue. That's $24,000 in profit that disappeared. Over a year, at the same trajectory, you're looking at $48,000 gone. The data shows this trend clearly. The bank account doesn't show it until it's too late.

Labor percentage creeping up while revenue stays flat means one of two things: you're overstaffed or you're underbilling for time. The industry target for direct labor is 25-35% of revenue. If yours went from 28% to 33% over six months without a corresponding revenue increase, something structural changed. Maybe you added a tech who isn't fully utilized. Maybe jobs are taking longer than you're billing for. The data doesn't tell you why, but it tells you exactly when it started.

Materials cost vs. market cost is a signal most contractors miss entirely. The Producer Price Index (PPI) tracks what materials actually cost at the wholesale level. If PPI for plumbing fixtures rose 3% this year but your materials percentage of revenue rose 7%, you're absorbing cost increases faster than the market is creating them. That's a supplier problem, a waste problem, or a pricing problem. If PPI rose 5% and your materials percentage didn't move, you're either negotiating well or eating the increase on margin. Both are worth knowing.

The cross-source pattern that matters most: Revenue up + margins down + PPI flat = you're taking lower-margin work. The market isn't getting more expensive. You're just saying yes to jobs you shouldn't be.

The Customer Signals

Your customer base is either getting healthier or getting riskier. The data knows which one. You probably don't.

Concentration risk builds invisibly. If your top customer grew from 15% of your revenue to 25% over six months, that's not growth. That's dependency. If that customer leaves, delays a project, or goes bankrupt, you lose a quarter of your income overnight. The threshold to watch: any single customer above 20% of revenue is a yellow flag. Above 30% is red.

Repeat rate tells you about service quality better than any review. If 60% of your customers come back within 18 months, your service quality is strong. If that number drops to 40%, something changed. Maybe response times slipped. Maybe a new tech isn't delivering the same experience. Maybe you raised prices past what the market will bear for repeat work. The trend matters more than the number.

New customer acquisition stalling is invisible until it's a crisis. If you went from 12 new customers per month to 8 per month over a quarter, and your marketing spend didn't change, something in your funnel broke. Maybe your Google reviews dropped. Maybe a competitor opened nearby. Maybe your website stopped ranking. The revenue impact won't show up for another 2-3 months because existing jobs fill the gap. By then, the pipeline is empty.

Average revenue per customer dropping is the silent killer. It means your existing customers are spending less with you. They're either going elsewhere for some services, or you're not offering them the full scope of what they need. For HVAC companies, this often means maintenance contract customers aren't converting to replacements at the expected rate (industry benchmark: maintenance customers convert to replacement jobs at 3-5x the rate of cold leads).

The Seasonal Signals

Every contractor knows their business is seasonal. Almost none of them know their specific seasonal pattern with any precision.

"It always slows down in winter" is not a seasonal pattern. A seasonal pattern is: "My revenue drops 22% between October and November, stays flat through January, then rises 35% between February and March." That's specific. That's useful. That tells you exactly when to tighten spending, when to push marketing, and when to hire.

Your pattern is not the same as your trade's generic pattern. A plumber in Denver has a different seasonal curve than a plumber in Phoenix. An HVAC company that does 70% commercial has a different curve than one doing 90% residential. Your three years of QuickBooks data contains YOUR specific pattern, not a generic industry average.

Deviation from YOUR normal is the signal that matters. If your January revenue is always 25% below your annual average, then being 25% below average in January is not a problem. It's Tuesday. But if you're 40% below when you should only be 25% below, that's a 15-point gap that needs an explanation. Is there a weather event? Did a major customer pause work? Did your marketing stop running? Or is something operational breaking?

The difference between "I had a slow month" and "I'm 15% below my seasonal average and there's no weather or market explanation" is the difference between shrugging and acting. One is a feeling. The other is a data-backed signal that something specific is wrong.

Seasonal transitions are predictable and preparable. General contractors typically see demand drop 35% between October and November in cold climates. HVAC companies see AC repair demand spike after the third consecutive day above 90 degrees. Roofers see insurance claim work arrive 3-4 weeks after a hail event. If you know these patterns from your own data, you can prepare. If you're guessing, you're always reacting.

What Changes When Someone's Actually Reading It

Most contractors interact with their financial data twice: when they send invoices and when their accountant asks for it at tax time. Maybe a third time when something feels wrong and they log in to check the bank balance.

That's like checking your blood pressure once a year and hoping for the best.

The difference between annual review and weekly monitoring isn't just frequency. It's the type of problems you catch. Annual review catches disasters after they've happened. Weekly monitoring catches patterns while they're still forming.

Here's what automated weekly analysis actually surfaces:

"Your average ticket dropped 12% this quarter while revenue stayed flat. You're completing 14% more jobs for the same money. Review your pricing on service calls under $400."

That's not something you'd notice in QuickBooks. Revenue looks fine. You're busy. But you're working harder for the same result, and the data caught it in week 6 instead of month 12.

"Your top customer grew from 18% to 26% of revenue over the last 8 weeks. This is approaching concentration risk. Consider diversifying your commercial client base before Q4."

You'd never run that calculation yourself. You'd just be happy about the big invoices. Until that customer disappears.

"AR over 30 days grew by $14,000 this month despite strong revenue. Three specific customers account for 80% of the increase. Your seasonal slowdown starts in 6 weeks. Collect now."

This connects two data points (AR aging + seasonal pattern) into an urgent action. Neither data point alone triggers alarm. Together, they're a cash flow crisis waiting to happen.

"Your gross margin dropped from 54% to 49% this quarter. PPI for HVAC equipment is flat. Material costs aren't the cause. This points to labor inefficiency or underpricing on recent install work."

This cross-references your internal data against external market data to eliminate one explanation and point you toward the real one. That's not something a P&L statement tells you.

"Revenue is 25% below your seasonal average for March. Your normal March dip is only 10%. No significant weather events. Housing starts in your county are up 8%. Something operational is suppressing demand that should be there."

This is the insight that separates "I had a slow month" from "something is actually wrong and I need to investigate." It uses your historical pattern, external weather data, and local housing market data to rule out the obvious explanations and flag the anomaly.

None of these insights require new data. They require someone (or something) actually reading the data you already have, every week, and connecting the dots.

Your Data Is Already Talking

You don't have a data problem. You have a reading problem.

The transactions are there. The patterns are there. The signals, the warnings, the opportunities. All sitting in QuickBooks, organized by date, waiting for someone to ask the right questions.

The question isn't whether your data has something to tell you. It's whether you're going to keep ignoring it until tax time, or start listening now.


Streett Reports connects to your QuickBooks and reads these signals for you, every week. No dashboards to learn. No spreadsheets to build. Just plain-English insights in your inbox every Monday morning.

Your first report is free, no credit card required.

Get Your Free Report →

Or see what it looks like: Plumbing | HVAC | Electrical

See what this looks like for YOUR business

Connect your QuickBooks in 30 seconds. Your first report is free.

Get Your Free Report →