Data Analysis

Working Capital Model for Services Firms in Google Sheets

Marc SeanMay 14, 20268 min read

This is the model that closes that gap. It's built specifically for professional services - IT consulting, staffing, management consulting, marketing agencies - where the billing cycle, not COGS, is what destroys cash.

Why Services Working Capital Behaves Differently From Product Companies

Product companies carry inventory risk. Services firms carry receivables risk. The working capital cycle looks completely different.

In a product business, working capital = inventory + AR - AP. In services, there's no inventory and AP is mostly payroll timing. Working capital is almost entirely AR, which means your working capital model is really a receivables model dressed up as a balance sheet.

The other complication is billing model mix. A $9.6M firm might run three structures simultaneously: T&M billed monthly in arrears, fixed-fee retainers billed quarterly upfront, and milestone-based project work with irregular cash events. Each has a different DSO profile, and lumping them together produces a blended average that's wrong in every scenario.

The Six-Tab Architecture for a Services Working Capital Model in Google Sheets

A services working capital model needs six linked tabs at minimum.

TabPurposeKey Outputs
AssumptionsRate cards, DSO by billing type, SOFR, headcountSingle-source inputs
P&LRevenue by billing type, EBITDAMonthly P&L, trailing EBITDA
AR AgingInvoiced, outstanding, segmented by client bucketAR balance, aging schedule
Cash FlowCollections, disbursements, netOperating cash, FCF
RevolverBorrowing base, draws, paydowns, interestRevolver balance, interest expense
WC SummaryDSO actuals, coverage ratios, EBITDA bridgeBoard-ready outputs

Every formula in AR Aging, Cash Flow, and Revolver should trace back to Assumptions. No hardcoded rates. If you want to understand how this model connects to your three-statement structure, the mechanics in the integrated P&L, cash flow, and balance sheet model apply directly here.

DSO Sensitivity: The Working Capital Driver That Moves Everything

DSO is your primary lever. For a $9.6M revenue firm, each 10-day shift in DSO moves AR by approximately $263K (= $9.6M / 365 x 10). That's $263K in cash that either exists or doesn't, depending on how fast clients pay.

According to Dun & Bradstreet's 2025 Industry Credit Report for business services (SIC codes 7300-7389), median DSO for professional services firms is 52 days. Best quartile runs around 38 days. Worst quartile stretches past 72 days. If your model assumes 45 days and actuals are running 62, you have a $427K gap between your forecast and your bank balance.

The DSO sensitivity table belongs in WC Summary, pulling live from AR Aging:

// WC Summary tab - DSO sensitivity table header row
// Assumptions!$B$3 = DSO target (days)
// Assumptions!$B$4 = annual revenue run rate ($9,600,000)

=ARRAYFORMULA(
  (Assumptions!$B$4 / 365) *
  (Assumptions!$B$3 + {-20,-10,0,10,20})
)

For the AR balance pulling from P&L and Assumptions:

// AR Aging tab, C12 - estimated AR balance
// Trailing 60-day revenue from P&L times DSO ratio

=SUMIFS('P&L'!C:C, 'P&L'!B:B, ">=" & (Assumptions!$B$7 - 60),
        'P&L'!B:B, "<=" & Assumptions!$B$7)
  * (Assumptions!$B$3 / 60)

Model DSO separately by billing type. T&M runs 45-55 days. Fixed-fee retainers billed upfront are zero or negative (deferred revenue). Milestone projects spike past 80 days during delivery gaps. The blended average conceals the risk.

Backlog Coverage Ratio: What Lenders Check Before You Do

Backlog coverage is the ratio most FP&A models skip. It answers: how many months of revenue do signed contracts cover?

Backlog Coverage = Signed Contract Value (Remaining) / Monthly Revenue Run Rate

A ratio below 3.0x at a $9.6M firm should trigger a board conversation. At 2.0x, you're 60 days from a revenue visibility problem. At 1.0x, you're billing month-to-month and no lender will extend an unsecured line without a serious conversation about covenant headroom.

Wire this into Assumptions as a live check, pulling from wherever you track TCV:

// Assumptions tab, B22 - backlog coverage ratio
// Backlog!$C$5 = total signed TCV remaining
// P&L!$C$36 = 3-month average monthly revenue

='Backlog'!$C$5 / ('P&L'!$C$36 * 3)

The conditional format rule on this cell: red below 2.5x, yellow below 3.5x. When a board pack goes out with a 2.1x backlog coverage ratio and no commentary, someone asks about it in the meeting. Better to address it in the footnotes.

EBITDA-to-Cash Conversion: Building the Bridge

EBITDA-to-FCF conversion in services firms typically runs 65-75%, with the gap driven almost entirely by working capital timing. The bridge belongs in WC Summary and should show the mechanism, not just the final number.

