Once you can name corrosive revenue, the next problem is finding where it hides.
Corrosive revenue doesn’t announce itself.
It expresses itself across the system.
By the time you feel it, it’s already moved through five points of failure.
Not one catastrophic miss.
A series of normal decisions that don’t quite hold.
Most bad jobs don’t go wrong in execution.
They were wrong at the quote.
No historical anchor.
Assumptions filled with judgment.
Edge cases treated as standard.
The system accepts the number anyway.
Because:
capacity is open
the relationship matters
or the team believes they can “figure it out later”
They usually do.
Just not profitably.
Directive: Flag any quote that cannot be tied to prior job data. That’s not a quote—it’s a guess with a deadline.
Corrosive work rarely has stable scope.
It starts close enough to feel manageable.
Then shifts—quietly.
Clarifications.
Additions.
Interpretations.
Work begins before constraints are locked.
Now the team is executing against a moving target.
You don’t see it as scope failure.
You see it as “normal project dynamics.”
Directive: If work starts before scope is fully constrained, you’ve already accepted margin erosion. Track that explicitly.
This is where most companies misread the problem.
Labor looks inefficient.
Hours overrun.
Schedules slip.
Productivity metrics degrade.
So the response is:
push the team harder
add supervision
tighten execution controls
Wrong target.
Labor isn’t the root cause.
It’s absorbing:
bad assumptions
unstable scope
missing inputs
sequencing breakdowns
You’re measuring the symptom.
Directive: When labor overruns, trace backward. Do not correct labor until quote and scope are validated.
Even when the work is done, the leak isn’t over.
Corrosive revenue creates billing friction:
incomplete documentation
disputed changes
delayed approvals
missed billable items
The job gets closed.
But not cleanly.
Cash lags.
Revenue recognition gets fuzzy.
Some margin never makes it onto the invoice.
Directive: Compare earned vs. billed on every job with scope movement. The gap is not administrative—it’s structural.
This is the long-term damage.
When every job is different:
estimating data stops being comparable
actuals don’t feed back into quoting
variance becomes noise instead of signal
So the next quote…
is built the same way as the last one.
On judgment.
The system loses its ability to improve.
Directive: If you can’t reuse job data for estimating, you don’t have a data problem. You have a revenue mix problem.
Not failure.
Drift.
Margins vary job to job with no clear pattern
Teams rely on experience instead of process
Each new project requires interpretation
Growth increases effort, not output
You stay busy.
You don’t scale.
Most companies respond with:
better project management
more detailed tracking
tighter cost control
All downstream.
All necessary.
None sufficient.
Because the system is reacting to work it was never designed to handle.
You don’t fix this in execution.
You fix it at the gate.
Before accepting work, ask:
Does this quote rely on known data?
Is the scope fully constrainable?
Will it follow a standard execution path?
Can it be billed cleanly without interpretation?
Will the data improve the next job?
Corrosive revenue doesn’t break the business in one place.
It spreads across five.
By the time you see it in margins, it’s already too late to fix where it started.
Revenue is a liar.
It shows you the total.
It hides where the damage happened.
Next: if corrosive revenue spreads across the system, the control point has to sit before the work enters.
Part 4 is about the Intake Gate — the decision point that determines what work is allowed into the business.
No posts

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.