CarSignalDocs
Book a demoSupportSign in
Payments & invoicing

Invoices

Invoices assemble from approved work and keep a clear record of changes and payments.

You rarely build an invoice by hand. The moment a customer approves work, the visit's bill assembles itself from every approved, unbilled line on the repair order. Approve more work mid-visit and the open bill updates in place, even after it has been sent; only paid invoices stay locked as snapshots. Work approved at the counter with no estimate behind it keeps its own place on the bill, so a later approval always joins. If an approval cannot land on the bill, the vehicle page says so in words (which job is not on the bill yet, why, and how many attempts) instead of waiting silently, and that job's Discount row reads "This job is not on the bill yet" until it lands. To remove approved scope from an unsettled bill, use Revise approved work and review the replacement before applying it. If the invoice was already signed, the signature clears so the customer signs the changed bill. Jobs already paid on an earlier invoice show a Paid marker with that invoice number on the vehicle page, so they never look missing from the current bill. Discounts carry with the work: every approved estimate's discount lands on the bill, so approving an add-on never erases a discount from an earlier estimate.

Invoice assembly is retry-safe. If a request or worker stops after the approval is saved, CarSignal resumes the same visit bill instead of creating a second draft or losing the approved work. A payment and an approved add-on are serialized too: a bill cannot be marked paid against an older, smaller total, and a paid invoice is never rewritten.

Record approval shows the selected work with tax and fees before you confirm, including when the estimate was never sent. When the visit already has an open bill, it shows what this approval adds to that bill: shop supplies are charged once per visit up to your cap and the environmental fee once per visit (a flat fee once; a percent fee on the bill's parts under its maximum). Estimates follow the same rule, so a later estimate on the visit already leaves those fees off: its Environmental fee row reads On this visit's bill, its total is exactly what approving it adds, and a second bill on the same visit (after the first one was paid) never charges the fee again. A new visit on the same car starts over. A value you set by hand on the bill stays put when more work joins (the dialog prints that number with the word Edited, never a cap note), and a discount on the whole bill reaches the new work in this forecast exactly as it will on the bill (a $270 job joining a bill with 5% off adds $256.50). This only ever lowers what a later approval adds compared with the quote's own fee lines; nothing already approved goes up, so no re-authorization is involved. If a figure moved while you were reviewing, the message names it (Tax moved from $13.35 to $13.60) and you confirm once more; a version change with identical money records without a second step. Shop Brain can take you to this review; a conversational yes by itself does not record the approval.

Discounts live in two places, and both open the same small dialog. A job can carry discounts: the quiet Job discount word sits in the card's footer line, beside the line counts and the job type, and each discount you add shows as a Job discount row above the job total (with Edit). Several stack in order, each on what is left. The dialog is already scoped to that job: a name (required, it prints on the estimate and invoice), an amount, percent or dollars, what it applies to (All, Parts, Labor or Fees), the eligible amount, and a preview of the discount and the new job total. All means parts, labor and charges; tax is never discounted. A charge's discount has no Applies to choice; it reaches the charge. The RO can carry discounts too, and they edit in place: the Discount button beside Add job opens the RO discounts editor under the Jobs header with one empty row: the name (required, it prints), Percent or Dollars, what it applies to, the amount, and what it takes off beside it. A percent row can carry a ceiling, up to $: "10% up to $50" never takes more than $50 off the whole repair order, split across the jobs by size (leave it blank for no cap). Add discount is a small menu: the shop's discount presets first (picking one loads a filled row with its name, method, target, amount and cap), Custom discount last for an empty row. Save commits the rows together, Cancel leaves everything as it was. Save never exits quietly: a row with a name but no amount, or an amount but no name, holds it, and a red line under the rows says what is missing. The × on a saved row removes it and saves in the same step; on a row you have not saved yet it just clears the row. With two or more saved, a quiet Remove all at the footer's left takes them all off after a confirm. Saved, each RO discount reads as one small lifted row under the Jobs header ("RO discount · Military 10% −$10.20 Edit", "10% up to $50.00" when capped); Edit reopens the editor on that row. With none set, nothing shows there and the Discount button is the door. The RO discount has one edit home, that band; everywhere else it is read once. The money rail shows one Discounts figure per document (hover or tap it for the breakdown: each job's own discount and the RO's share), with no repeat under the job rows. Inside an open job the RO discount share row prints only when the rule is split across more than one job, where the share is a fact of its own; with one job the band already says it. Every job's footer, draft or approved, offers that same quiet Job discount word for its own deal; there is no Discount button on the job itself. When the visit has both work being quoted and an open invoice, one RO discount reaches both: the same percent on each, or a dollar amount split between them by what each can still discount, so $50 off the RO is $50. It applies to every job that has no discount of its own, on the estimate and the bill alike, including work approved or added later (a draft that is missing the RO discount the bill carries picks it up the next time it re-prices). A collapsed job reads like a price tag: the list price struck through beside what the customer pays after every discount. Open the job to see where the discount comes from: its own discount rows, or, when the RO discount is split across several jobs, an RO discount row for this job's share (Edit opens the band). A job with a discount of its own keeps it and the RO discount skips that job. The money rail, the Send sheet and the invoice page show one read-only Discounts number per document; hover it in the rail to see what it is made of, each job's own discount and the RO's share. Typing only moves the dialog's preview; Save discount commits, Cancel leaves everything as it was, and Remove discount clears it. Lines print at list price, a job's discount prints once under its lines, the totals show one Discounts line, and a job's total is its price after its own discount. Every change saves instantly, on approved work too. A dollar discount spreads across every priced line it reaches, parts, labor and charges alike (a shop-added charge included), by size and exact to the cent, so the rail, the PDF, the customer page and the phone all show the same amount off. A dollar amount larger than what those lines can absorb is refused with the most they can take, and a discount that would reach nothing (every job already has its own) is held with the reason instead of saving silently. While the bill is still the shop's working document, a change that takes an approved job above the price the customer approved only notes it on the job's activity. Once the customer holds the bill (sent, or signed at the counter), the same change asks for the customer's recorded OK first, like any other raise; adding or deepening a discount never asks.

Shop supplies work the same way: open the bill and edit or remove them at any point before the invoice settles, even after the work was approved. Click the Shop supplies line (or open the invoice panel) to change the amount or waive it; tax recomputes and your change sticks. The bill will not quietly re-add the fee when more approved work lands on it. An amount you type is charged as typed: your shop's percent and its per-visit cap apply only to the computed fee, so $30 typed on the estimate preview reaches the bill as $30. The bill's row then reads the number and the word Edited; the cap and your shop rule show in one line inside the Edit sheet, nowhere else.

The environmental fee has the same door. Click the Environmental fee line on the bill (web or phone) to set the amount by hand; tax recomputes. A fee you set on the bill is the visit's fee: a later estimate on the same visit shows no environmental fee (its row reads On this visit's bill), and when the customer approves that work the bill keeps your amount instead of snapping back to the shop rule. Lower it freely; raising it on a bill the customer already has asks for their OK, and any change on a signed bill clears the signature so they sign the new amount. Reset to shop rule clears your hand-set value and prices the fee from your settings again. Both doors stay open until the invoice settles.

