How to cost contractor jobs and change orders as Local Service Business Founders

Ops & SupplyFor Local Service Business Founders2 apps12 steps~24 min to set up

You're bidding a bathroom remodel on a napkin in the Home Depot parking lot, then retyping those numbers into Jobber when you get back to the shop. Change orders are the worst — the homeowner wants recessed lighting added, your electrician texts you a price, and you're now tracking three versions of the same job across a text thread, a Google Doc, and a Post-it on your dashboard. You have no running total of what any job actually cost versus what you quoted, and by the time you pull the final invoice you can't remember which sub you overpaid or whether you absorbed that $400 lumber spike. Margin bleeds out through the gaps.

Ops & SupplyFor Local Service Business Founders2 apps12 steps~24 min to set up
Outcome

What you'll set up

A job-costing dashboard that compares your original quote, any change orders, and actual spend on every active job — pulled from your bank transactions via Plaid and tracked job-by-job
A change order log that captures the scope, the dollar amount, and whether the customer approved it — so you always have a paper trail without hunting through text threads
Automated weekly spending alerts that flag when any job's actual costs are running more than 15% over your original estimate before you close the invoice
The Starch recipe

Apps, data, and prompts

The combination of Starch apps, the data sources they pull from, and the prompts you use to drive them.

Data sources & config

Starch syncs your Plaid bank account transactions on a schedule so actual spending is always current. Jobber and Housecall Pro are automated through your browser — no API needed — so Starch can read job details, quotes, and invoices directly from the pages you already log into. The change order log and project tracker live natively in Starch.

Prompts to copy
Build me a job costing tracker with columns for job name, original quote, approved change orders, actual spend to date, and estimated margin. Pull actual spend from my Plaid transactions and let me tag each transaction to a job.
Create a change order log app where I can add a job name, change order description, dollar amount, date, and approval status (pending, approved, rejected). Show me a summary of total approved change orders per job.
Set up a weekly alert every Friday at 4pm: compare each active job's total approved spend to its original quote and flag any job where actuals exceed the quote by more than 15%. Send me a summary in plain English.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect your business checking account through Plaid — Starch syncs your transactions on a schedule and keeps them current. You'll be able to see every material charge, sub payment, and supply run as it posts.
2 Open Starch and describe your job costing app in plain English: 'Build me a tracker with a row for each active job, showing original quote, change orders added, total approved spend, and estimated margin.' Starch builds the app.
3 Starch automates your Jobber or Housecall Pro account through your browser — no API needed — to pull in your current open jobs, customer names, and quoted amounts so you're not re-entering anything by hand.
4 Tag your Plaid transactions to jobs as they come in. Tell Starch: 'Every time a transaction from Ferguson Supply hits my checking account, ask me which job to assign it to.' Starch builds that prompt flow.
5 Set up the change order log. Tell Starch: 'Create a change order form — job name, what changed, dollar amount, approval status. Show a running total of approved change orders per job.' Takes one prompt.
6 When a customer texts you about adding scope, open the change order log on your phone, add the line, and mark it pending. When they approve, flip it to approved. Your job's total contract value updates automatically.
7 Wire the Transaction Insights app to flag anomalies — tell Starch: 'Alert me any time a vendor I've never paid before charges my account, or any single charge is more than 50% higher than my historical average with that vendor.'
8 Set your Friday margin alert: 'Every Friday at 4pm, pull my active jobs, compare total approved spend to original quote plus approved change orders, and flag anything over 15% variance. Send me a plain-English summary.'
9 At job close, tell Starch: 'Summarize job #2241 — original quote, all change orders, total actual spend from Plaid, final margin. Format it so I can paste into my QuickBooks memo field.' Done in seconds.
10 Once you have 10+ closed jobs in the system, ask Starch: 'Which job types have the worst actual vs. quoted margin? Break it down by service category.' This is the question you've never been able to answer fast from Jobber alone.
11 Share the job costing dashboard read-only with your office manager or bookkeeper — they can see job status and flag discrepancies without needing access to your full banking or field service platform.
12 Over time, use the closed-job data to tighten your estimates: 'Show me average actual cost for bathroom remodels under $10k over the last 6 months.' Adjust your quote templates accordingly.

See this running on Starch

Connect your tools, describe what you want, and the agent builds it. Closed beta is free.

Try it on Starch →
Worked example

April 2026 — HVAC replacement, residential, 3-ton system

Sample numbers from a real run
Original quoted contract8,400
Change order #1 — upgraded to variable-speed air handler (approved)1,200
Change order #2 — code-required electrical panel upgrade (approved)750
Change order #3 — attic decking for access (pending, not yet approved)280
Equipment — Carrier 3-ton unit, Plaid transaction 4/33,800
Sub — licensed electrician, Plaid transaction 4/5900
Refrigerant and fittings, Plaid transaction 4/4310
Your technician labor (2 days, tracked manually)1,400