LineAmountSource
EBITDA$1,760KP&L tab
Less: CapEx($85K)Assumptions
Less: AR increase (DSO 62 vs. 45 days)($427K)AR Aging tab
Less: Deferred revenue drawdown($112K)AR Aging tab
Plus: AP extension$38KCash Flow tab
Free Cash Flow$1,174KWC Summary
EBITDA-to-FCF conversion66.7%Calculated

At 66.7% conversion, $586K of EBITDA evaporated before it reached the bank account. That's not a surprise if your model shows it. It's a crisis if your lender's analyst discovers it at the borrowing base certificate review.

Formula pulling from live tabs in WC Summary:

// WC Summary - EBITDA-to-FCF bridge, column D

// D42: EBITDA from P&L
='P&L'!$D$58

// D43: AR change (current minus prior period)
=-('AR Aging'!$E$12 - 'AR Aging'!$D$12)

// D44: Deferred revenue change
='AR Aging'!$E$28 - 'AR Aging'!$D$28

// D45: AP change
='Cash Flow'!$E$19 - 'Cash Flow'!$D$19

// D46: CapEx
=-Assumptions!$B$14

// D47: Free Cash Flow
=SUM('WC Summary'!D42:D46)

Revolver Sizing Using SOFR + Spread

A services firm at $9.6M revenue typically qualifies for a revolver sized at 80-85% of eligible AR - usually defined as AR aged under 90 days from non-concentrated, creditworthy clients.

As of Q2 2026, 30-day SOFR is running at 4.10%, per the New York Federal Reserve's daily SOFR publication. A standard bank credit agreement for a $5-15M services firm carries a spread of 225-300 bps over SOFR, landing an all-in rate of roughly 6.35-7.10%. Model at 6.85% until you have a signed term sheet.

The ARRC (Alternative Reference Rates Committee) defines SOFR Averages as "compounded averages of the SOFR over rolling 30-, 90-, and 180-calendar day periods." For a revolving credit facility, use the 30-day SOFR average rather than overnight SOFR to reduce day-to-day volatility in your interest expense forecast.

// Revolver tab - borrowing base and interest expense
// Assumptions!$B$25 = advance rate (0.85)
// AR Aging!$E$15 = eligible AR (aged < 90 days)
// Assumptions!$B$26 = SOFR (4.10% as of Q2 2026)
// Assumptions!$B$27 = spread (2.75%)

// Borrowing base
=Assumptions!$B$25 * 'AR Aging'!$E$15

// Monthly interest expense (feeds to P&L interest line)
='Revolver'!$D$8 * (Assumptions!$B$26 + Assumptions!$B$27) / 12

Lock SOFR in Assumptions and reference it everywhere else. When SOFR moves 25 bps, you update one cell and the model reprices across all periods. That's how it should work.

What Most Services Working Capital Models Get Wrong

Two failures show up repeatedly: billing model conflation and missing deferred revenue.

On conflation: if you model all revenue at a single DSO assumption, your AR balance is wrong by construction. A firm with 40% retainer revenue billed upfront and 60% T&M billed monthly has a blended effective DSO that can swing 15-20 days depending on mix. On a $9.6M base, that swing is $400K+ in AR.

The fix is separate DSO assumptions by billing type in Assumptions, then a SUMPRODUCT in AR Aging:

// AR Aging tab - AR balance segmented by billing type
// Assumptions!$B$9 = T&M DSO (52 days)
// Assumptions!$B$10 = Retainer DSO (-15 days, deferred)
// P&L!$E$12 = T&M revenue this period
// P&L!$E$18 = Retainer revenue this period

=SUMPRODUCT(
  {'P&L'!$E$12, 'P&L'!$E$18},
  {Assumptions!$B$9, Assumptions!$B$10}
) / 30

On deferred revenue: upfront billings create a liability. A firm that bills a $180K annual retainer on January 1 and recognizes revenue monthly has $150K sitting in deferred revenue at end of February. Models that ignore this overstate cash and misstate the balance sheet simultaneously. That's the kind of error that surfaces during a lender's audit, not your quarterly close.

As of Q2 2026, if you're presenting this to a PE buyer or a bank syndicate, they will ask about the EBITDA-to-cash bridge and the DSO trend. Having both automated and current is what separates a model that answers questions from one that generates them.

ModelMonkey can pull weekly billing exports from invoicing tools directly into the AR Aging tab - no CSV download, no copy-paste errors into the aging buckets. For a firm running 80+ active client invoices, that automation closes most of the gap between a model that's theoretically correct and one that's actually up to date.

Try ModelMonkey free for 14 days - it works in both Google Sheets and Excel.


Frequently Asked Questions