Payments after a refund

The bill separates Payments received, Refunded, and Net payments. If a refunded amount was paid again and the invoice is covered, it shows Paid in full. Refund history stays on record. A refund on a settled receipt does not reopen it for collection or unlock its original prices and notes. New work is billed separately.

What is on it

Line notes saved through Revise approved work appear beneath the job on the customer's invoice and PDF. Updating a note replaces its earlier text; it does not change payments already recorded. Confirm the revision to publish the change; typing into the editor alone does not update the invoice.

Sequential invoice number, your shop's legal identifiers (Tax ID, BAR number, license numbers from Settings), bill-to, the vehicle with mileage in and out, itemized parts and labor, environmental fee, tax, your shop note, and your warranty and terms text (the invoice Fine print from Settings: CarSignal's warranty, payment-terms and storage paragraphs until you edit them, nothing if you clear the box; Start from a template adds more boilerplate to fill in). Which line facts print is your call: What customers see (Settings > Quotes and invoices > Customer documents) decides whether the invoice shows labor hours, the labor rate, part numbers and the technician's name. A part's brand is part of its name and always prints. Money never hides; a hidden labor rate still shows the labor amount. Statutory notices print where states require them. The shop's own preview carries a blank customer-signature and date line, so you can print the invoice and have the customer sign on paper at the counter; online, the customer signs from their copy of the link. Preview invoice opens in a window right over the vehicle page, never a new tab, with Save PDF in the toolbar. The saved PDF is the document you print and hand across the counter, and it closes with your shop name, phone, and legal identifiers. Once money has been taken it also carries a Payments record: each payment with its date and method, any refund, the total paid, and the balance due (or Paid in full), the same figures the customer's invoice page shows.

Sending

The web bill keeps a verified balance visible during routine background checks. If payments cannot refresh, it shows Invoice total instead of an old balance. Choose Refresh balance beside the message to retry. Collection stays blocked until the current payments are verified; your recorded payments are not changed.

The first Send invoice click in the vehicle's money rail opens the invoice terminal. Review the bill and delivery method there, then send. Opening the terminal alone sends nothing.

Send is instant. The window closes on the press and the rail shows the invoice as sent with one line that stays put while it goes out: "Sent 2:14 PM · not opened yet". When the customer opens it, the line reads "Sent 2:14 PM · opened". From the next day the stamp is the day alone ("Sent Oct 20 · opened"), one line that never wraps; hover it for the exact times. The text and email go out behind that; a channel that does not reach the customer lands on the job's timeline. If the server refuses the send (the bill changed under you, a missing field), the rail goes back to where it was and a notice carries the reason with a Reopen word that opens the same window with the same choices. Pressing twice never sends twice.

