Machine Shop Quote-to-Cash: How a Vertical Agent Runs the RFQ-to-Invoice Loop
Machine shop quoting is hard. A contractor quoting a bathroom can reason from "tile, labor, fixtures" and be roughly right. A machine shop quote has to account for material, setup time, run time, tolerances, tooling, finishing, freight, and a margin that doesn't get eaten on the second-piece price break. And most shops still build every one of those quotes by hand, in a spreadsheet or a Word doc, every single time an RFQ lands.
If you run a 1–15 person shop doing 10–50 RFQs a week, you already know the cost. This post is about what changes when the thing answering those RFQs is a vertical agent — built specifically for service-business quote-to-cash, trained on machine-shop patterns, and configurable on the watch / trust / auto autonomy ladder — instead of a generic AI tool you've bolted onto your inbox.
What an RFQ actually demands
The RFQ comes in by email. Customer attaches a drawing, names the part, calls out quantity, material, tolerance, finish, delivery date. From that you produce a quote that prices in:
- Material cost — current market price for the spec, plus a waste factor that you've learned the hard way
- Setup time — per-job, amortized across the run quantity, different for prototypes vs. repeat work
- Run time — cycle time per piece multiplied by quantity, with the quantity break baked in
- Tooling — amortized for this operation, replacement reality factored
- Finishing — deburring, surface treatment, heat treat
- Overhead and margin — your shop rate, your overhead allocation, the margin you actually need to clear
The math is the part you trust. The recall is the part a vertical agent can do better than you can.
Why your machine shop's agent needs to know it's a machine shop
If you've seen Claude for Small Business, you know generalist agents are getting good at composing QuickBooks, Gmail, and Stripe for general operations — month-end, cash position, contract review. For quoting itself — the vertical work — a generalist sees one RFQ in isolation and reasons from first principles. That's the wrong shape.
A vertical agent sees ten thousand machine-shop quotes and carries three things a generalist structurally cannot have at platform scale:
1. Per-vertical pricing memory. Machine-shop pricing is not landscape pricing is not HVAC pricing. The agent's defaults know that 316 stainless jumped 7% in Q1 even when you forgot to update your sheet. They know that A36 carbon steel runs $0.42–$0.55 a pound in your zip code and that's the band to draft inside, not $1.20 because a generic LLM averaged across "metals." Those baselines compound every time you confirm or correct a draft — your shop's pricing patterns become your memory, not the foundation model's training data. 2. Per-vertical revision patterns. When a customer comes back and says "what about 20,000 instead of 10,000?", the revision a contractor would apply (re-scope the labor line) is wrong. The revision a machine shop applies is a quantity-break discount on setup amortization with run time scaling linearly — and a contractor-shaped agent will get this exactly backwards. Setell's revision engine knows the difference because it's been built on what your vertical's revisions actually look like. 3. Deep QuickBooks sync. A generalist agent reads QuickBooks shallowly — "tell me cash position, run payroll." A vertical agent for quote-to-cash reads it deeply: every line item on every past invoice, customer-matched and item-cataloged, so the draft for your A36 part references the actual price you charged on the last three jobs for the same customer, not a guess. Two-way: when the quote is approved, the invoice is created in QuickBooks with line items, quantities, and pricing already populated. No re-entry. No drift between systems.That's the asymmetric work. A generalist agent can write a quote that looks like a machine-shop quote. A vertical agent writes one that prices like one — because it remembers what your shop has actually billed, and what your vertical actually does.
The RFQ-to-invoice loop, end to end
Here's what the loop looks like with a vertical agent doing the work — across three peer surfaces you can pick between: the app, your Gmail, or your agent stack (Claude Code, Claude.ai, ChatGPT, your bookkeeper's MCP-aware tools). Same canonical state on all three; pick the door you like.
Step 1 — RFQ arrives. Customer emails you. The agent picks it up from your Gmail automatically (or you click one button in the Chrome extension; or your bookkeeper triggers it from their stack). It reads the email, identifies the part type, quantity, material, finish, delivery requirement. Step 2 — Draft is built from your shop's memory. The agent generates a structured draft using your actual pricing history from past QuickBooks invoices, your per-customer rates, and the per-vertical defaults for anything it hasn't seen. First pass is 80% there on familiar work, 60% on a new spec. Step 3 — Review in watch mode (the default). You see the draft in the app, in your Gmail, or in your agent surface. You check setup amortization, kerf comp, the material line, the margin. Hit send when it's right. For most shops in their first month, this is where you stay — high-stakes RFQs always deserve eyes. Step 4 — Revisions without starting over. Customer asks for a different quantity or material spec. You don't rebuild the quote. The revision engine applies a structured patch — quantity-break recalc on a setup-vs-run-time basis, material substitution with the right per-pound rate — and the result is a versioned quote (v2, v3), not a new file. Every revision is audited. Step 5 — Won job becomes an invoice automatically. Customer accepts. The invoice is created in QuickBooks with every line item — material, setup, run, finishing, freight — quantities and pricing already there. The job moves to invoiced in your pipeline. No re-entry.Configurable autonomy — watch / trust / auto
Most shop owners reading this should start in watch mode — the default. Every action goes through you. The agent drafts, you confirm. That's how trust gets built, and that's correct for big bids you're going to live with for a year.
As confidence grows, you graduate individual action classes:
- Trust mode on follow-ups. The agent nudges quotes that have gone seven days without a response. Email composed in your brand voice. You see what went out the next morning. You don't write the follow-up.
- Trust mode on small repeat RFQs from existing customers — the $200 quantity-break update for a repeat part the agent has quoted three times before. It drafts and sends; you see the result in your morning brief.
- Auto mode on stale-quote sweeps. Quotes more than three weeks old get a final touch and a polite close-out. You wake up Monday to "two stale quotes resolved, one re-engaged, one signed overnight."
A worked example
Imagine the RFQ that lands tomorrow morning:
"Need a quote on 10,000 mounting brackets, A36 carbon steel, 1/8" thick, laser-cut with a 0.005" kerf tolerance, black oxide finish, delivery in 4 weeks. Drawing attached."
A generalist agent reads "10,000 brackets, A36 steel" and draft-prices from a model average. Probably reasonable. Probably not yours.
A vertical agent does this:
- Pulls your last three quotes that included A36 carbon, sees you charge $0.47/lb at your current Q2 vendor pricing.
- Pulls your last laser-cut job and applies the kerf comp pattern you've used (your shop discounts setup amortization at the 5,000-piece break, not at 10,000).
- Knows from your QB customer history whether this is a first-time customer (margin holds) or a repeat doing >$50k a year (you typically discount setup 15%).
- Drafts a quote with: material line, setup line, run-time line at your shop's per-piece cycle, finishing line for black oxide, freight estimate based on your standard carrier, your standard margin.
- Surfaces a warning if the draft margin is below the band you've actually held on similar work — because the evaluator runs on every draft.
Getting started
Connect QuickBooks first. That gives the agent access to your pricing history immediately, which is the foundation of accurate drafts. Then connect Gmail. The free tier gives you 10 quotes to test the loop end-to-end; Business plan is $49/month for 50 quotes, Pro is $99/month for unlimited and adds the agent stack surface.You can drive the agent from your stack too — Claude Code, Claude.ai, ChatGPT, or whatever your bookkeeper uses — by joining the Setell-MCP waitlist. Same agent, same canonical state, called from wherever you already work.
The shops that adopt this first won't be saving hours. They'll be quoting jobs the slow shops never get to, with prices that hold their margin because the agent remembers what they've actually charged. That's the work. The time is a side effect.
Ready to quote faster?
Start your 14-day free trial. See your first AI-drafted quote in minutes.