Use the Customer Portal for approvals, status, documents, and payment
The Customer Portal is the page a customer opens from the link you send them: one mobile-friendly page per visit where they check status, read the inspection report, approve or decline recommended work, and view the invoice. This page walks through what the customer sees at each phase, so when someone calls and asks "what does that link show me?", you can answer from their side of the screen. Sending the link is covered in Send Estimates, Inspections, and Invoices; the settings behind branding, signatures, and portal payments are in Payment methods and customer-document settings.
How the link works
Every Estimate and Repair Order gets a portal link the moment it is
created: your app address followed by /visit/ and a long random token.
There is no customer login and no password; anyone who has the link can
open it, which is why the token is 43 random characters. The link does not
expire, and it does not change when an Estimate converts into a Repair
Order, so a customer can keep using the text you sent at drop-off through
pickup and after. One visit, one link. A new visit gets a new link.
The Send dialog shows Portal last viewed with a timestamp once the customer has opened it, so you know whether they've seen anything at all before you call. While open, the portal refreshes itself every 30 seconds; a customer watching the page sees a stage complete or a price change without reloading.
If the Repair Order is voided, the link stops showing anything: the customer gets "This visit is closed" and a suggestion to contact the shop.
The home page
The header is your shop, not ours: your logo (or a letter tile in your primary color) and your Public name. On mobile, a contact button opens Text the shop, Call, and Address (which opens maps). On desktop, those actions and your address move into the Service Center card instead. They open the customer's own messaging and phone apps; there is no chat inside the portal, so replies arrive wherever you normally receive texts. Text the shop only appears when the shop has an active SMS-capable number. When the customer has an eligible phone number and has not stopped all texts, the menu also offers Communication preferences. That page lets the customer opt in or out of promotional service reminders and offers, separately from texts about the current visit, and links clearly back to the portal home. The browser tab is titled with your shop name too.
Below the greeting ("Hi Sarah") and the vehicle with the visit number ("2020 Honda Civic · #1042") sits one status card. It is always there and always says the most useful true thing:
- When something needs the customer, it carries one button: Review & authorize when Sent recommendations are waiting on a decision or View report after you Send an inspection. Portal payments are currently unavailable, so an invoice balance does not add a payment action.
- Otherwise it states where the visit is: "In the shop" early on; "Authorization received" after they approve but before work starts; "Brake service in progress" once a technician logs time or checks off work, with a progress bar and, if you set a Promise Time, "Estimated ready by Fri 5:00 pm"; "Work complete" at 100% after every Service finishes; "Ready for pickup" when the Repair Order reaches the last board stage; and a closing "What's next" card once the vehicle is picked up and its Invoice is paid.
The ready and in-progress states come from the workflow board, not a field anyone types: only the last column makes the portal say ready, and the in-progress states only show while the card sits in a middle column. Moving the card is what updates the customer, which is one more reason to keep the board honest; see Workflow stages and operational defaults and Move work through Workflow Stages.
The timeline
Under the status card, a Repair Order visit shows a timeline of the visit's milestones, oldest first: Vehicle received, an Inspection entry for each inspection you Send, an Approval entry for each authorization round, Service, and Pickup. Done steps show a checkmark and time, the current step is highlighted, and future steps sit as gray circles. It is built from a short whitelist of real events, so customers see key milestones and never your internal edits, notes, or stage shuffling.
Pickup is completed by the recorded Vehicle Pickup timestamp, not by payment or by merely reaching Ready for Pickup. A paid vehicle that has not been picked up continues to show its current board-derived status.
Documents attach to their step as tappable pills: the inspection's name on its Inspection step, Estimate on an Approval step, Invoice on Pickup. Tapping an inspection pill opens the report page scrolled to that specific inspection, so a visit with several sent inspections lands the customer on the one they tapped. An approval the customer signed in the portal reads "Approval · 2 of 3" showing how many of the presented services they took; approvals you record at the counter appear as a plain "Approval" step. While Service is the active step, it expands into one row per authorized service, marked done, in progress, or up next.
An Estimate that hasn't become a Repair Order yet has no timeline, just the status card. The timeline starts when the Repair Order does, which is why check-in is what puts "Vehicle received" on it.
Whether steps and the inspection report name your people ("Marcus is working on your vehicle") or stay generic ("We're working on your vehicle") is the Show staff first names setting; only first names are ever used.
Approving work
When you Send recommendations, the customer's Review & authorize button opens the estimate page. Services appear under the same three group headings as your Estimate tab, in the same order: Customer requested, Urgent, and Recommended (or whatever you renamed them to). Customer requested and Urgent services come pre-checked; Recommended services start unchecked. Each card shows the name and price, and expands to the story behind it: the customer's original concern, linked technician findings with photos and video, the "Why this is needed" text, and notes. If your Customer detail setting exposes line items, a View price breakdown link opens labor, parts, fees, and discounts for that service.
A sticky footer tracks the selection ("3 of 5 total services selected"). With at least one new Service selected, it carries the Authorize button with a running total. Tapping it opens a confirmation: the selected services with prices, order fees, discounts, and tax when your detail settings expose them, a name field prefilled with the customer's name, and a signature box. Drawing a signature is required only when the Customer signature setting is on; the name is always required. The confirmation describes signing when the signature is required and authorizing when it is optional. If your approval requirements need facts the visit is missing, such as a Reason For Visit, an odometer reading, or a VIN, the dialog asks the customer to fill them in under "Required details". The fine print states that the customer authorizes the selected Services at the listed prices and, when you have terms of service configured, links them for reading before authorizing.
With no new Services selected, the footer instead offers Decline all. Its short confirmation records every pending Service as Declined without asking for a name, signature, required authorization facts, or terms acceptance. In a later decision round, it says Decline all remaining services? and makes clear that work already authorized is unchanged.
Submitting decides everything pending at once: on the authorization path, checked services are authorized and unchecked ones are declined in the same authorization action; on the decline-all path, every pending Service is declined in one confirmed action. There is no per-service submit, so a customer can't approve two things and leave the third hanging. Declined services stay visible and re-selectable later. Approved services lock; a customer cannot un-approve from the portal. The one exception is a price increase after approval: that service unlocks, the card says "Price changed since you approved: was $180, now $240", and a second round frames the ask as the increase ("+$60 beyond what you already approved") with a new visit total. Everything the portal records, and how staff record phone and in-person decisions against the same rounds, is in Record authorizations, declines, and deferred work.
Only Sent services appear. Work you haven't reviewed and Sent, or marked hidden, does not exist as far as the customer can tell; see Send Estimates and Inspections to customers.
Documents: inspection, estimate, invoice
The inspection report page lists each customer-visible completed inspection with a summary line ("15 items checked by Marcus today at 10:20 am") and filter chips with counts for Critical, Attention, and Good items. Findings sort worst first and carry their notes, photos, and videos. Opening the page marks the inspection as viewed, which clears the customer's review prompt and shows you the viewed status on the shop side.
The invoice page appears once an Invoice is finalized: one row per service, a combined "Supplies + tax" line, the total, any amount paid, and the balance due, plus payment terms and due date when set. View invoice (PDF) opens the same PDF you'd print, and it stays available after payment, showing the payments received and the $0 balance. The portal shows this visit's invoice only; for how customers get older invoices, see Understand vehicle ownership, service history, and historical invoices.
Payment
There is no working online payment yet. Portal payments is locked off, and the invoice page never shows payment methods or a Pay button. When a balance remains, the customer sees "Pay at the counter when you pick up your vehicle." Every payment today happens at the shop.
After payment, the home page offers Schedule appointment. The customer can select declined work, choose an available time, and add a note. Confirming creates a future Appointment on your Calendar; it does not link that Appointment back to the completed Repair Order.
What the portal does not have
The portal covers exactly one visit. There is no account, no cross-visit history, and no list of the customer's other vehicles or invoices. There is no in-portal chat: contact actions open the customer's own phone and messaging apps, and their texts land in your normal inbox. Online payment is unavailable, and customers cannot edit their contact details or reschedule the current visit from the portal. If a customer wants any of that, it goes through you; see Communicate with multiple Customer Contacts for who receives the link in the first place, and Resolve message-delivery and consent problems when the link never arrived.