The invoice email follows the same branded layout as every customer email: your logo (or shop name) and address at the top, "Your invoice is ready" (or "Payment received" on a receipt, with each payment leg listed, store credit included), the car in bold, a PAY NOW or VIEW RECEIPT button, the total or balance under it, and your address, phone and email in the footer. A customer who replies to it lands in their email conversation in Messages. When a send names an extra recipient that cannot be reached, the send says so at once ("Not sent to ops@fleet.com: ...") and the job's timeline reads "Sent to Maria · 1 recipient not sent" instead of claiming it went.

Send by text, email, or both from the vehicle's invoice panel: two rows, Text and Email, each with its own tick and the customer's live number or address under it; a customer with no email keeps the Email row with a quiet Add email that saves it to their record in place. Add another recipient sits under the rows for a one-time extra phone or email; each one you add becomes a row like Text and Email, ticked to send, untick to leave it out this time, x to remove it (on the quote and receipt sheets it is a ticked bubble beside the Text and Email bubbles). Invoice display settings in the window's three-dot menu opens the four switches (labor hours, rate, part numbers, technician) for this invoice only, pinned on the rail; the preview repaints the moment a switch flips. Send to another person: add a phone or email for this send beside the Email and Text choices (up to five; each gets the same invoice and link, and the job's activity records who it went to). Before anything goes out, a compliance check blocks the send if required fields are missing, so an incomplete settings page cannot produce a non-compliant invoice. The invoice window says so in one orange callout, Can't send the invoice yet, listing every missing item in full on its own line (license plate or VIN, odometer reading at check-in, the customer's name, a shop identifier). Add missing details opens the Edit vehicle screen with the missing fields highlighted (Plate · required, VIN · required, Mileage · required); Save, Cancel or closing it bring you straight back to the invoice window, which asks the server again, so the callout only goes away once the server agrees the invoice is ready. Shop identifiers (name, address, BAR, EPA) have their own Add in Settings link. Technician assignment never blocks a send: it stays with the job, and when the vehicle has an assigned tech, unattributed billed jobs pick that name up automatically at send. Contact details refresh from the client record at send time. One more check before a bill is first issued: if it carries no sales tax while your shop charges tax and the customer is not tax exempt, the window shows No sales tax on this bill and the send waits until you tick Send without sales tax (the mobile app asks the same question). The usual fixes are to rebuild the bill from its jobs or mark the customer tax exempt on their client page; if you issue it without tax on purpose, the job's activity records who did and roughly how much tax was left off. The odometer reading is frozen onto the invoice the moment it is first issued, so later vehicle updates or the next visit's check-in never change what an already-sent invoice shows; if no reading was captured, drafts say "Not entered" internally and customer documents simply omit the line rather than showing a false zero.

Net terms and fleet accounts. If the client has payment terms set (Net 7–60), sending stamps a due date and the invoice reads "Net 30 · due Sep 12" instead of "Due upon receipt." The workflow for a fleet job: send the invoice when you close the job and mark it paid when the check actually lands. In between it is a receivable, visible in the daily close. Revenue always counts on the day the money arrives, so a Net-30 job never inflates today's numbers. An invoice can also carry the fleet's own PO / authorization number, shown on the document and searchable; a PO entered at check-in is copied onto the bill the moment it is created, so it is already there when you send. The PO is a visit fact: set or change it on the visit line (check-in's Add PO number, or the quiet PO line under the customer's name on the vehicle page) and the open bill follows it; the invoice header only shows the number, and shows nothing when there is none. A bill already paid keeps the PO it was paid with. Either way the change is written to the invoice and audited.

Signatures

An online payment is tied to the invoice version and balance the customer reviewed. If the bill changes, old online Checkout sessions must be closed before the change can apply. If a payment is already processing, CarSignal waits for its confirmed result instead of collecting again. The customer can reopen the invoice link for the current balance. If payment history cannot be verified, the page explains why payment is paused and offers Refresh invoice; it never treats an unavailable history as zero paid.

