← All posts
Launch

Estimates that remember which job they belong to

You can now start a new estimate directly from a job's detail page, with the link between the two preserved from the first click.

Most estimates don't appear out of thin air. They're the next step in a conversation that's already happening — a job that's been scoped, a customer who's been talked to, a site that's been visited. So when we looked at how estimates were getting created, the friction was obvious: people were on a job, they knew exactly what they wanted to quote, and then they had to leave, navigate to a new screen, and re-enter context the system already had.

Start where the work already lives

The job detail page is where the relevant context lives — the customer, the address, the notes, the history. It's the right surface to launch an estimate from, because every field you'd otherwise re-type is already on screen. The new flow puts a New Estimate action directly inside the Estimates card on the job, so creating a quote is a single click from the place you were already standing Create an Estimate from a Job.

The link is the point

The bigger win isn't the saved clicks — it's the relationship. An estimate created this way is tied to the job from the moment it exists, not stitched together after the fact. That means no orphaned quotes, no guessing which estimate belongs to which job, and a cleaner audit trail when a job grows multiple revisions of a quote over its lifetime.

It's a small change with a deliberate constraint: if you're estimating against a job, the system should know that, and every downstream view — reporting, search, the job's own history — should reflect it without anyone having to remember to wire it up.

What's next

This is the first step in tightening the loop between jobs and the documents that surround them. Expect the same treatment for invoices and follow-up estimates next, so that the job stays the durable anchor and everything financial threads cleanly through it.

References

Source MDX: generated:jobs_create_estimate_from_job