CarSignalDocs
Book a demoSupportSign in
Estimates & approvals

Sending quotes

One tap sends a text with a link. CarSignal checks the quote is actually ready first.

When the estimate is ready, send it. The customer gets a text (and email, if you have one on file): "Hi Sarah, your estimate for the 2019 Honda CR-V ($842.50) is ready. Review and approve: [link]." The email also carries the estimate as a PDF attachment, so customers who file paperwork have their copy without clicking anything. If the customer has texted STOP, the quote still goes out by email and the send confirms with a note saying so. When a new estimate replaces one the customer already saw (you voided and rebuilt it), the message says it was updated with the new total instead of announcing a fresh estimate.

The review opens instantly on a compact command view — and the command view IS the editor. Every picked job is its own card: the customer's concern in its own block, then the writeup summary-first (Finding, Repair, and a driving-safety callout when it matters) with Show full explanation opening the complete writeup — where you click any sentence to edit it in place, or remove a job's writeup entirely. Zero-dollar included items collapse to one quiet line. Line money edits in place too — quantity, hours, rate, price — and the totals ladder carries Edit for the discount, shop supplies, and environmental fee. The jobs rail beside it picks the scope (tick a job on or off and the quote re-renders immediately), and Approve in shop, Send for approval, and Print all live right there. The draft builds itself in the background while you work the jobs, and the AI-written customer descriptions fill in moments later (your own edits always win). Before sending, the full review screen lets you fix anything: edit line items, add discounts, or add a flat shop-supplies charge (taxed with the sale, like your environmental fee). Discounts live in one place: tap Add discount under the totals and answer two questions. First, where it applies: the whole quote (approved work already sold on the bill is never touched) or a single job ("$50 off the brake job"). Then, what within it: everything, labor only, or parts only — so "10% off labor" never eats your parts margin, whether it covers the whole quote or just the brake job. Single items discount right in the job's line grid: a quiet Discount action on each part and labor row takes a percent or dollar amount, shows the savings on the row, and stays put — the job-level discount machinery never overwrites a discount you set on a specific item, and the customer sees that item's original price struck through. Every discount can carry a reason that prints on the customer's copy: whole-quote, labor, parts, and single-job discounts alike ("Military 10%" on just the brake job). Discounts your shop gives often ("Military 10%", "First visit $25") can be saved as presets in Settings, Pricing & invoicing — they appear at the top of the picker on every quote and draft invoice, apply with one tap, and print their name as the reason. Each active discount shows as its own row with the dollars off and a quick remove. Different targets stack: each job can carry its own discount and one quote-wide (or labor/parts-only) discount applies on top of the already-discounted jobs, so "20% off the brake job" and "10% off all labor" run together. Picking a target that already has a discount edits that one rather than doubling it. The customer sees a discounted item's original price struck through next to the new one, and the other items stay full price. Set automatic shop supplies in Settings, Pricing & invoicing. They pre-fill only when the new quote includes priced parts—not labor-only work or standalone charges. When you approve only labor from a new mixed quote, automatic supplies stay with the parts-bearing jobs. An amount you explicitly set remains a quote-wide fee; the review screen still lets you adjust or remove it per quote, and the Shop supplies line in the vehicle page's money rail opens the same edit without leaving the page. The Environmental fee line works the same way: tap Edit to set a flat amount or remove it for this quote only — your shop pricing settings never change. Either edit sticks: the amount you quoted (including a removed fee) is the amount that lands on the invoice when the customer approves, and it stays put through later invoice updates. Supplies are charged once per visit: a follow-up quote in the same visit only pre-fills whatever room is left under your cap (nothing, if an earlier quote already hit it), and the bill collects the combined amount exactly once.

Approve in shop also lives on each pending job card and on every charge row, and it approves just that job — record the customer's counter OK for one repair, or your own call for shop-side money like a sublet or tow, while the rest of the ticket keeps waiting on the customer. The confirm lists every job with its price — untick any the customer didn't say yes to and only the ticked ones are approved — and records how the OK came in (in person, phone, or text) plus who gave it, alongside the signed-in advisor it already stamps. That record lives on the approval for good. Send and Approve in shop wait for every report, part, labor, discount, and shop-supplies edit to finish saving. If an edit cannot save, the quote stays a draft and shows the error instead of sending older text or totals.