Customers sign before paying the final balance online: a typed name plus a drawn signature on the invoice page, with the signature metadata recorded. Your Approval terms for invoice signatures (Settings, Quotes and invoices) appear as checkboxes above the signature, on the customer's link and on the counter pad alike (web and phone); a Required term holds Sign invoice until it is ticked, and the ticked wording is kept with the signature and listed as Agreed: lines in the authorization record. Signing does not wait for a Send: a bill the customer reached before you sent it (a pay link, an account statement) is issued the moment they sign or pay it, so there is never a bill they can see but cannot sign. The same completeness check that gates Send runs first: a draft still missing its vehicle VIN or plate, odometer, shop identifiers or itemized repairs is not issued by a signature; the customer sees "The shop needs to finish this invoice before it can be signed" and the refusal is recorded on the bill's activity so you know what to fill in. For money collected in person, a signature is optional: Record payment always works, and an unsigned final payment is recorded as taken without a signature, with the staff member, time and exact invoice version. It records payment, not customer approval of work, and does not mark the invoice signed. If you want a signature on file, use Sign here in the payment panel (the customer signs on the invoice preview itself) or send the invoice for signature first. A partial deposit can be collected before signing. If the bill changes after it's signed (you add a charge, apply a discount, or approve more work), the signature clears and the customer signs again for the new amount, so a signature always matches the bill it authorizes. Resend the invoice to ask for that fresh signature; the vehicle page shows "Bill changed after signing" until it's re-signed. On the invoice itself (the customer's page, your invoice window and the PDF) the drawn signature prints on a signature line at the bottom of the bill, scaled to the line rather than as a thumbnail, with the signer's name and the date under it, and Signed in shop when it was recorded on your screen. Every signature and approval behind a bill stays on file: the Authorization row under the invoice's status (vehicle page, invoice window and the phone) shows who approved and signed, with a thumbnail of the drawn signature, and opens the full record with Download record (PDF) (see Customer approval).

A charge you add to the bill yourself after approval (a storage fee, a sublet) prints Added by the shop with the time under its line, never the customer's approval line: they did not see it when they said yes, so raising the bill that way still needs their OK recorded before it reaches an issued bill. Every amount you type (a charge, a discount, supplies, the environmental fee, a line price) is accepted to the cent, up to $999,999.99; a typo past that, or a fraction of a cent, is refused with the reason instead of landing on the bill.

Revising an approved job

On the web vehicle page, revisions open inside the job or charge card, not in a modal. Edit, review, and confirm in that same space. The job stays open while you revise it; Cancel returns to the expanded job without applying your changes.

After you confirm, the job returns to its normal card with the applied lines in place, marked as revised (your reason shows when you give one; it is optional). You can still add parts, labor, or charges to an approved job (PartsTech orders land as usual): the line goes on the job and Revise approved work opens right away with it staged. Record the customer's OK and confirm to put it on the bill; cancel the revision and the added line is removed again, so nothing sits on a job unbilled. The original approval is untouched either way. The confirmation screen itemizes the new invoice total, including any carried discount, shop supplies, fees, and tax.

Regular jobs keep the familiar parts and labor grid, Add line, and title editor in the header. A part picked from a slot keeps its Change part door inside the revision (the Change part word at the end of its row's sub-line, or its row menu): the same row of your suppliers' parts opens under it with a chip per vendor, every warehouse included, and Update stages the swap on the revision at the new part's price; the review lists it as Part changed: Wix 57189 -> Baldwin P40104, $33.41 -> $31.70, a dearer part asks for the customer's recorded OK like any raise, and the old part leaves the PartsTech cart only when you apply. An ordered part never swaps. Already-loaded lines are editable immediately while the saved revision is checked in the background; typing stays in place. Diagnostic jobs show Customer and Findings. Routine services do not gain a separate work-notes field when revised. If the job already has a saved customer-facing writeup, it remains editable under Invoice writeup. Vehicle tech notes and invoice notes stay in their existing editor.

There is no separate review screen: the editor is the whole step. Under the grid you see the job's Approved and Proposed figures with the change (the job's own subtotal, before any bill-level discount) and, once the server has checked your edits, the invoice before and after. Cancel exits without applying anything. When the revision raises the approved amount, the footer offers two doors. Send for re-authorization texts or emails the customer "Hi Sarah, the Brake pads on your 2019 Honda CR-V changed. Please review and approve: [link]"; the link is their own page for the change (what changed, the job's price before and after, the invoice before and after, your approval terms, Approve with a signature or Decline), and their signed approval lands the record and updates the bill, exactly as a first approval does; afterwards they get "Thanks Sarah, the change to the Brake pads is approved. We're on it and will text you when it's ready." and their page lists every job approved on the visit with the visit total. Record approval opens the counter screen a first approval uses: who said yes, in person, by phone or by text, the customer's drawn signature when they are in the shop, your approval terms, and the amount they are agreeing to. Both doors open with the same two lines: the job before and after ("Brake pads: $192.50 to $222.50 (+$30.00)") and the invoice before and after. Nothing about who approved is typed in the editor; pressing a door checks your edits first (the pressed button says Checking), and the note is optional: Add a note in the footer opens one line for the job's history. Until the customer answers the job reads Re-authorization sent and the bill keeps the previously approved amount; you can still Record approval meanwhile on the same screen, send the link again, or withdraw the request. A revision that lowers the amount (a cheaper part, fewer hours) applies in one step: Confirm changes needs nothing else. The same two doors sit beside it as quiet options: Send updated quote sends the customer a new version of the estimate with the lower total (the previous approval stays on record for the work and amount they already agreed to; approving the new version takes its place, and declining it changes nothing), and Record approval notes who agreed to the lower amount and how. While an updated quote is out the job reads Updated quote sent with Resend and Withdraw request.

Open Tax & notes on a part or labor line for the customer note and to see whether the line is taxed: parts always are, labor follows your shop's labor-tax setting, and only charges carry their own taxable choice. Change a part's condition using its inline New / Used / Rebuilt / Reconditioned selector, including when adding a part. The revised condition is saved with the replacement document after confirmation. The draft job total is a preview; the bill and recorded payments do not change until you confirm. Parts ordering remains separate from revision editing.

Adding a charge opens its form in view, outside the scrolling line table. Add charge puts it in your revision; Cancel leaves the other edits alone. The revision's doors return when you finish that entry.

A discount on an approved job is not a revision: the job's Discount row opens the discount dialog and the new price lands on the bill right away; the Discount button beside Add job handles the whole bill the same way. Add, adjust or remove a discount at will, at either level, while the bill is the shop's working document: nothing asks for the customer's OK, and a change that takes an approved job above the price the customer approved is noted on the job's activity, so the trail is there if the customer asks. Once the bill has been sent or signed, removing or shrinking a discount that lifts an approved job above its approved price asks for the customer's recorded OK (name and how they agreed) before it lands, and any money change on a signed bill clears the signature and asks for a fresh one. Use Revise approved work on the job card to change a charge, part, labor line, or customer-facing writeup. Make your edits, then press a door: Confirm changes on a reduction, Record approval or Send for re-authorization on a raise. The original approval and billed amount stay unchanged until then. The figures under the grid show the old and new job subtotal and, after the check, the invoice before and after. A discount already on the bill rides through the revision, recomputed from the new lines; a revision never adds a discount on its own; to add one, use the job's Discount row. A door press saves your edits and checks them in one step. An increase needs the customer's recorded or signed approval; reductions still get a recorded revision, without asking for new price authorization. Discounts stay outside all of this on the working bill: removing or shrinking one saves at once, even on approved work; on a bill the customer already holds, a raise above the approved price asks for their recorded OK in the discount dialog itself. Escape or Cancel closes the dialog without changing anything.

On the web, description, quantity or hours, rate, and tax stay together. Line details holds cost, discounts, and notes for parts and labor; Customer-facing writeup opens the job's text. A standalone charge keeps its Fixed amount / Quantity × rate, unit, internal cost, tax, and customer notes visible. Changing the price type keeps the same amount; changing the price still goes through the editor's doors. Existing discounts stay attached.

An already-loaded charge opens inline with its fields ready to edit while the saved revision is checked in the background. Your typing stays in place. The doors become available when that check finishes; conflicting changes never replace another advisor's work. The editor expands and closes smoothly, or immediately when reduced motion is enabled. Cancel does not save your edits.

Cancel leaves without applying or saving local input. Previously reviewed edits can remain in the shared working copy; cancelling never deletes another advisor's work. There are no save-draft or restore choices. If another advisor changed the revision, your input remains visible until you cancel and reopen the latest version. If confirmation loses its response, pressing the same button again (Confirm changes, or Record approval on the counter screen) checks the same request; editing and leaving wait until its outcome is known. A temporary opening failure offers Try again. Missing historical approval details still need verification; retrying does not invent them.

Only that job changes. Other jobs on a partly approved quote remain available from the customer's existing link. The original approval stays on record and the current job shows the applied revision. A changed signed invoice needs a fresh signature. Cancelling a revision leaves the approved work, payments, and original parts-order records alone.

Marking a vehicle picked up with unfinished work sets that work aside (deferred), and the bill stops charging for it in the same step: a job leaving a bill that keeps other work is removed from the issued bill (recorded as scope removed on the bill's activity; a signed bill loses its signature and the customer signs the new amount), and the last job leaving an unpaid bill voids that bill. Money already collected against work you are setting aside is never kept silently: pickup refuses until it is refunded. Picking up a vehicle does not settle its bill. An invoice that has never been fully paid can still be revised after pickup, including when a partial payment has been collected. Once an invoice has been fully paid, its prices remain frozen even after a refund; use a separate bill for new work. Older records whose original approved scope or fee cannot be verified are held for review rather than recalculated using today's prices.

Adding a charge after approval

Customer concerns get their own boxed section near the top of the invoice: every job's concern listed together, so a customer with several complaints reads their whole story in one place instead of hunting through the line items (findings stay with their job). On the vehicle page, one click on Tidy for the customer under a job's raw notes drafts a clean professional version, shows it for a quick edit, and Apply makes it the job's customer text, the one that prints as the concern. The customer's original words stay one tap away behind View original (and Use original switches back). Below the job list, suggestions from the customer's notes appear on their own: any complaint that has no job yet shows as a click-to-add row quoting the customer's words, and when everything is covered a quiet line says so. It only ever suggests what the customer actually said, and nothing is added without your click.

Opening an invoice (the INV number, invoice status, or first Send invoice action) opens its command center: the document on the left with Print and Download above it (both produce the packet PDF, which includes the payments recorded so far and the remaining balance), and collection on the right. The right side reads top to bottom: the balance (with the signature line under it once the customer has signed: who and when), Send by with an Email and a Text pill showing the address each one goes to (turn both off to issue in person and print; a customer with no email or phone gets a quiet Add email or Add phone word beside the greyed pill that saves the address in place), then one quiet line, "Customer sees: labor hours, rate, part numbers", with a Change word that opens the four What customers see switches (labor hours, labor rate, part numbers, technician name) for this invoice only: flip one and the invoice page and PDF follow it at once, your Settings and other invoices do not change, and a resend keeps the choice, Attachments with its count and + Add, + Add a message for a note that prints on the invoice and rides the email, and a collapsed Activity row that opens the feed of sends, views, and every payment and refund. The buttons sit at the bottom: Send invoice (it becomes Send payment reminder once the customer has seen or partly paid the bill), Record payment, and a quiet Send payment link instead. Rare moves (refund, void, mark picked up) live behind More next to the balance. On an unsettled bill, Edit beside Shop supplies opens that editor directly; discounts are changed from the job cards and the Discount button beside Add job. Nothing changes until Save discount or Apply; Cancel leaves the bill alone. Apply or cancel before sending or taking payment. Raising an approved amount through a revision still requires recorded re-authorization (discount changes do not), and changing a signed bill still requires a new signature. A previously paid receipt never offers price editing, including after a refund. Draft invoices use this same terminal before sending; nothing is sent until its Send invoice control is pressed.

Mark as picked up checks the visit's bill first. If finished work still sits on a draft that was never issued, pickup asks you to issue it in person (one confirm; the bill then shows as owed on the customer's record and statement) or stops until you send it. A draft a past visit left behind still counts toward what the customer owes until it is issued. If an issued bill loses jobs at pickup (deferred work), the invoice's activity records which jobs left and that the signature was cleared.

The command center is live while it is open. When the customer signs on their phone, pays online, or opens the invoice, the document on the left, the balance, the Signed line, and the Activity feed update within a few seconds with no refresh. The same goes for the invoice card on the vehicle page.

Storage fees, a sublet bill that landed late, anything that has to go on a bill the customer already approved: add it as a Charge on the vehicle page (the same + Add a job window, Charge type). Pick a preset first if one fits: Storage starts per-day (enter days and the rate), Sublet adds a vendor-cost field so the markup shows in your profit (the customer never sees your cost), Disposal names a flat fee, and Other is the blank form. Then pick Flat for a single amount, or Per unit for anything counted: days of storage, tires, miles, hours. Enter the quantity, the unit word, and the rate, and it all lives on the line itself: the quote, invoice, and PDFs print the math ("3 days × $150.00") and adjusting the quantity on the job recomputes the total. Every charge also takes an optional detail line the customer sees under it ("Storage while awaiting insurance approval", what the sublet shop actually did). The estimate, the invoice and both PDFs print a charge the same way: its name, one row per line (a per-unit row with its count, unit word and rate, the way labor prints its hours and rate; a flat row as the bare amount), its Discount row, its subtotal. The charge appears in the pending zone like any other work; Record approval puts the selected charge on the bill, and the living bill absorbs it into the open invoice. One path for every charge, before or after approval, and the approval is recorded like any other. On the vehicle page a charge is one compact row: its name, Draft, Awaiting approval or Approved, a quiet word (Charge, a per-unit charge's "3 days × $150.00", or a sublet's Sublet · vendor · Sent), Decline and Approve while it is unapproved, and the price. Under the row sits a Discount tag: click it to discount this charge (the same discount dialog every job uses), and once a discount applies the tag reads it out, "Discount · 10% · Loyalty Edit −$18.00", with the list price struck through beside what the customer pays on the row above. There is no discount field on the row itself and none in the charge form. Clicking the row opens the charge form under it (name on the bar, Flat or Per unit from one menu, cost, tax, note; Remove at the form's left); an approved charge's row opens the same revision shell a job uses.

Reopening a paid invoice

A paid bill is a sealed receipt, but mistakes happen after the money is taken. Reopen for changes (in the invoice window's ... menu on a paid bill, admins only) unlocks it like any open bill: its jobs come back from Past work onto the vehicle page, the parts and labor are adjustable again, and new charges or discounts land on the same document. Nothing changes just because you reopened: the signature stays, the receipt stays, and every edit is logged with your name. A bill stays settled after a refund, too: the refund shows in its payment history, but the prices do not move and new approved work goes on a new bill. To correct a refunded bill, reopen it the same way.

Money follows the changes. If your edits raise the total above what was collected, the bill becomes payable again and shows the new balance; a signed invoice asks for a new signature, because a signature attests to the amount signed. If the total stays covered, the bill stays paid.

Lowering the bill below what was collected asks for the refund first: the review step names the exact amount and opens Record refund for you; once the money is returned, the change applies. A refund never interrupts the editing session.

The session closes itself when the money squares: collecting a raised balance, or a change that lands with the bill fully covered, returns the jobs to Past work and the receipt to the rail. Close reopen is there for when you looked and changed nothing.

Fixing a wrong invoice

If a manual refund loses its response, reopening Record refund recovers that original request with its amount and receipt choice locked. Retry original refund checks or completes the same request, even when the latest refundable balance is zero. Do not hand money back again just because the connection failed. A confirmed result clears the pending request before another refund can be entered.

Record payment never opens a popup: the right side of the invoice window switches to the payment panel while the invoice stays on the left. Under the Record payment / Send payment link switch it reads top to bottom: Payment details with the amount you are about to record, the balance after recording, the method (cash, card, check, other) and a note field (the check number when the method is check); when the customer has store credit, one row above the method reads Store credit · $35.00 available with Use it (off until you choose it): on, the row reads Store credit · $35.00 applied with Remove, the credit pays as much of the balance as it can and the Amount holds the rest for the method you pick, the button reads Mark paid · $352.70 (or just the credit when it covers the bill, with the method row reading Covered by store credit), and recording writes two payments, Store credit and the method, in that order, so the receipt, the payment history and Financials name both. Use it and the amount are one choice for the whole panel: Send payment link shows the same row in the same state, the Amount stays the method's share, and Balance after counts the credit on both tabs; Signature; and Receipt with the send-by picker. Blank amounts and amounts above the balance cannot be submitted. If the invoice is not signed, the Signature section says Not signed yet with two quiet options. Sign here scrolls the invoice preview to its signature line, where the customer confirms the total, draws their signature and types their name on the bill itself; the panel shows "Customer is signing on the invoice" with a Cancel until they finish, and Escape on the invoice cancels too. Send the invoice to sign sends it to the customer; a draft invoice offers only that option. Recording the payment is never blocked by either, and neither one records money. Once signed, the section reads Signed by the customer's name with the date and time, in the payment panel and on the invoice side alike. After a payment lands the panel returns to the invoice with the new balance and the payment in Activity. Back to invoice leaves without recording anything.

The invoice rail has an Invoice signature row under Send by: one button, Sign here, for the customer to sign on the invoice shown at left; once signed it reads Signed · Oct 24 (and Bill changed after signing when a later change cleared the signature). The other way to a signature is simply Send invoice: the customer signs on their phone. Sign here waits for the issue requirements; the orange callout above names what is missing. Once signed, the button goes away. Record payment shows only the signature fact with a single Sign here link.

Sign here works on a draft too: it issues the invoice in person first (no text or email goes out, no print dialog), then scrolls the document to its signature line for the customer to sign. The status pill on the window header reads Signed once a signature is on file.

Directly under Invoice signature sits the Repair authorization row: the newest fact on the right (Signed Oct 21, Approved Oct 20) and a chevron that opens the Authorization record (see Customer approval). The record is the signature and the one sentence they signed, with who, how and when: one clean page naming the invoice, the customer and the car, then for each authorization the work it covered with the amount, one line like Approved by Maria R. · online · October 21, 2026, 3:12 PM, and the drawn signature with the sentence the customer confirmed under it. An approval with no signature (one you recorded by text or by phone) shows its one line of evidence instead, like Approved by text from (805) 910-0218. Network details a dispute may need sit under Details in the app; they never print. The window's three-dot menu holds the choice for this invoice, Include authorization record with invoice (off by default, which keeps the record in your account). On, it sends that page as a PDF with the invoice email beside any attached files, prints it after the bill on the customer's invoice page and in your Invoice preview, and ends the invoice PDF (Print, Download, the packet) with the same page. Flip the choice and the preview, Print and Download follow at once. The Customer sees line does not mention it; this choice under the row is its only home. Nothing on the paper is a link: each job's approval prints as one plain line, Approved by Michael M. in person · Oct 23, 2026, 12:25 AM · $318.71. The choice stays with the invoice when you resend it, and Record payment no longer shows the authorization row: it belongs to the invoice, not the payment.

What prints a status on paper. The invoice PDF, the customer's invoice page and the preview on the left carry a status pill only when it changes what the paper means: Signed, Paid, Partially paid with the balance due, Void, Refunded. A draft or a sent invoice prints no Draft or Sent word, so what you hand over reads as the invoice it is; an estimate prints Approved or Declined and nothing while it waits. The Draft / Sent / Awaiting payment words stay in the app's cards, rails and the window header, where you need them.

While an invoice is issued and unsettled (sent or issued in person, not merely holding a deposit), the vehicle's year, make, model, VIN, plate and check-in odometer are locked everywhere, including the mobile app: the invoice prints them, so the database refuses the change and names the invoice. Void or settle the invoice to change them. Filling a blank field (a car that had no plate or no odometer on file) is still allowed, and the pickup odometer stays editable.

On the web, refund and receipt delivery each open one focused dialog. Escape or Cancel takes you back to the bill. A failed invoice send stays visible in the bill panel so you can fix the destination or retry without hunting for a vanished notification.

For a correction to approved work, use the revision flow above. Void & rebuild is for replacing an invoice with no money still held: the old document and reason stay in the audit trail, and the new draft uses the recorded approved scope. Voiding a sent bill resets the window to a fresh draft of the open work; the voided bill stays in the visit's history. The window you had open stays open: the paper on the left becomes the new draft (no signature, no payments, a draft total), the status reads Draft, and Send invoice and Record payment are right there, so you carry on from the same screen. When nothing is left to bill, the window closes with "Invoice voided. Nothing left to bill." The same happens in the app. Voiding also closes the customer's link and clears any signature on the bill: the old link stops showing the invoice (it says the invoice was voided, names your shop, and offers Call and Text), its PDF is gone with it, and the new draft starts unsigned; a text or email already delivered cannot be unsent. Voiding never authorizes extra work or changes a previously paid receipt.

Money is the guardrail: an invoice holding any payment, even a deposit, cannot be voided until that money is refunded. Record a cash/manual refund from the invoice panel; refund CarSignal Payments online payments from the same Record refund dialog, and Stripe payments through Stripe. Once all held money is returned, the invoice panel says All payments refunded with a Void invoice button right there. The balance shown until then is the document's, not a new debt. Voiding retires the document; its payment and refund history still cannot be permanently deleted.

Refunding a deposit on an unsettled invoice reduces the money held and increases its remaining balance. The original payment stays in history with a separate refund, including refunds of online deposits. A refund after full settlement is different: the paid bill stays a closed Refunded receipt, showing payments, refunds, and the net money received. It does not automatically create a new amount to collect. Use a separate reviewed bill for a new charge, rather than rewriting a paid receipt.

If recording a payment or refund loses its connection, retry the same request in the same app. The retry resumes the original transaction instead of recording the money twice. Two people collecting at once are checked against the current balance; an amount above what remains is refused. Receipts and bookkeeping retry separately after the money is saved.

Verified vehicle balances

The vehicle workspace loads the invoice total and its recorded payments together, including deposits on draft invoices. Returning to a vehicle does not briefly treat existing payments as zero. Web and mobile recheck the balance when payment history changes.

Returning to an already-loaded web tab keeps the balance and payment breakdown in place while checking in the background. A slower routine check does not replace them with a loading message. Collection still waits for the check to finish. A payment change or failed check is shown explicitly.

If verification is unavailable, the workspace labels the amount Invoice total or Last confirmed balance instead of calling it the current balance due. Recording money waits for verification; existing invoices and payment records are not changed by this check.

Imported ShopBoss paid invoices keep their original totals and paid status. When receipt details were not part of the import, web, mobile, and customer copies show Imported paid record instead of a payment-loading error. This does not create payment records or enable collecting or refunding an unverified historical amount. Customer history lists continue showing the original paid document totals.

Closed zero-dollar invoices without payment rows show No-charge receipt. No payment was required, and no payment record is invented. Their original totals and closed status stay intact.

Counter sales (no vehicle)

Selling a part off the shelf or ringing up a quick charge? Open Sales from Inventory and hit New sale. Add parts and labor lines with no vehicle or VIN required.

Search your inventory right in the composer to drop a stocked part onto the sale: the price fills in and its on-hand count shows (with a warning if you're selling more than you have). Paying the sale deducts those parts from stock; free-typed lines that aren't from inventory don't touch it.

Attach a customer if you want by searching your existing clients, or just type a name. A phone or email (neither is required) lets you text or email the invoice. Tax applies at your shop rate.

Take payment right there: Mark paid for cash, text or email the invoice (it picks the method from whatever contact you have: phone texts, email emails, both sends both), or Copy pay link for a page they can pay online.

Send pay link (a deposit or any amount up to the balance) needs four things, the same on web and in the app: a connected Stripe account, your shop business name in Settings, work on the bill, and a way to reach the customer (texting set up plus a phone number, or an email). If one is missing, the reason shows in words right under the button instead of a greyed-out control, and the app gets the same reason when it tries.

The Sales page keeps the list of pending and completed sales, so you can come back to one to take payment or resend. A counter sale is a normal invoice underneath, so it counts toward your revenue in Financials. It just isn't tied to a car.

Next: Getting paid.

Heads up

Customer invoice links expire after 60 days. An expired link shows the customer a screen asking the shop for a fresh one; just re-send.

Attached files

The invoice rail's Attachments row reads Attachments · 0 · Add file until the car has files; it lists the vehicle's file library, live, once it does: a file added in the Notes strip or the quote rail is listed here the instant its upload starts and is tickable once it lands. An upload that loses its connection resumes from where it stopped instead of starting over, on the web and in the app. Tick what should ride this bill and it goes out three ways: on the email as real attachments (each file is also named and linked in the email; a file over the 20 MB email cap rides as its link), as an Attached files list on the customer's invoice page, which the text message links to, and as exhibit pages in the PDF packet after the signature. Picks from the quote do not carry over automatically. Adding or removing a file never clears the customer's signature (it attests to the amount and the work, not the attachments); the Authorization record notes the file and the time instead, and a paid bill keeps its files as they were. The job's timeline names the files that went with each send. The Authorization record is not a file in this list: its own Repair authorization row above Attachments has the same tick box, and when it is ticked the record PDF rides the same email and closes the same packet.