Your pipeline should know how a foundation job actually runs.
PRE-PRODUCTION
314-pier lift · permit pending
Contract signed
PRODUCTION
2Piers installed
CLOSEOUT
1Final invoice
Why a generic pipeline fails the trade
Ask a foundation repair owner where a job stands and you will hear a real sequence: lead, inspection, estimate, signed, permit, scheduled, piers in, elevations shot, plumbing tested, final invoice, warranty issued. That order is not decoration. Skip a step and you get a callback, a chargeback, or a warranty claim you cannot defend.
Generic CRMs do not know any of that. They give you columns you can name whatever you want and let anyone slide a card wherever it fits their day. So the pipeline drifts. One rep marks a job “Complete” to clear it off their view. The office bills a milestone that was not earned. A job sits in “Production” for three weeks and nobody notices because nothing was watching.
You end up managing the software instead of the work. Someone spends Monday morning walking the board, asking crews what is real, and re-typing the same status into a spreadsheet, a texting app, and QuickBooks. The board was supposed to save that time, not create it.
What a pipeline should do
Hold the real order of a foundation job. Stop a move that would skip a required step. Fire the milestone invoice when the job earns it, not when someone remembers. Drop a callback reminder in the scheduler’s lap the moment a job changes stage. And keep a record of who moved what, so the board is the truth instead of a guess.
Built around the foundation repair lifecycle, not a blank template.
Pre-Production
Production
Closeout
The board says no when the work is not done.
A stage gate is a prerequisite the job has to clear before it can advance. Try to drag a job past a step it has not earned and the move is blocked with a plain message that says exactly what is missing. No silent failure. No card that snaps back with no explanation.
This is where a foundation pipeline earns its keep. The default gate holds a warranty certificate until “Plumbing Test Passed” is checked, so nobody issues a warranty before the post-lift pressure test confirms the repair. Set your own gates too: final QC before the closeout invoice, permit approved before a crew rolls. The gate turns a company rule that used to live in one manager’s head into something the software enforces on every job.
- Clear blocked-move message naming the prerequisite, instead of a card that just refuses to move.
- Configurable prerequisites per stage, so your safety and QC steps are not optional.
- Stage completion tracked with an audit trail, so you can prove the step happened.
Piering, waterproofing, and commercial do not belong on one board.
A helical pier job and a crawlspace encapsulation do not move through the same steps. Force them onto one pipeline and every stage becomes a compromise that fits neither. So run more than one. Build a Residential Piering workflow, a Waterproofing workflow, and a Commercial workflow, each with its own stage set, and switch between them with board tabs.
Every job binds to one workflow and moves through that workflow’s stages, across the app and the board alike. New jobs inherit your default workflow, so intake does not slow down. On top of that, tag jobs by repair type. Then filter the Jobs list, the pipeline, and your KPI and lead-attribution reports by tag, so you can see how waterproofing is really performing without standing up a separate pipeline to measure it.
The permit lives on the job, not in a folder on someone's desk.
Foundation work is a licensed trade, and the permit is often the thing standing between a signed contract and a crew on site. Each job carries its own permit record with a real status workflow: submitted, approved, then expired when it lapses. Attach the permit document right to the record so it is not buried in an email thread when the inspector asks for it.
Here is the part that matters for flow. When a permit is marked approved, it can fire an automation trigger, so approval is not a fact that sits unnoticed for three days. The job can advance, the scheduler can be prompted, and the crew can be booked the same day the county says go. No more calling the office to ask whether the permit came through.
- Status workflow submitted to approved to expired, visible on the job.
- Document attachment on each permit, so the paperwork travels with the work.
- Approval trigger that moves the job forward the moment the permit clears.
When a job changes stage, two things should happen without anyone lifting a finger.
Milestones bill themselves on stage entry
Foundation jobs get paid in draws, not one lump at the end. So tie each item on your payment schedule to a stage. Twenty percent deposit at Contract Signed. Forty percent at Piers Installed. Forty percent at Final QC. When the job enters that stage, the milestone invoice fires automatically. The draw you always forgot to send goes out on its own, on the day it was earned.
That closes a real leak. The second draw nobody remembered to bill is the margin that quietly went missing. Rename a stage and the trigger keeps up, because the link stays in sync behind the scenes. See how milestone billing collects each draw once it fires.
Callback reminders land in the scheduler's queue
Set a rule so that when a job enters a stage, a callback reminder is created for the scheduler. Estimate Sent with no answer in three days? A reminder appears. Job hits Final QC? A reminder to request the review. The office stops relying on memory and sticky notes to chase the next touch.
Reminders create SMS drafts in the queue. Nothing sends on its own. A person always reviews and sends, so a homeowner never gets a robotic text your team did not approve. It is the difference between automation that helps and automation that embarrasses you. The scheduler works these reminders right alongside the day’s board.
Change a stage, and the software checks its work before you do.
Owners and admins can rename, recolor, reorder, add, and retire pipeline stages from settings. Your board should match how your shop runs, not the other way around. Rename a stage and its behind-the-scenes reference regenerates so your milestone-billing triggers keep firing on the right step. No quiet breakage.
Try to delete a stage and the system shows you exactly what depends on it first: how many jobs sit there right now, how many automation rules point at it, and how many milestone-billing items are tied to it. You can reassign those jobs to another stage on the way out. And the default pipeline stage is protected, so nobody can delete the one thing new jobs land on. Every stage move is recorded, so the board is an audit trail, not a rumor.
Before you delete "Elevation Survey"
The pipeline is the spine. The job is the body.
A stage is only useful because of what sits behind it. Every card on the board opens the full job: the customer and every contact on the ticket, the work sold, the crew, the estimate, the signed contract, the work orders, and the activity log. The pipeline shows you where the job is. The job record shows you everything about it.
That is what a generic CRM cannot fake with prettier columns. Move a job and the money, the reminders, the permit status, and the history all move with it, because they were never separate systems in the first place. It is all one record, from the first call through a warranty on file.
Frequently asked questions
Do I have to build my pipeline from scratch?
What is a stage gate, and can I set my own?
Can I run separate pipelines for piering and waterproofing?
How do milestone invoices connect to the pipeline?
What happens to a permit inside the pipeline?
Will reminders text my customers automatically?
What if I need to delete or reorder a stage later?
Does moving a job update everything else, or just the board?
The pipeline is part of one connected job record. When a job changes stage, the tied milestone can bill, the reminder can fire, the permit status is right there, and the history is logged, because the board, the money, and the paperwork were never separate systems. The full job record holds all of it in one place.