Only one sent quote can stay active for the same jobs. To send revised scope after a quote already went out, void the active quote from the vehicle first, then review and send the new draft. This prevents two live approval links or two send notifications for the same work. On mobile, tapping the sent job in the send sheet's job picker does this in one step: it confirms, cancels the quote the customer has, and folds the job into the new quote so you send one combined link. Opening a sent quote or a sent invoice in the mobile preview also offers a void link on that exact document, so mixed repair orders with several quotes are never stuck.

A send is recorded before text or email delivery begins. If a provider is temporarily unavailable, CarSignal keeps the unfinished channel queued and retries it; sending the same quote again resumes that delivery without recreating the quote or repeating a channel that already succeeded. A corrected phone number or email is picked up on the retry.

When delivery fails outright, the error says which channel failed and why: an invalid phone number, an email address that has bounced before, or a customer who marked earlier emails as spam. The quote is still saved. On mobile, the vehicle's next-step card switches to Quote not delivered with a resend button; fix the contact info on the client, then resend.

If the job came from a Quick Estimate or an accepted diagnosis, the first quote keeps the tax and fees the estimate was priced with — the number the customer already heard. When your Settings have changed since then, the review screen says so and offers the choice: keep the estimate's pricing, or reprice with your current settings.

The readiness gate

Complaint-based quotes will not send if the diagnosis is not actually ready: still pending, no recommended repair, or confidence below 70%. That protects you from quoting guesses. You can explicitly override to send a diagnostic-only quote, and maintenance work skips the gate entirely.

Estimate-built jobs have a second check. A quote stays in draft while an estimate is still building, after a draft failure, or while a required part still needs a real price. Finish or retry the estimate and price every required part, then refresh the quote. Empty jobs that are not on the quote do not hold up other ready work. The same check runs when you send or use Approve in shop, on web and mobile.

The customer report

On send, CarSignal writes a customer-facing report for each issue: a plain-English headline, what is wrong, what caused it, how the shop knows, what happens if it waits, an urgency badge, and a clear can-I-keep-driving answer. The language automatically stays only as confident as the diagnosis actually is. Every section is editable per repair on the review screen, and a section you blank stays blank on the customer's page and PDF — useful when the work is already done and "if not fixed" no longer applies. Jobs where a narrative is just filler can drop it entirely: Remove writeup for this job under the report leaves the customer with the title, line items, and prices, and it stays off even as the job changes — restore it any time from the same spot.

What happens in the app

  • The quote is snapshotted: line items, tax, fees, discounts, and totals are locked so what the customer approved never drifts.
  • The vehicle moves to Waiting approval and its next action becomes Waiting on customer.
  • Re-sending the same quote reuses the existing link instead of spamming the customer with new ones.

Printing a quote at the counter

Customer standing in front of you? Tap Print at the top of the quote (open it with View customer link on the vehicle or issue page), or on a draft, at the top of the review screen — so you can show or hand over the estimate before anything is sent, then record the yes with Approve in shop. Print takes you straight to the print dialog — a small window opens with the estimate document (shop letterhead, each job with its description, parts with part numbers, labor, the totals ladder, a customer signature block on unanswered estimates, and the estimate terms), prints, and closes itself. Choose Save as PDF in the dialog for a file. Customers on their own link still get the PDF in a tab so they can keep a copy. Printing does not count as the customer viewing the quote. Customers see the same Print button on their own link, so out-of-state customers can keep a copy. Shop-side opens are read-only: the Approve and Decline buttons only appear on the customer's own link. An answered quote's PDF marks each job Approved or Declined and shows who authorized it and when.

Heads up

Approval links expire after 30 days for security. If a customer sits on a quote longer than that, re-send it to give them a fresh link.

Next: What the customer sees.