← All posts
Operator Series · 2 of 6

The $298K Sitting in ‘Ready to Send’: A Visibility Problem, Not a Billing Problem

May 2026 · By Chris Scowden · 8 min read

Here is a question I want you to ask your CFO this week.

How many invoices have we generated this month, but not yet delivered to the customer?

If your CFO answers within five seconds, you can stop reading this post. You already have the operational visibility I am about to argue for, and we should be talking about something else.

If your CFO has to call someone in billing to find out — and that someone has to pull a custom report, filter it by status, and email back a number twenty-four hours later — you have the same problem the rest of the industry has. The size of it is just hidden from you.

The number we keep finding

On the pilot data we have run through the Command Center, the average answer is uncomfortable.

$298K
58 invoices, on average, sitting in a “ready to send” state at any given moment. Money the firm has earned. Money the customer does not yet know they owe.

Figures cited throughout this post are drawn from representative pay/bill data across multiple mid-market staffing firms in the $80M–$250M revenue band. No individual customer is identified or attributed. Your numbers will differ; the shape will not.

That is not the number at one outlier customer. That is the average across the pilot data we have looked at. The dollar amount scales with firm size. The pattern does not.

The number includes:

  • Invoices the billing engine generated last week but the team has not run the “send” batch on yet
  • Invoices held for a missing customer-specific PO number that nobody is chasing
  • Invoices flagged for manual approval on large accounts — approval pending three weeks
  • Invoices that bounced on email delivery and went into a folder nobody reads
  • Invoices printed for mail and stacked on a desk because the postage meter ran out

Every one of those is a $5K to $50K invoice. None of them are uncollectible. All of them are extending DSO silently.

Why this is not a billing engine problem

The first instinct I see from CFOs when they hear this number is the wrong one. It is to call the head of billing and ask “why is the billing engine sitting on $298K?”

The billing engine is not sitting on anything.

The billing engine did its job. It pulled the approved time. It applied the rates. It calculated the line items. It generated the invoice document. It stamped the invoice with a number and put it in the system of record. From the billing engine's perspective, that invoice is done. The next state — delivery — is somebody else's problem.

That “somebody else” is the part of the operation nobody owns.

In every staffing firm I have walked through, the question “who is responsible for making sure every generated invoice gets delivered to the customer?” produces a pause. The head of billing thinks the AR lead owns it. The AR lead thinks the billing manager owns it. The CFO thinks both of them own it together. The COO assumes there is a system somewhere that owns it.

There is no system. There is no owner. The work happens through habit and tribal knowledge, and the moment any one person on the team has a sick day, that day's batch of invoices doesn't go out and nobody notices for a week.

Where the gap actually forms

Walk through the lifecycle of a single invoice and you can see exactly where the gap opens.

Day 0. Time is approved against an active placement.

Day 1. The billing engine runs its batch overnight. The invoice is generated. It now exists as a record with status “ready to deliver,” or “pending approval,” or “on hold for PO,” depending on the customer's billing rules.

Day 2. The billing analyst pulls a report of yesterday's generated invoices. The clean ones get a one-click delivery. The flagged ones get triaged manually. About 80% go out the door same-day.

That is the happy path. The happy path is fine. The happy path is not what is making your DSO worse.

The 20% that did not go out same-day are where the dollars get stuck.

  • The PO-required invoices. Customer requires a PO number on the invoice; the placement record has the wrong one, an old one, or a blank field. The invoice sits until someone gets the right PO from the customer. That is a relationship task with a fifteen-minute touch and a three-week response time.
  • The large-account approval queue. Invoices over a dollar threshold route to a manager for review before they go out. The manager has 23 in their queue. They approve 5 a week. The math does not need a calculator.
  • The disputed-hours invoices. Customer pushed back on hours. Account manager promised to investigate. Two weeks later, the investigation has not happened. The invoice is sitting.
  • The bounce-back invoices. Invoice was emailed to the AP contact who left the company in November. The bounce notification went to an alias nobody reads. The invoice was technically delivered — just not to anyone.

Every one of these is a discrete, fixable problem. Most of them have a fifteen-minute resolution. The problem is that nobody can see all of them in one place. Each lives in a different status code, a different filter, a different person's brain.

What this is costing the firm

The DSO math is not subtle.

For a $100M staffing firm running 40-day DSO, every single day of delay on $298K worth of invoices costs about $815 in financing carry at current rates. A week of delay is roughly $5,700. A month is $24,500.

Those numbers are small relative to your top line, which is the reason this problem has stayed unsolved for so long. It does not feel like a million-dollar issue. It feels like a housekeeping issue.