You quoted the job at $8,400. Before you even pulled the old unit, the homeowner asked about upgrading to a variable-speed handler ($1,200 change order, approved via text — logged and marked approved in Starch that afternoon). When your electrician got there, he flagged a panel that wouldn't pass inspection, adding another $750 (approved, logged). The attic decking request came in the last day — $280, still pending homeowner sign-off so it's sitting in the change order log as pending. Total approved contract is now $10,350. Starch has pulled $6,410 in actual Plaid transactions tagged to this job. Your remaining approved budget is $3,940, and you have about $1,400 in your own labor left to log. Estimated final margin: roughly $2,500 — around 24% on the approved contract. Friday's alert didn't fire because actuals are tracking inside your 15% buffer. The $280 decking change order shows as pending on the dashboard, reminding you to follow up with the homeowner before you close the invoice.

Measurement

How you'll know it's working

Actual vs. quoted margin per job (the number that tells you whether your estimating is getting better or worse over time)
Total approved change orders as a percentage of original contract value — healthy sign if it's going up because customers are adding scope, a problem if it's going up because your quotes are too thin
Vendor surprise rate — how often does a Plaid transaction show up from a vendor you didn't budget for on that job
Days between job completion and invoice close — if this stretches past 7 days, you're carrying cost you've already paid
Job type margin by category (HVAC replacement vs. tune-up vs. new install) — the question you've been answering with gut feel for years
Comparison

What this replaces

The other ways teams handle this today, and how the Starch version compares.

Jobber built-in job costing
Jobber shows you what you invoiced, not what you actually spent — it doesn't pull your bank transactions, so you still have to reconcile manually at month end.
QuickBooks + spreadsheet
QuickBooks tracks your books after the fact; a spreadsheet tracks what you want it to — but you're maintaining both, copy-pasting between them, and neither one shows you per-job margin in real time.
ServiceTitan job costing module
ServiceTitan has deeper job costing, but it's priced for mid-market shops and requires real setup time — not the right fit if you have fewer than 10 trucks and no full-time office staff.
Buildertrend or CoConstruct
Built for residential construction GCs, not service trades — the change order workflows are solid but overkill if your average job is a one- or two-day service call rather than a multi-week project.
On Starch RECOMMENDED

One platform — project management, transaction insights all running on connected data. Setup in plain English; numbers stay current via scheduled syncs and live agent queries.

Try it on Starch →
FAQ

Frequently asked questions

My field service software is Housecall Pro and it doesn't have a real API. Can Starch still connect to it?
Yes. Starch automates Housecall Pro through your browser — no API needed. It logs in the same way you do and reads your job list, quotes, and invoice data from the pages you already use. This is how Starch handles most field service platforms, because most of them have thin or locked-down APIs.
Will Starch automatically know which Plaid transaction belongs to which job?
Not automatically on day one — you'll tag transactions to jobs as they come in, either manually or by setting up a rule (for example, 'any charge from Ferguson Supply goes to the current open job for that address'). After a few weeks of tagging, patterns emerge and you can ask Starch to suggest assignments. It's not zero-touch yet, but it's a lot faster than a spreadsheet.
Is my bank data safe? I'm connecting a real business checking account.
Starch connects to your bank through Plaid, which is the same provider most business banking apps use. Your credentials go to Plaid, not to Starch. Worth noting: Starch is not SOC 2 Type II certified yet, so if your business has strict data compliance requirements, factor that in.
Can I track change orders that a customer hasn't approved yet?
Yes — the change order log has an approval status field (pending, approved, rejected). Pending change orders show in your dashboard but don't count toward your approved contract total until you flip the status. That way you always know what's real money versus what's still a conversation.
I use QuickBooks for my books. Does this replace that?
No, and it shouldn't. QuickBooks handles your tax reporting, payroll, and formal financials. Starch handles the real-time job-level view that QuickBooks isn't built for — you're not choosing one over the other. At job close, you can have Starch format a summary you paste into your QuickBooks memo or send to your bookkeeper.
What if I want to track change orders across multiple crews or multiple job sites at once?
Describe it to Starch: 'Show me all open jobs with pending change orders, sorted by dollar amount, with the crew lead assigned to each.' Starch builds that view. You can filter by crew, job type, date range, or approval status — whatever cuts matter to how you actually run your shop.

Ready to run cost contractor jobs and change orders on Starch?

Request closed-beta access. Everything is free during beta.

You're on the list! We'll be in touch soon.