Accounts receivable: what good looks like

Accounts receivable tells you how much revenue has been earned but not yet collected. Here is how to set a sensible AR target for your shop, why a single industry figure misleads contractors, and how to watch your aging in real time so collection problems surface before month-end.

By Datacube content engineAutogeneratedJune 24, 2026

Definition

Accounts receivable = revenue earned but not yet collected from customers

Accounts receivable (AR) is the total dollar amount your customers owe you for completed work that has been invoiced but not paid. For a home-service company, AR accumulates from commercial maintenance contracts, residential invoices on net terms, and jobs where a technician collected a signed estimate but not a credit card. A high AR balance is not always a problem. AR that is current and moving is normal cash flow. AR that is aging into the 60-, 90-, or 120-day buckets signals collection risk.

The full metric definition lives on the accounts receivable KPI page. This page is about setting a target and interpreting your aging mix.

Warning

Data visibility gap: AR lives in QuickBooks, not on the wall

Most home-service operators track AR in QuickBooks or their accounting system. The problem is that nobody sees it until the controller runs a report, often on the 5th or 10th of the following month. By then a 60-day invoice has become a 90-day invoice and a commercial customer has already sent another check to someone else. Connecting your accounting data to a real-time financial dashboard means the GM can see the aging balance this morning, not next month.

Why a single AR benchmark misleads contractors

Published accounts receivable benchmarks almost always come from broader SMB or manufacturing surveys. A roofing company with 45-day commercial contracts looks nothing like a plumbing shop doing same-day residential calls where payment is expected at job completion. Applying a general DSO (days sales outstanding) target from a different industry tells you nothing useful.

The right comparison is your own data, segmented by customer type. A residential service company that collects most revenue at the door should have an AR balance close to zero after a few days. A commercial HVAC contractor on net-30 contracts will always carry a larger balance. Your benchmark is what your AR looks like when collections are working well, not a number borrowed from a different business model.

That said, two signals hold across most home-service billing models: the share of AR sitting in the 90-day-plus bucket should be small, and days sales outstanding should be declining or stable month over month. Those trend lines tell you more than a static target.

Formula

Days sales outstanding (DSO) = (accounts receivable ÷ total credit sales) × number of days

DSO converts your AR balance into days so you can compare across months and companies regardless of revenue size. A DSO of 35 means you are collecting, on average, 35 days after invoicing. Lower is generally better, but the right DSO depends on your payment terms. A shop where all customers are expected to pay at the door should have a DSO close to 0 to 5. A net-30 commercial contractor that is performing well might run 35 to 45 days.

Worked example: $180,000 AR ÷ $620,000 monthly revenue × 30 days = 8.7 DSO (a residential-heavy plumbing shop collecting mostly at the door).

Reading your AR aging report: buckets and what they mean

Aging bucketWhat it usually meansResidential shop signalCommercial/contract signalRecommended action
Current (0-30 days)Invoiced and within termsShould be the majority; if not, check invoicing delaysNormal for net-30 contracts in cycleMonitor weekly; no action needed if trending stable
31-60 daysSlightly past termsFlags jobs where payment was not collected at close; begin outreachFirst follow-up due; check invoice accuracySend reminder; confirm invoice was received
61-90 daysCollection risk risingDispute or customer relationship issue; escalateInvestigate: wrong address, PO mismatch, or internal approval delayDirect call from GM or owner; document the issue
91-120 daysHigh collection riskLikely a dispute or inability to pay; may need third-party helpFormal demand letter; pause future service creditCollections process; evaluate write-off risk
120+ daysWrite-off territoryProbable bad debt; inform accounting and ownerConsider legal or collection agencyWrite off or assign to collections; review credit policy

What healthy AR tends to look like (with caveats for trade and billing model)

