Revenue gets trapped in the gap between the sale and the invoice, in delivery backlog, unbilled work, and stalled onboarding. Here's how to find and govern it.
When a company can't explain why booked revenue isn't showing up as recognized revenue, the money usually isn't lost, it's trapped. It's stuck in the gap between the moment sales closes a deal and the moment finance can actually bill and recognize it. And in most mid-market companies, no one owns that gap, so no one can see how much revenue is sitting in it.
Here's where it hides, why it accumulates, and how to govern it before it quietly distorts your forecast and your margin.
A booking is a promise. Recognized revenue is a delivered, billable fact. Between those two points sits a whole operational journey (onboarding, implementation, delivery, milestone completion, invoicing) and every step is a place revenue can stall. When it stalls, it stays on the books as "sold" while never converting to cash or recognized revenue on the timeline the forecast assumed.
The reason this is invisible is structural: the sale lives in the CRM, the delivery lives in a project or ops system, and the recognition lives in finance. No single system spans all three, so no single view shows you revenue that's booked but not yet deliverable, billable, or recognized. It's trapped precisely because it falls between the systems.
Contracted work that can't start (or can't finish) because delivery is at capacity sits as backlog. That revenue is booked, but it can't be recognized until the work is delivered. The larger the backlog, the more recognized revenue slips into future periods, even though the bookings looked strong.
Every additional week between contract signature and go-live is a week of delayed recognition, and, often, delayed expansion and higher churn risk. Long onboarding cycles trap revenue at the front end of the customer relationship, where it's most fragile.
When invoicing is tied to milestones, a delivery delay is a billing delay. Work that's marked complete but not yet invoiced (or milestones that slipped) represents cash you've earned but haven't collected. It's revenue leakage hiding as an operational timing issue.
Scope that expands mid-delivery without being re-priced traps margin rather than revenue: you deliver more than you're paid for. A pattern of change orders is a signal that deals are under-scoped at sale and the gap is being absorbed in delivery. That quietly erodes the profitability of revenue you already recognized.
The instinct is to solve trapped revenue with a better dashboard, a report that surfaces backlog or aging invoices. But a report tells you the trap exists after the fact. It doesn't prevent revenue from getting trapped in the first place, and it doesn't reconcile the conflicting truths across your systems.
Governing trapped revenue means continuously reconciling three questions across the seam: What did we book? What can we actually deliver, and when? What can we bill and recognize, and when? When those three answers are governed together (rather than reconciled by hand once a quarter), trapped revenue becomes visible early enough to act on, and the operating rules that trap it (capacity limits, onboarding lag, milestone gates) become things you manage instead of discover.
Most leaders can tell you their bookings and their recognized revenue. Far fewer can tell you how much sits between them right now (trapped in backlog, unbilled milestones, and onboarding lag) and when it will convert, if it converts at all.
That number is one of the truest measures of whether your revenue is real and deliverable, not just booked. And you can only see it by governing the gap between the systems, because that's the one place it lives.
Want to see how much of your revenue is trapped between the sale and the invoice? Run the revenue governance assessment →
An Executive Briefing starts with the same question this article does — ask it about your own operation.
Book an Executive Briefing →