The real cost is not the financing carry. It is the permanent shift in working capital that happens when this problem becomes structural. A firm that consistently runs $298K behind on delivery is a firm that has effectively given its customers a free, rolling 14-day extension on their net-30 terms. That extension never gets clawed back. It compounds every month. Over a year, on a $100M firm, you are talking about somewhere between $1M and $2M of working capital that is permanently locked up in the gap between “invoice exists” and “invoice delivered.”

Some firms have absorbed that locked-up capital by drawing harder on their line of credit. Some have absorbed it by holding back vendor payments. Some have absorbed it by simply telling themselves their DSO is what it is.

None of those are necessary. The cash is yours. The customer owes it. It is sitting in your own systems, in a status code, waiting to be moved.

The fix is a panel, not a process re-engineering

The reflexive response from a consultant looking at this gap would be a six-month process re-engineering project. Process maps. RACI charts. New status codes. A weekly governance meeting.

That is not the fix. The fix is a panel.

The Invoices panel in the Command Center makes the bridge between “invoice exists” and “invoice delivered” an operational surface. With:

  • A live count of invoices in each pre-delivery state — ready, on hold for PO, pending approval, bounced, flagged for dispute
  • A dollar total at the top of each segment
  • Aging buckets so the team can see which ones have been sitting longest
  • Drill-through into the underlying Bullhorn record for every invoice
  • Mass-actions to deliver the clean ones in a single batch, or to assign the held ones to an owner
  • An audit trail so finance can see exactly who delivered what, when, and to which AP contact

That is the entire intervention. No new process. No new headcount. No additional ATS module. Just a panel that takes the data the billing engine already generated and makes the “ready to send” queue visible.

On the pilot customers, the $298K average drops by 60–80% in the first two pay cycles after the panel goes live. Not because the team is suddenly better at their job. Because they can finally see the work.

The cultural shift is the bigger one

The DSO improvement is the easy part. The harder shift is cultural.

When the Command Center goes live, finance for the first time has a real-time view of what billing has been doing. Not the month-end report. Not the dashboard finance asked IT to build in 2022. The actual, current state of the invoice queue, refreshed every morning, drillable to the record.

That shift surfaces things both teams have been working around for years. Finance sees the size of the PO-chase backlog and stops blaming AR for slow collections. Billing sees that their large-account approval queue is the single biggest source of delay and escalates it to the COO with data instead of a feeling. The Wednesday morning ops call goes from “what did billing do last week?” to “what are we doing today about the 23 invoices on the large-account queue?”

That is the conversation that moves DSO permanently. The panel is the prerequisite. The conversation is the lever.

The broader pattern

This post is about invoices, but the pattern is not specific to invoices.

Every middle-office function in a staffing firm has its own version of the “ready to send” gap. Timesheets that are entered but not yet pushed to payroll. Charges that are approved but not yet billed. AR that is collectible but not yet contacted. Each one is a state where the system has done its job but the operator hasn't seen the work yet.

The middle office is full of these gaps because no single system was built to surface them. The ATS shows placements. The time capture system shows time. The billing engine shows invoices. The AR system shows aged receivables. Nobody shows the transitions between them.

The Command Center is built around the transitions. Five entity panels for the data — placements, time and expense, payroll, billing, invoices — and seven risk categories that watch the seams between them. The invoice gap I have been describing is one of those seams. There are six more.

What to do tomorrow morning

Whether or not you buy software from us, here is the operational ask:

  1. Email your head of billing. Ask them to pull every invoice generated in the last 30 days that has not yet been delivered to the customer. Get the count and the dollar total.
  2. Email your AR lead. Ask them what percentage of last month's invoices are still uncollected, and how many of those they have not yet made an outbound contact on.
  3. Compare the two numbers to your DSO. The gap between “DSO you report” and “DSO you would have if both of those buckets cleared” is the cash that is locked up in invisible work.

Most staffing firms cannot get those two numbers within 24 hours. That is the diagnostic. That is the gap the Command Center closes.

The billing engine did its job. The invoice exists. The customer owes the money. The only thing standing between the firm and the cash is a panel nobody built.

Chris Scowden is Founder & CEO of StaffingAgent.ai, the AI Command Center for the staffing middle office. He also serves as CEO of Newbury Partners, a twenty-year-old Bullhorn implementation consultancy. This is post 2 of 6 in the Operator Series.

Next in the Operator Series

3 of 6 · The $440K Gap: When Billable Work Is Done But Nobody Knows the Charges Are Ready

The mirror of the invoice problem — one step upstream. The average $100M–$250M firm has $440K in approved, billable charges that have not yet made it onto an invoice. Seven flags, seven status codes, no aggregate queue. Now live.

See the Invoices Panel Against Real Pay/Bill Data

Book 30 minutes and we will show you the Command Center against representative pilot data — including the “ready to send” queue your CFO has not seen.

See the Command Center Demo Book a Meeting