These are illustrative ranges for a home-service company, not official benchmarks. Your real target depends on whether you serve mostly residential customers who pay at the door, commercial clients on net terms, or a mix of both. Use these as a starting conversation, not a grading rubric.

  • DSO (residential-heavy, pay-at-door model)Most jobs should close with payment collected; anything significantly longer warrants a billing process review
    Good
    Current
    Your shop
    Target
    Under ~10 days
  • DSO (commercial or net-30 contract model)Within or slightly above stated terms; track trend, not just the snapshot
    Good
    Current
    Your shop
    Target
    30-45 days
  • DSO trending upward month over monthRising DSO often precedes a cash flow squeeze; investigate the aging mix before it compounds
    Watch
    Current
    Your shop
    Target
    Flag if rising 5+ days
  • Share of AR in 90-day-plus bucketA growing 90-plus share is the earliest warning sign of systemic collection issues
    Good
    Current
    Your shop
    Target
    Under ~5% of total AR
  • 90-plus bucket at 5-15% of total AROften concentrated in a few accounts; identify and act before it spreads
    Watch
    Current
    Your shop
    Target
    Investigate by customer
  • 90-plus bucket above 15% of total ARCollections process and credit policy both need review at this level
    Poor
    Current
    Your shop
    Target
    Escalate to owner

Info

Quick example: a plumbing company with a mixed billing model

Suppose a plumbing shop invoices $580,000 a month. Most residential calls are collected at the door, but they have 12 commercial service contracts on net-30 terms. Their total AR at month-end is $74,000. Of that, $59,000 is current (commercial contracts in cycle), $9,000 is 31 to 60 days (two residential customers who did not pay at close), and $6,000 is 61 to 90 days (one commercial customer with an invoice dispute). Their 90-plus bucket is $0. The blended DSO is about 3.8 days, which looks healthy, but breaking out residential vs. commercial reveals that the two uncollected residential jobs need immediate follow-up. A blended average would have hidden that detail.

How to tighten your AR and build a defensible target

  1. 01

    Pull your own 90-day aging history first

    Run the AR aging report from QuickBooks or your accounting system for the past three months. Calculate your average DSO and note the share of total AR in each bucket. This is your baseline, and it is the only honest starting point for a target.

  2. 02

    Separate residential and commercial receivables

    Residential pay-at-the-door jobs and commercial net-30 contracts behave completely differently. Mixing them in one DSO number hides the real story. Set a target for each segment and track them independently.

  3. 03

    Close billing gaps at the technician level

    In most residential home-service shops, AR accumulates because technicians leave jobs without collecting payment or because dispatchers do not follow up on open invoices. Tightening the job-close checklist in your CRM (ServiceTitan, Housecall Pro, Workiz) is often faster than chasing payments after the fact.

  4. 04

    Set a weekly AR review cadence, not a monthly one

    Monthly reviews mean a 45-day invoice becomes a 75-day invoice before anyone notices. A 10-minute weekly AR review, even just the 60-plus-day bucket, surfaces problems in time to call the customer while the work is still fresh in their mind.

  5. 05

    Put AR aging on a financial dashboard everyone can see

    When the GM or owner can see the 60-day and 90-day buckets on a daily dashboard, the conversation about collections happens naturally. Hiding the AR inside QuickBooks means it only surfaces when the controller pushes the report. Make it visible alongside revenue so the finance story is complete.

Owner takeaway

  • There is no universal AR benchmark for home services. Build your target from your own 90-day baseline, segmented by residential and commercial customers.
  • DSO is more useful than a raw AR dollar balance because it normalizes for revenue size and lets you compare months fairly.
  • The 90-day-plus bucket is the single most important aging signal. If that share is growing, your cash flow will follow within 30 to 60 days.
  • Most residential AR problems originate at the close of the job, not in the billing department. Fix the collection step with the technician first.
  • Moving from a monthly AR review to a weekly one, with real-time QuickBooks data on a financial dashboard, is the fastest way to shorten collection cycles without hiring.

Accounts receivable benchmark FAQs

See your AR aging on a live financial dashboard

Datacube can connect your QuickBooks financial data and CRM into a single real-time dashboard so AR aging, DSO, revenue, and gross profit sit side by side, by day and by location. Stop finding out about collection problems at month-end.