Use one job state from inquiry through close-out.
Many contractor workflows break because the same job has a different identity in the phone log, estimator's calendar, job board, accounting system, and group text. Create one job or opportunity ID early and carry it through the handoffs. Each system can keep its role, but staff should be able to trace the work without guessing which "Smith job" is current.
Keep the state model simple enough to operate: new inquiry, contacted, site visit scheduled, estimate in progress, estimate sent, decision pending, accepted, scheduled, in progress, blocked, complete, invoiced, paid, and closed. Add a state only when it changes ownership or the next action.
| Job state | Required evidence | Named owner |
|---|---|---|
| New inquiry | Valid contact, service type, location, and response due time | Office or dispatcher |
| Estimate sent | Current version delivered with follow-up date | Estimator |
| Accepted | Customer decision, scope version, and any required deposit | Scheduler or operations |
| Blocked | Reason, responsible party, and next review date | Person who can remove the blocker |
| Complete | Work confirmation, photos or documents, and open issue check | Field lead and office handoff |
Automate the handoff, not every conversation.
Useful triggers create the next owned task: a missed call creates response work, a sent estimate creates follow-up, acceptance creates scheduling, completion creates invoice preparation, payment creates review-request eligibility. The person handling an exception should see the customer, job, source event, and due time in one place.
Keep judgment with the role that owns it. The system should not diagnose field conditions, promise emergency response, price an unclear scope, or mark work complete because a calendar event ended. It can prepare context and make missing evidence visible.
Design the exception queue for real field conditions.
Weather, access, permits, material delays, change requests, failed inspections, equipment problems, and customer questions are not rare edge cases. Give blocked work a reason, owner, next review date, and customer-communication status. Otherwise automation keeps advancing a job that is not actually ready.
When systems disagree, do not silently pick one. Surface duplicate customers, missing job IDs, an accepted estimate with no schedule, completed work with no invoice, or a payment attached to the wrong job. The owner dashboard should show those exceptions before summary charts.
Local fit: LaSalle-Peru service companies may cover a wider area than the city names suggest. Store service area, travel rules, crew capacity, and response promise as operating data. Do not use a location page as a substitute for a dispatch rule.
Prove one lifecycle across the tools you have.
- Pick one common job type and follow several recent examples, including a delayed one.
- Map identifiers, state changes, owners, waits, and repeated entry.
- Choose the authoritative record for customer, job, estimate, schedule, and invoice.
- Connect one handoff and include its ordinary failure path.
- Make staff action update the state and cancel outdated reminders.
- Reconcile the new workflow against source systems before trusting the dashboard.
- Expand to the next handoff only after ownership and recovery are clear.
Measure valid inquiries with no response, estimates with no next action, accepted jobs not scheduled, blocked jobs with no review date, completed jobs not invoiced, and staff touches per handoff. Those numbers point to work the business can fix. A total automation count does not.