# myodo

> Shop management for independent auto repair shops.

Staff help for the shop workspace.

# Scheduling and managing jobs

**Schedule** is the day-and-bay calendar for open jobs. Open a job from the
board and it stays available as a tab at the top of the app so you can jump
back without losing your place on Schedule or Inbox. Use the list view when
you want a simple upcoming or past list instead of the board.

## Creating jobs

Open **New job** from the sidebar compose button, or click an empty slot on
the schedule board. A board click prefills that time and bay. Otherwise the
job can stay unscheduled until you place it later.

1. Search or add a customer, then choose or look up a vehicle. Plate and VIN
   lookup fill year, make, and model when they can. If a VIN is missing or won't
   decode, enter year, make, and model by hand and save.
2. Choose **Create job**.

Work is built on the job page after create (tasks, labor, parts, and sublets). Set your
default labor rate and parts tax under **Settings → Invoicing** before you
build estimates. Tax applies to parts and sublets unless you turn **Sales tax**
off on that line. Add a
warranty on the same page to print it on estimates, repair orders, and invoices.

On the job page, use **Edit vehicle** for year, make, model, trim, transmission
style and speeds, plate, date of manufacture (MM/YYYY), and oil interval. Use
**Change vehicle**
to point the job at a different vehicle for that customer. When a vehicle has no VIN, the props
rail shows **Add VIN**.
Part search and Labor Guide warn that fitment uses year, make, and model until a
VIN is set.

California shops: under **Settings → Details**, enter the BAR registration
number (ARD) so it prints in the footer on estimates, repair orders, and
invoices with the shop name. Add an EPA ID there before charging a hazardous
waste disposal fee on a job. The EPA ID prints in that same footer. Part lines
include a condition (New, Used, Rebuilt, or Reconditioned).

## Sublets

A sublet is work you sell the customer and pay another shop to do. Towing,
machine work, alignment, keys, glass, and calibration are common examples.

On a task, choose **+ Sublet**. Enter the work, cost, and sell. Vendor and
invoice number go on the same sheet. Sublets have no billed hours and do not
count toward hours sold.

Estimates, repair orders, and invoices label the line as sublet and print the
vendor when you set one. Use **Sales tax** on the sheet to include or exclude
that line from tax. End of day, Sales, and Profit & loss report sublet
sales and cost on their own rows. Map a QuickBooks item for sublets under
**Settings → Accounting** before invoicing a job that has one.

## Estimate workflow

Open an appointment to edit tasks and odometer readings on the job page. The customer statement
sits above Tasks and saves when you leave the field. Use **Edit** on a task
to add labor, parts, fees, and sublets, then **Done**. You stay on the job page.

### Fees on a task

To add a fee at the task level (not tied to one part line):

1. Open the job.
2. Open the task and choose **Edit**.
3. Open the **Fees** tab.
4. Pick an existing fee or enter a new one.
5. Choose **Done** to save the task.

Reusable fees live under **Settings → Fees**. You can also attach a fee to a
specific part line with **Add fee** on that part; that fee follows the part
quantity. Type rules under Settings can auto-add fees when a part type is added.

Under the task
list, use **Add task**. **Labor guide** opens Labor Guide for the vehicle. Pick labor, then **Add labor items**. **Custom** opens a blank editor. **Library** adds a saved
task. SpeedDIAL parts on that task get a draft under **Orders**. **History** adds declined tasks from earlier jobs on this
vehicle. Pick the tasks to bring over, then **Add tasks**. **DVI** on Add task
adds a digital vehicle inspection. Use **Discounts** in
the Bill to add a catalog discount or clear the job discount. That picker
stays available through Invoice. The job
Total sits under Tax. A selected discount shows under Subtotal. Tax on parts uses the price after a
parts or whole-job discount. Cost plus keeps the entered part sell and shows the adjustment under Subtotal. Choose **New
discount…** for a one-off on this job. Reusable discounts live under Settings →
Discounts. A customer's default discount is added only on new jobs.
Labor names are typed on the line. **+ Part**
opens a search for the vehicle on the job. Pick a match to fill the line, or keep
typing when nothing fits. Matching labor shows the position, side, or engine when the guide has one,
so Front and Rear are separate rows. When the vehicle has an engine on file,
times for other engines on that year and model are hidden. Some operations include related labor, such as rotors with brake pads. In Labor Guide, use + or - on a row to set quantity. The same + and - are on the labor line. The task keeps one labor line. Click a picker row to open related labor under it. In part search, use + or - on a row to set quantity. Picking the same inventory or catalog part again also increases quantity on that line. Fees attached to the part follow that quantity.
Use **Labor Guide** to browse operations by category. Pick the labor, then **Add labor items**. **Cancel** closes without adding. On an open task, Labor Guide adds lines to that task. For a walk-in estimate, open **Labor Guide** in the sidebar. Choose year, make, and model, then **Search**. Stage labor on the left. The right column is the estimate. Then **Create job from labor items**. When SpeedDIAL is
connected, **+ Part** also offers **SpeedDIAL**. That is how you order from
Worldpac on a job. When Nexpart is connected, **+ Part** also offers
**Nexpart**. The catalog opens in a new window. Exported lines land
on that task, and under **Orders**. On a part line, type a sell price or change the multiplier or gross profit percent. Changing one updates the others from unit cost. Use **Sales tax** on the part sheet to include or exclude that line from tax on the job total, estimate, repair order, invoice, payments, and the sales tax report. Inventory has no tax field. Part lines have Vendor and Inv # on the job. Search a shop vendor or add one. New vendors are saved under **Vendors** when you save the part. Inventory and SpeedDIAL fill Vendor with Worldpac. Inv # is the supplier invoice. Printable documents omit those fields. Choose **Save to library**
on a task when you want to reuse that work on later jobs. Manage saved tasks
under **Library** in the sidebar. Choose **Delete task** when the task should
not stay on this job.
On a return visit for the same vehicle, the new inspection starts from the last
completed one so the tech updates ratings instead of starting blank.

- **Share** opens a menu of documents, then a send modal for the one you pick.
  On Estimate and Arrived the menu is estimate and DVI. On Repair and Review it
  adds the repair order PDF. After Invoice it is estimate PDF, DVI, repair
  order PDF, and invoice PDF. DVI only appears when the job has one. After
  card payment you can also send the Stripe receipt. On Estimate, Arrived,
  Repair, and Review, **Estimate** sends the live approval link (email, text,
  or copy). **Include PDF** attaches the estimate PDF to the email. After
  Invoice, Estimate is the PDF only. Repair order and invoice shares stay
  PDFs. Print is unchanged. Sent documents and payment links show in Activity.
- To send work for customer approval, open the Approval column and choose
  **Send to customer**. That opens Share Estimate. Pick text or email, then send. The customer approves or
  declines on the link (**Approve estimate** on that page). The estimate total
  includes sales tax. Tasks they approve show as Approved
  (web). Links expire in 14 days, and stop working if you cancel the job, mark
  Complete, or send a newer link. Approval pages show the inspection note on
  tasks created from a finding.
- To record approval yourself, open a task's approval status control (or the
  **Approval** column header). Choose Unapproved, Declined, or Approved.
  Approved opens a submenu for how it was given: In person, Phone, Text, or
  Email. Changes save right away. That record prints on the estimate, repair
  order, and invoice.
- Each task shows its approval status on the task card. Adding a part or
  raising the sell price on a task sends that task back to Unapproved. Other
  tasks on the job keep their approval.
- The job page phases are **Estimate → Arrived → Repair → Review → Invoice → Complete**. A job with a date and time shows as **Scheduled** until the car
  arrives. Status shows the phase. The Status rail button is the next step
  (Arrived, Repair, Invoice, Complete). Unmet requirements list under the
  button. Clicking the button focuses the first gap.
- **Customer states** under the job title is the complaint. It saves when you
  leave the field. On Invoice, Complete, and cancelled it shows as text.
- **Bill** under Tasks shows Parts, Labor, Sublet, and Subtotal for approved
  work. Unapproved and declined tasks stay out of the total. Tax sits above
  the total when it applies. Payments and Balance due sit in the same section.
  Payment actions live in **Payments** on the job header.
  Printed estimates, repair orders, and invoices include the same sales
  tax line. They omit the per-task amount when the document has one task.
  Printed invoices always show BALANCE DUE, including $0 when paid.
  The right rail starts with Status (advisor and a Waiter
  toggle sit there), then Vehicle, then Timeline. Timeline grows with the
  job. Click Scheduled to arm the board and pick a slot. Click a time that
  is already on Timeline to set or fix it. Picked up appears on Invoice and
  Complete. Turn Waiter on when the
  customer waits on-site. The visit then shows as a waiter on Schedule.
  Shop-created jobs start as drop-off. On Invoice, Complete, and cancelled the
  waiter, vehicle, and advisor stay as they are.
- On Estimate, **Arrived** needs at least one approved task and odometer in.
  Pending tasks can stay parked; the technician never sees them. Declined
  tasks stay off the floor. The Arrived button marks the car as here. You can still
  correct odometer in on Arrived, Repair, or Review if the reading was wrong.
  The Status rail has a key tag field after Advisor, above Waiter, on every
  job. Use it for the paper tag on the keys.
- On Arrived, **Repair** needs every approved task assigned to a
  technician. Use the technician control on a task, or the **Assign** column
  header to set every task. Choose **No assignee** to clear the technician.
  Repair moves the job onto the floor.
- **Cancel** leaves the floor. It is available on Estimate, Arrived, Repair,
  and Review while the visit is still scheduled. It is hidden after Invoice,
  Complete, or if the job is already cancelled. Customers are not notified.
  Choose **Reopen job** on a cancelled job to put it back on Estimate.
- On Repair and Review, **Invoice** stays visible. It needs at least one
  approved task, approved work complete, tire pressure filled, and odometer
  out. Clicking Invoice focuses the first gap. When all approved work and tire
  pressure are finished, the job moves to Review on its own; Invoice stays the
  CTA. On Review, **Repair** sits on the left of the same Status strip so you
  can rewind.
- On Repair, each **task card** is a checklist row. Advisors and technicians
  can mark **approved** labor tasks done with the circle on the left. Use
  **Mark all completed** or **Mark all incomplete** in the Done menu for every
  approved task. Pending tasks stay
  parked and cannot be marked complete until they are approved. Clocked time
  shows in hours and minutes in the Tech Timer column from Repair onward.
  Estimate and Arrived hide that column. Open a task timer to edit hours on any
  task, or to clock in or out on approved Repair work. A technician can only be
  clocked into one task at a time. On a cancelled job the timer is read-only.
  Choose **Reopen job** to edit hours.
  Open a card to edit labor and parts; Cancel, Save, and Delete
  sit in the open card footer.
  **Check and set tire pressures** is its own card with its own technician
  assignee. Measure tires on arrival at LF, RF, LR, and RR. Enter Tires set to
  for front and rear.
  Values save as you type. The card and Invoice chore complete when all six
  fields are filled. On Invoice, Complete, and cancelled, tasks stay open as a document.
  Labor, parts, fees, notes, and photos stay visible. Hours and totals line
  up with each line.
  Tire pressure readings stay visible. Work is read-only until you move the
  job back to Review, or choose Reopen job on a cancelled visit. Discounts in
  the Bill can still change on Invoice.
- On Invoice, print becomes an invoice. **Picked up** is a separate button in
  Status — not the next phase after Invoice. It stamps pickup on Timeline and
  takes the job off the live board. You can set, fix, or clear pickup time on
  Timeline without changing the job phase. **Review** sits on the left of the
  same Status strip so you can rewind.
- Jobs with authorized work and a balance due show **Collect payment** in the job header,
  last in the header. It opens one modal with the balance due and an amount field
  prefilled to the balance (edit for a partial payment or deposit). Choose
  **Charge on terminal** (pick a reader if several are online), **Send payment link**,
  or **Record other payment** for cash, check, debit, credit, ACH, or other.
  Payment link continues to text, email, or copy a Checkout link. Shared links use
  a short myodo URL. Record other payment asks for the date and type. The Bill
  section lists each payment as Paid, then the type, Myodo Payments or External,
  and the time. Stripe refunds appear on the next line as Refunded with the
  card type, time, and a negative amount. Balance due follows, including $0 when
  the invoice is paid. A full Stripe refund puts the invoice balance back on
  Balance due. **Edit date** on a payment changes it. If payment processing is
  not connected, terminal and payment link are unavailable in the modal; record
  other payment still works. While a terminal charge is in progress, choose
  **Cancel on reader** to stop it before the customer finishes.
  Paying the remaining balance on Invoice does not move the job to Complete. When the
  customer has an email on file, Stripe emails its receipt in live mode.
  Use **Share** afterward to resend the receipt or share the invoice, estimate
  PDF, or repair order PDF. **View in Stripe** on a Stripe-processed payment opens the shop's
  Stripe payment account (advisors included). Refunds for Stripe payments are
  issued in Stripe from that view. Recorded cash, check, debit, credit, ACH, or other payments can
  be removed with **Void payment** on that payment. Voiding puts the
  amount back on Balance due. This can't be undone. Stripe payments are refunded in
  Stripe, not voided here.
- **Picked up** on Timeline records that the customer left with the vehicle.
  Use the **Picked up** button on Invoice, set the time on Timeline, or clear
  the time in the picker to mark pickup off again.
- **Internal notes** sit under Bill. Use **Add internal note**, **Post note**,
  or **Save note** for staff-only comments. Those notes do not print on
  customer PDFs. Other visits for this vehicle show under **Past visits** in
  the right rail. Every vehicle for the customer is on the customer profile.
- **Activity** at the bottom of the job lists what happened on this visit
  (Arrived, assignments, status moves, sent documents, and so on).
- **Technician notes** sit above Activity when a technician has added
  job-level observations (things not tied to one task). Task notes and photos
  still live on each named work group and print on the repair order and invoice
  after that task's labor and parts total.
  Tracked time shows in the Tech Timer column from Repair onward. You can add task notes
  and photos from the job page while the job is open (not on Invoice, Complete,
  or cancelled). Take a photo or choose one from the device. Each note shows who wrote it and when. Advisors and shop admins can
  edit or delete technician notes on tasks and inspection findings.
  You can edit or delete internal notes you wrote. Shop admins
  can also delete those from others. Notes that no longer
  match a task show with the internal notes.
- On a DVI, open the Inspection task. Labor, Inspection, and Notes are the
  only tabs. The Inspection tab shows a short rating summary. **View inspection**
  loads the same checklist technicians use, including ratings, measurements,
  notes, photos, and complete inspection. Back stays in the technician app.
  **Back to myodo** at the top returns to that job in the staff app.
  Profile and appearance stay in staff Settings.
  After
  Invoice the checklist is read-only. Yellow and red findings stay on this
  task. They do not add extra tasks.
  Yellow findings are monitored automatically.
  A later inspection that rates the same item green (or red) clears that
  watch. Findings also show under each vehicle on the customer profile and
  under Reports → Monitored items.

Uploaded repair orders from the review queue stay as invoices and cannot be
edited as estimates.

## Scheduling a job

Click an empty slot on the schedule board to open New job with that time
filled in. Or create from the sidebar and leave scheduling for later.

You can also open New job from a customer's profile, or from an Inbox request
armed on the board. The customer (and request details) are filled in for you.

On the board, the side panel lists **Unscheduled** Estimate jobs that still
need a clock time. Use the calendar-plus control to put one on the board. From the
job page, use **Scheduled** on Timeline to arm the
board, then click an open slot. Past days can take a slot too, so you can
record when a visit happened. That list updates live when someone schedules
a job or a customer sends a request. Leave the Schedule tab open; you do not
need to reload.

When you place a job, length starts from the work on the job. All labor and
Approved fill hours from the tasks. Jobs can share a bay at the same time. Move
a job or change its length if two blocks overlap.

## Visit history

Open a customer profile to see every visit in **Activity**, newest first, with
date, job number, and service. Open a visit for the full job details. Uploaded
repair orders that were confirmed show on that visit, including a link to the
original document when one exists.

On the job page, **Activity** lists what happened on this visit (Arrived,
assignments, status moves, sent documents, and so on). **Internal notes** sit
above Activity.

## Editing or cancelling

1. Open the job from Schedule or Jobs.
2. To move the time, choose **Scheduled** on Timeline,
   then click a new slot on the board and confirm.
3. To cancel, choose **Cancel**. Cancel is on Estimate, Arrived, Repair,
   and Review while the visit is still scheduled. It is hidden after Invoice,
   Complete, or if the job is already cancelled. A cancelled job can't be
   moved. Customers are not notified. Choose **Reopen job** on the job page to
   put it back on Estimate.

## Overlapping jobs

Jobs can sit on the same bay at the same time. If two blocks overlap, move one
or change its length.

# Billing and usage

Manage your subscription and month-to-date usage under Settings, then Billing.

## Plan and payment

The Plan section shows your current subscription status. Choose Manage billing to
update your card, or View invoices for receipts. Both open the billing portal.

If you are not subscribed yet, an owner or admin can subscribe from this page.
Contact sales on the same page to send a message. Replies go to your account email.

## When access is paused

If the organization subscription lapses, staff see a paywall instead of the app.
Subscribe restores messaging, appointments, and customer records. Owners and
admins can subscribe from that screen. Other staff should ask an owner or admin.
Contact support from the same page if you need help.

## Usage

Below the plan, each product shows how much you have used this month and how
much is included on your plan. The same counters are under Settings → Usage.
Campaign sending allowance is tracked here, not on the Campaigns list.

| Product | Included | Counted | Not counted |
|---|---|---|---|
| Outbound messaging | 600 texts | Inbox texts your shop sends | Customer replies, appointment reminders, booking confirmations |
| Campaigns and marketing email | 4,000 emails | Campaigns and marketing automations | Appointment reminders and booking confirmations |
| AI tokens | 1,000 tokens | Voice audio (1 per minute), campaign copy or images | |
| Plate lookup | 40 lookups | Plate lookups when scheduling or booking | VIN decode |

Customer replies always land in Inbox and do not use the outbound allowance.
When an Included amount is used up, that product stops until next month (outbound
texts, campaign email, AI, and plate lookup). Cap errors link here so you can
see usage. Contact sales on this page if you need a higher limit.

Totals are organization-wide across all shops.

# Sending marketing campaigns

Campaigns let you send a marketing email to your shop's opted-in customers.
The Marketing section in the sidebar has Campaigns (your sends) and Automations
(emails that send themselves). Templates are reusable starting points you open
from a campaign or by URL.

## Campaign list

The Campaigns page has two tabs. Drafts holds campaigns still being edited —
each draft's menu lets you edit or delete it. Sent holds everything that has
entered the send pipeline:

- Scheduled — set to send at a future time, with an estimated recipient count.
- Sending — currently going out.
- Sent — delivered, with counts of how many were delivered (and any that failed).
- Canceled or Failed — stopped or unsuccessful.

## Creating a campaign

1. Choose **New campaign** to open the gallery. Starting points are grouped by goal:
   Getting started, Seasonal, Win-back, and Loyalty. A brand-new shop with no
   campaigns opens here automatically.
2. Choose a card to start a draft. That copies the content and its suggested
   audience into the builder. Blank under Getting started opens an empty draft.
3. In the builder, confirm who it goes to, edit the content, then use Preview
   and Review before sending.

## Choosing who it goes to

Each starting point comes with a suggested audience. Win-back, for example,
reaches customers not seen in a while with no upcoming appointment. Blank and
saved templates go to everyone opted in.

Add conditions to narrow the audience. The send goes to customers who match
all of them:

- Last visit, a number of months ago.
- Number of visits, or lifetime spend.
- Vehicle make, model, or year.
- Whether the customer has an upcoming appointment.

Every condition reads the same way: is, is not, is at least, is at most. A
yes/no field is a simple toggle. Reset to default puts the suggested audience
back. Everyone reached has opted in to promotional emails and has an email on
file.

## Writing with AI

The builder can write your email for you. Describe what the campaign is about
and Generate fills in the subject, preview text, headline, and body. Edit
anything afterward.

## Adding an image

The Image section creates a hero image for the top of your email. Describe the
image you want, or leave it blank to match the campaign, then choose
**Generate**. Use **Generate image** when you want a new hero from a prompt.
Choose **Remove image** any time to send without one. You can also upload your
own image instead of generating one.

## Automations

Automations send messages on their own as customers book, visit, and come due
for service. The content and timing are written by myodo — each automation is
just a toggle.

The page lists each automation on the left. Pick one to see its upcoming
sends, grouped by send date.

- Each automation has a toggle. Turn one off any time; turning it back on
  only affects activity from that point forward.
- Upcoming sends lists every message the selected automation has scheduled.
  Collapse a date to skim. Choose **Cancel send** on a row before it goes; a
  canceled send is never rescheduled.

Three automations are available:

- **Appointment reminders** nudge customers before an upcoming visit: once
  48 hours before the appointment, and again at 8 AM on the day of. Reminders
  go out by email, and by SMS to customers with a mobile number once a
  texting number is set up for the shop. Because reminders are about the
  customer's own appointment, they send even without a promotional opt-in.
- **Google review request** emails a review link the day after a visit is
  marked done. Paste your shop's Google review link under
  **Settings → Details** to turn the requests on.
- **Oil change reminder** emails the customer each month with the mileage
  their next oil change is due at, until the vehicle is serviced again. The due
  mileage comes from the vehicle's oil change interval plus its last recorded
  service. Set the interval when confirming a repair order that includes an oil
  change, or from Edit vehicle on the customer profile. A vehicle with no
  interval or no recorded last service gets no reminders.

Review requests and oil change reminders are marketing messages, so they only
go to customers who have opted in to promotional messages.

## Templates

Templates are reusable campaign content.

- From a campaign, choose **Save as template** (or **Save template**) to reuse
  its content later.
- Choose **New template** on the Templates page to start one from scratch.
- Your templates appear as starting points when you create a campaign.
- Open an existing template from the gallery or from its edit URL to change it.
- Choose **Delete template** on the template edit page, or from the template's
  row menu. Deleting removes that starting point. Campaigns you already sent
  from it are unchanged.

Templates save the email content, not an audience. A campaign started from a
template sends to everyone opted in until you customize its audience.

## Scheduling or sending

From a campaign you can schedule it to send at a chosen time, or send it. The
send goes to the audience shown on the review screen. Everyone in that audience
has opted in to promotional messages.

A campaign needs a title, subject, and body before it can go out. Preview text,
the headline, and the button are optional. If a required field is empty,
Review & send flags it inline and holds the send until you fill it in. Send
test checks the subject and body, since a test is a real email.

## Campaign results

Open a sent campaign to see how it performed. The report shows recipients,
delivered and failed sends, clicks, bookings, and unsubscribes.

- Clicked counts customers who clicked the email's button. Each customer
  counts once, no matter how many times they click.
- Booked counts appointments made online after clicking the campaign. A
  customer who calls to book instead is not counted here.
- Unsubscribed counts recipients who have since opted out of your promotional
  emails.

## Usage limits

Your plan includes a monthly sending allowance. Check it under Settings → Billing
(or Settings → Usage). If you reach the cap, contact support or wait until it
resets.

# Moving a customer list

myodo moves your customer list from another shop system. Use **Help** in the
sidebar and we handle the import.

# Using the inbox and messaging customers

The Inbox is where you message customers and handle their service requests. It's
where staff land after signing in.

## How messages reach customers

Messages you send are delivered as a text message (SMS) from your shop's
dedicated texting number when the customer has a phone number on file. Customers
reply by text like a normal conversation, and their replies appear in the thread
in real time — no app or account needed on their end.

Your shop's texting number is in the shop menu at the top of the left sidebar
(phone icon, above Settings).
That is the number customers text when they reply.

If a customer doesn't have a phone number on file, your message is sent to their
email address instead.

## When texting is still being set up

Right after you subscribe, your texting number may still be provisioning. Inbox
shows a message that the number is being set up. This usually takes a few minutes
to hours at most. You can't send or receive texts until that finishes. Refresh
Inbox, or wait. It unlocks on its own when the number is ready.

## Reading and replying

1. Open Inbox from the navigation. The Inbox icon count is unread Inbox and
   Voicemails together. Each tab shows its own count. Those counts update live
   even if you are on Schedule or another page.
2. Select a conversation to open the thread. Staff messages show the sender's
   name and photo. Lifecycle lines (bookings, job requests, creates, schedules,
   approvals) read as one short sentence, for example
   "Noah created Oil Change · 8:54 AM".
3. Type a reply and send it. It appears in the thread right away and is
   delivered to the customer by text.

If a text couldn't be delivered (for example, the number is a landline), the
message shows a "Not delivered" note under it.

## Archive

Choose Archive on a conversation to move it out of Inbox or Voicemails. Open the
Archive tab in the left list to find it again, then restore it. If that
customer texts or a known number calls again, the conversation returns to Inbox
on its own. Another voicemail from an unknown number returns to Voicemails.

## Photos and videos customers text you

When a customer texts a photo or video, it appears in the thread. Photos open
full size in a new tab. Videos play inline in the conversation. A customer can
send media with no words, and it still shows up.

## After-hours phone calls

The same shop number can take voice calls. During the hours in Settings → Hours,
calls forward to your shop phone. Outside those hours (and when no shop phone is
set), callers leave a voicemail.

If the number is already on a customer, the voicemail lands in that conversation
in Inbox. Unknown numbers go to Voicemails. A count on that tab is unread
calls from the last 7 days. Older calls drop off the list. A later voicemail
from the same number brings the thread back. Play the recording, read the
transcript, or archive it. Create job opens New job with the transcript as
intake notes and the caller's number filled in.

## Live calls

When a call comes in during shop hours, the caller hears "This call may be
recorded for quality assurance" and the call is recorded while you talk.

Everyone on staff sees a small call marker at the bottom of the screen. It
never covers the page you're working on, and it doesn't ring or interrupt.
Open call opens the caller's Inbox thread. Anyone on staff can open it.

When someone at the shop picks up, myodo adds a call card to that thread. The
same card stays in place while the call is live, after hangup, and after you
create a job. It shows the call time, a live timer while you're on the phone,
and a Call ended label when the call finishes.

After hangup, myodo fills in the transcript, the concern, the vehicle, and the
services it heard. Nothing is saved as a job until you press Create job, and
you can edit anything first. Any staff can create the job from the card. After
you create the job, the card stays in the thread with a link to the job and the
full transcript.

If the caller isn't a real job, choose Dismiss. That removes the card. If
the thread had nothing else on it, it moves to Archive. The contact stays. If
they call or text again, the thread returns to Inbox. You can also open Archive
and choose Move to Inbox.

Caller ID usually matches the customer already. When the call didn't say enough
to name the vehicle, the card asks you for the year, make, and model. myodo
never guesses a vehicle.

The card stays in the thread after the caller hangs up, so you can finish the
job from what was said.

## Sending a photo

Use the camera button next to the reply box to attach one photo (JPEG, PNG, or
GIF, up to 5 MB). You can send a photo with or without a text message. Photos
only send when the customer has a mobile number that can receive texts.

## When a customer texts a new number

If someone texts your shop number and they aren't in your customer list yet, a
new customer contact is created automatically from their phone number and the
conversation appears in your inbox. You can fill in their name later from the
Customers page.

## Text message opt-outs

Customers can text STOP at any time to stop receiving texts. When that happens,
the thread shows an "Opted out of texts" note and your replies can't be
delivered by text (they'll go to email if there's an address on file). The
customer can text START to turn texting back on.

## Handling a booking request

When a customer selects Other on online booking, or picks services that don't
fit an open time block, an unscheduled job is created. The thread shows that
the customer created the job. It also appears under Unscheduled on the Schedule.

Open the job to assign a time, or use View job from the thread. Scheduled online
bookings show as a booked event with the date instead. If a request was
declined by mistake, choose **Reopen request** on the thread to put it back in
play.

## Job activity

Bookings, jobs you create or schedule, and customer approvals or declines show
in the thread like messages: event title, a short body, and a timestamp. Shop
events sit on the shop side; customer events on theirs. Staff with message
alerts on also get an email for approvals and declines.

## Starting a new message

Choose the compose button at the top of the inbox list. An empty thread opens
on the right. Search for the customer by name, email, or phone. Selecting them
opens their conversation (or starts one). Write and send in the normal reply
box. Cancel closes the empty thread and returns you to the list.

From a customer profile, choose Message in the right rail. That opens their
existing conversation, or starts one if they do not have one yet. The Message
icon on a job does the same thing.

# Job board

Jobs is a board of open work at the shop. Empty estimates with no tasks and no
approval do not appear. Use Schedule when you need a day-and-bay calendar.

Switch the header between Service advisor, Technician, and History.

## History

History lists closed jobs: complete and cancelled. Each row is one line that
links to the job. The list is paginated. Newest closed jobs appear first.

## Service advisor

Columns follow the shop floor. Status marks: open phases are
stroke rings; Invoice is a filled success disc with a check.

Approval and tech progress use different icons so they never collide with
status: shield for approved tasks, wrench for work done.

- **Estimate.** Unscheduled estimates that still need shop action.
- **Scheduled.** Estimates with a date and time, waiting for the car.
- **Arrived.** The car is here, not on the floor yet.
- **Repair**, **Review**, **Invoice** — Same floor phases as on the job.

The board is scoped by role. Shop admins see every open job. Service advisors
see their own jobs plus anything still unassigned. Within each column, the
oldest open job is at the top. When a technician is clocked into a task, that
job's card shows the live timer and progress against sold labor hours.

## Technician

Columns are Unassigned plus each technician who has open work. Status stays on
the card icon. A tech can only be clocked into one job, so at most one card per
person shows a live timer and progress against that task's labor hours. That
clocked-in card sits at the top of the column. The rest is Repair, Arrived,
Review, Scheduled, Estimate, then Invoice. Same stage stays oldest first.

## Opening a job

Click a card to open the job. The card updates while this page is open when
status, assignee, approval, or work changes. Reassigning a technician moves
the card into that person's column.

# Labor Guide

Labor Guide looks up labor hours by year, make, and model.
Use it for walk-in estimates.

Open **Labor Guide** in the sidebar, under Library. Choose year, make, and
model, then **Search**. Browse by category or search labor.
Use + or - on a row to set quantity. Click a row to open related labor under it.
The right column is the estimate. Pick a labor rate. Hours times that rate
is the preview total.

**Create job from labor items** opens New job with those operations.
The vehicle you looked up is already filled in. Add the customer, then create
the job.

On a job, **Add task**, then **Labor guide**. Pick labor, then **Add labor items**.
**Custom** on Add task opens a blank editor when the work is not in the guide.
Labor Guide on an open task adds lines to that task.

# Library

Library holds saved tasks the shop reuses on jobs.

Open **Library** in the sidebar, under Schedule. The table lists name, vehicle,
price, parts, and booking.

**Add task** opens the same labor and parts editor used on a job. The labor
rate on the task is saved with it and used when the task is added to a job.
Part sell price can be typed in dollars, or set with a multiplier or gross
profit percent. Click a task name to edit. Delete from the row menu. Jobs that
already used a deleted task keep their copy.

Shop admins can turn **Online booking** on from the Library list, or on a
task and then Save changes. That adds it as a service on the Online Booking
page. Turn the toggle off to hide it from customers. Adding the same task
from Online Booking does this from the other side.

On a job, **Save to library** also adds a task here. **Library** on Add task inserts
a saved task onto the job. Fees on those parts are added too. SpeedDIAL parts
on that task get a draft. Submit it from the job Orders rail after the parts
are approved.

# Managing customers

The Customers section is where you manage the car owners connected to your shop.
Customers are shop contacts. They do not need a myodo login.

## Viewing customers

Open Customers from the navigation to see everyone connected to the shop. The
table lists name, phone, email, vehicles, and last visit.

## Searching for a customer

Open Search from the magnifying glass next to the shop name in the sidebar.
Type a job number, phone, plate, VIN, or name.
Use Jobs, Customers, or Parts to filter.
Select a row to open it. Search covers the shop you're currently in.

## Adding a customer

1. Choose **Add customer** or **New customer** on the Customers page (the submit
   control may say **Create customer**). A window opens.
2. Enter first name, last name, and phone. Email is optional.
3. Submit. The customer is added to this shop and you can open their profile.

State on a new customer is the shop's address state. A shop in California
starts new customers as CA. Set the shop address under Settings, then Details.
Change one customer under Edit customer.

To message them, open their profile and choose Message in the Messaging section
of the right rail, or start a conversation from Inbox.

## Viewing a customer profile

Select a customer to open their profile. The main panel shows contact details,
vehicles, and an Activity list: every visit, newest first, with its date, job
number, and service. The right rail has visit stats, messaging, opt-in status,
and customer actions.

Open a visit to see its full details, including status, totals, repair order
line items, and a link to the original document when one exists.

Choose **New job** on the profile to create a job for this customer.

## Editing a customer

In the right rail, choose **Edit customer** to update name, phone, email, and
promotional email opt-in. SMS opt-in and opt-out come from texting (including
STOP and START) and show on the profile; they are not edited by hand here.

Choose **Discount** in the rail to set a default from the shop catalog, create a
new catalog discount, or clear it. The default is added on new jobs only.

## Merging duplicates

1. Open the customer you want to keep.
2. Choose **Merge duplicate** in the right rail.
3. Search for the other record.
4. Confirm **Merge customers**.

Vehicles, history, and messages move to the customer you keep. The duplicate is
then deleted. To keep the other record instead, start the merge from that
profile. Choose **Keep both** when the two contacts are different people and
you opened merge by mistake.

## Deleting a customer

Choose **Delete customer** in the right rail and confirm. Use this when the
contact should not stay in the shop. Prefer merge when two rows are the same
person. If a possible duplicate is suggested on the profile, open it and choose
**Merge instead** when the records are the same person, or continue with delete
when they are not.

## Adding a vehicle

Choose Add vehicle on the customer profile. Look up by plate or VIN. Plate
state starts as the shop's address state. When the
lookup finds the car, confirm and save. If the VIN is missing or won't decode,
enter year, make, and model, then save. You can also set transmission style,
speeds, and the oil change interval when adding the vehicle. Date of
manufacture (MM/YYYY) is optional.

## Editing a vehicle

Choose a vehicle on the profile to update the VIN, year, make, model, trim,
transmission (style and speeds), plate, or date of manufacture (MM/YYYY). Add a
VIN later when the customer provides one. If the customer brought a different
car, add a new vehicle instead.

Choose the plate or VIN on the row to copy it. Each vehicle also has an
actions menu (the three dots) with Edit vehicle, Transfer vehicle, and
Delete vehicle.

The edit window sets the vehicle's oil change interval: how many miles between
oil changes. Once set, the interval shows on the vehicle row and the vehicle
gets oil change reminders.

You can also edit or change the vehicle from an open job.

## Safety recalls

When a vehicle has year, make, and model, the vehicle table shows a **Recalls**
column. myodo loads recall counts from NHTSA after the profile opens.
When recalls exist, the cell shows **Recalls (8)**. When NHTSA has
none on file for that year, make, and model, the recall link is removed from the row.

Choose **Recalls (8)** or **Recalls** to open the recall list in a window. Each
recall shows the component, campaign number, report date, and summary. Expand
a recall for the full summary, safety consequence, remedy, and manufacturer.

These results match the vehicle configuration, not a specific VIN. They do not
confirm this car is affected or that a recall is still open. When the vehicle
has a VIN, choose **Check VIN on NHTSA** in the window for VIN-specific
verification.

## Transferring a vehicle

From the actions menu, choose Transfer vehicle and search for the customer
who should own it now, including a shop or house account. The car moves. Jobs
and invoices stay on this profile.

## Deleting a vehicle

From the actions menu, choose Delete vehicle. The car comes off the list.
Jobs stay on this profile.

# Setting up online booking

Online booking lets customers schedule appointments with your shop from a public
booking page. Booking is always available once you've set up services and
availability — there's no separate on/off switch.

Find these settings under Settings, then Online Booking.

Hero image, layout, theme, logo, about, photos, and Google reviews live under
Settings, then Website.

## Availability

On the Online Booking page, set one weekly schedule: turn each day on or off and set its start and end times
(for example, Monday–Friday, 8:00 to 17:00).

Choose Add break on a day to block out a mid-day closure, such as lunch.
Customers can't book times during the break, and appointments won't span it.
Remove a break with the X next to its times.

## Capacity

- Bays — how many appointments can run at the same time. Each booking holds one
  bay for its full duration.
- Daily online hours — an optional cap on total hours booked online per day
  (0 means no limit).
- Minimum notice — how many days in advance a customer must book. Set it to 0
  to allow same-day booking.

## Confirmation message

Edit the message customers see after they book.

## Appointment reminders

Appointment reminders live on the Automations page (Marketing → Automations),
alongside your other automatic messages. Customers get a reminder 48 hours
before their appointment and another the morning of. See the Automations
section of the Campaigns help for details.

## Services

The Services table lists everything customers can book online. It starts with a
few common services (such as Oil Change and Engine Light Diagnosis), and you have
full control over all of them. On Full, those services also appear in a Services
section on the public page.

A service can come from a Library task. When a customer books it, the job gets
that task's labor and parts.

1. Choose **Add service** to create a custom service. Enter a name, description,
   and duration in hours (for example 1.5 or 8). Optionally set a per-day cap
   and turn on Waiter if the customer waits on-site. Choose **Create service**.
2. Choose **From library** to add a Library task as a service. Duration is
   filled from the task's labor hours. You can still edit name, description,
   duration, per-day cap, and Waiter after it is added.
3. Turn Bookable off for any service you don't offer. It stays in this table so
   you can turn it back on later, but customers no longer see it on the booking
   page. This works for every service, including the ones that came built in.
4. Edit any service's fields inline; changes save with the main Save changes
   button (there's no per-row save).
5. Delete a service from its actions menu (the ... button at the end of the row).

Drag the handle at the start of a row to reorder the list. The order here is the
order customers see on the booking page, and it saves as soon as you drop the row.

## Auto-book vs requests

When a customer picks services that fit an open block of time, they choose a
slot and a scheduled job is created right away (created via online booking).

If they select Other and describe a custom need, or the selected services add
up to more time than your longest open block (for example lunch splits the day
into two shorter windows), online booking creates an unscheduled job instead.
It shows under Unscheduled on the Schedule, and in Inbox as a new job from the
customer. Open the job to schedule it when you're ready.

## Date overrides

Choose **Add override** to close a specific date or set custom hours for it
(holidays, and so on). Overrides change what's available on the public booking
calendar.

## Installing on your website

The Online Booking settings include your booking URL. The link uses your shop
name, such as /book/westside-motors. Copy it to share with customers.

If the shop already has a website, copy the Website button snippet from the
same settings card. Paste the script and Book button on those pages. Customers
stay on the shop site. The scheduler opens over the page.

Plate state on the booking form starts as the shop's address state. Set that
address under Settings, then Details.

Choose Save changes in the page header to keep your edits.

# Ordering parts

Shop in SpeedDIAL. Submit in myodo. Each task keeps one draft.

## Worldpac

Worldpac is the catalog vendor. Staff pick parts in the speedDIAL catalog.

### Connect SpeedDIAL

1. Open **Vendors**. **Worldpac** is the first row.
2. Open that row to edit phone and account number.
3. Choose **Manage SpeedDIAL**. Settings → Integrations opens on SpeedDIAL.
4. Enter the Worldpac account number, speedDIAL username, API token, and
   country.
5. Create the token in speedDIAL under Settings, API Tokens. Name the token
   for myodo. The token is shown once.
6. Save changes. The Worldpac row shows SpeedDIAL.

You can also open Settings → Integrations and choose SpeedDIAL.

### Order from a job

1. On the task, choose **+ Part**, then **SpeedDIAL**. You do not need to
   save the task first.
2. The Worldpac catalog opens in a new window. The job's vehicle VIN is sent
   when the job has one.
3. Find parts in speedDIAL. Export priced lines back to myodo.
4. Those lines land on that task and on that task's **draft**. New parts get
   Worldpac as the vendor. Punch out again from the same task and lines add
   to the same draft. **Library** on Add task puts the same SpeedDIAL parts on a new
   job and opens a draft there too. **History** does the same for a
   declined task that was built from punchout.
5. On the job **Orders** rail, choose **Submit orders** to send one or more
   drafts. Or open a draft and choose **Submit order**. You can submit before
   the customer authorizes the task. Declined lines stay on the job and are
   not ordered.
6. The Worldpac order number appears after submit. The PO on that Worldpac
   order is this job's number, without the #. Open the order and choose
   **Open in Worldpac** to see it in SpeedDIAL.
7. **Receive** when the shipment arrives. Parts are already on the job.

If SpeedDIAL is not connected, **+ Part** then **SpeedDIAL** opens
Integrations so you can connect.

**Discard draft** removes a draft that was never sent. Cancel on a submitted
order only updates myodo. Worldpac may still ship.

### Order for the shelf

1. Open **Orders**.
2. Choose **New order**, then **SpeedDIAL**.
3. Export priced lines from speedDIAL, or export and submit there.
4. Open the purchase order. Enter a PO, then **Submit order**. SpeedDIAL uses
   that PO on the Worldpac order.
5. Receive quantities onto the shelf. Set a location when you receive.

If SpeedDIAL is not connected, **New order** then **SpeedDIAL** opens
Integrations so you can connect.

## Nexpart

Nexpart is a catalog of aftermarket sellers. Staff pick parts in Nexpart.
Quoted lines come back to the job. Ordering in Nexpart happens after the
quote is on the job.

### Connect Nexpart

1. Open **Settings → Integrations**.
2. Choose **Nexpart**.
3. Enter the shop's Nexpart username and password.
4. Save changes. The Nexpart vendor row shows on **Vendors**.

### Order from a job

1. On the task, choose **+ Part**, then **Nexpart**.
2. The Nexpart catalog opens in a new window. The job's vehicle VIN is sent
   when the job has one.
3. Find parts in Nexpart. Choose **Send to myodo**.
4. Those lines land on that task and on that task's **draft**. Punch out again
   from the same task and lines add to the same draft. **Library** on Add task puts
   the same Nexpart parts on a new job and opens a draft there too.
   **History** does the same for a declined Nexpart task.

**New order** then **Custom** is a typed purchase order for a supplier you
call. Add that supplier under **Vendors**. Pick the vendor and whether the
parts go to stock or a job. Search an existing part by number or name.
**Add line** for each part, then **Create order**.

Open the purchase order to **Receive** quantities. **Return parts** sends
received stock back to the vendor. **Cancel order** stops an open order that
has not been received.

# Parts inventory

Inventory, Orders, and Vendors are separate items in the sidebar.

## Inventory

Search the shop’s part records. Filter All, Reorder, or On hand. The table lists brand, number, vendor, location, on hand, committed, cost, and price. **Add part** for a new shelf record. Cost and sell can be set directly, or from a multiplier and gross profit percent. Types, locations, fees, and sell bands live under **Settings → Inventory**.

Open a row to edit the part. **Stock** is on-hand quantity and optional **min/max**. Parts below min show under the Reorder filter. Change on hand when the shelf count differs. History records the adjustment.

The part number on the record is the one that prints. **Add alternate number** stores another identifier for this part. Search, orders, and SpeedDIAL resolve that number to this stocking part. Stock stays on this record. Each alternate number can point to one part in the shop.

Name, brand, number, type, and vendor sit under Details. Cost, sell, markup, and core sit under Pricing. Location, on hand, min, and max sit under Stock. **Add fee** attaches a shop fee from the list, or type a new one. Amounts change under Settings → Fees. **Recent activity** lists movements. **Export** downloads a CSV of the current list. **Delete part** removes the record. This can't be undone.

## Orders

Purchase order history and active orders. The table lists vendor, job, status, date, and total. Defaults to **Active** (open and
partial). Switch to **Received** or **All** when you need older documents.

To order from Worldpac, use **New order** then **SpeedDIAL**, or **+ Part**
then **SpeedDIAL** on a job. To order from Nexpart, use **New order** then
**Nexpart**, or **+ Part** then **Nexpart**. See Ordering parts. **Custom** is a typed order
for a supplier you call. Pick a vendor, stock or a job, then search an existing
part by number or name. **Add line** for each part. **Create order**
opens the purchase order.

Open a row to receive quantities. Stock receives can set a location. Job
receives put parts on that job and pull quantity from stock. Line menu **Undo
receive** reverses a receive. **Return parts** sends received stock back to the
vendor. Line menu **Undo return** puts it back on the shelf. Mark **Core
return** when sending a core back. **Cancel order** stops an open order that
has not been received. Part names open the part modal. Job destinations link
to the job.

## Vendors

**Worldpac** is always first. Open it to edit account and phone. The table lists
phone, account, integration, preferred, and open orders. SpeedDIAL shows when
that integration is on. **Manage SpeedDIAL** opens Settings →
Integrations. **Add vendor** is for the suppliers you call. Preferred vendors
sort first after Worldpac.

## Jobs

On a job, **+ Part** searches the shelf. Picking a stocked part pulls quantity
from stock when you save. Picking the same part again increases quantity on that line.
Fees attached to the part follow that quantity. To skip sales tax on a part,
open the line and turn **Sales tax** off. Tax is per line on the job, not on
the inventory record. A typed or catalog part is added to inventory with no on-hand.
Reducing or removing the line returns quantity to stock. Special-order parts
received on a job order land on the job automatically and raise on-hand.
Completing the job lowers on-hand and committed for those parts. A core charge
on the part is added as a fee.

When SpeedDIAL is connected, **+ Part** also offers **SpeedDIAL**. That opens
the Worldpac catalog. New parts from that export get Worldpac as the vendor.
When Nexpart is connected, **+ Part** also offers **Nexpart**. See Ordering parts.

# Shop reports

Reports opens a list of shop bookkeeping reports. Sales and tax use visits you
keyed out. Payments use the date on each payment. The shop timezone sets the
calendar day.

Pick a date range on Sales, Sales tax, Profit & loss, and Technician hours:
this month, this quarter, this year, last month, last quarter, or custom dates.

## End of day

Daily P&L for one shop calendar day. Use the date control for previous days.

## Sales

Labor sales, parts sales, sublets, fees, discounts, tax, and gross total for the range.
Summary tiles show repair order count, average RO, and hours sold. Closed jobs
for the range are listed under the totals. Open a job to see the visit.

## Sales tax

Tax collected, taxable sales, and non-taxable sales for the range. A part or
sublet with **Sales tax** off on the job line counts as non-taxable. Use
**Export CSV** for the per-invoice breakdown for bookkeeping or your CPA.

## Profit & loss

Gross profit for the range. Labor cost uses each technician's rate in
Settings → Team. Parts, tire, and sublet profit use cost entered on the line. Card
payments settled in the range appear at the bottom.

## Technician hours

Billed hours from closed jobs versus clocked hours from the job timer.
Efficiency is billed hours ÷ clocked hours. Cars counts distinct repair orders
with billed labor for that technician. Use **Export CSV** for payroll.

## Monitored items

Shop-wide backlog of DVI findings marked for follow-up, grouped by vehicle.

# Shop and account settings

Open Settings from the last item in the left sidebar, or from the shop menu at
the top, to manage your shop and your own account.

## Shop details

On the shop profile page you can edit your shop's business information, such as
phone and address. Changing the shop name also updates the shop and booking
URL. Old links keep working for 30 days. New customers and plate lookups use the shop's address state
as the default. The Google review link field powers the review request
automation. Paste your shop's review link there to turn the requests on. Set
your opening hours on the Hours page. Each day can have open and close times
plus an optional mid-day break (choose Add break). Public page photos, copy,
layout, and reviews live under Settings, then Website. Changes are saved when you
choose Save changes.

## Invoicing

Under the shop's **Invoicing** page, set labor rates, parts tax rate, and DVI
labor hours used on jobs. Choose **Add rate** to create a named hourly rate
and mark one as the default for new labor lines. Open a rate to edit or
delete it. Labor rates save when you add or edit a rate. Tax, DVI hours, and
warranty save with Save changes. On a job, pick a different rate for a task
or a single labor line. Paste a warranty there to print it on estimates, repair
orders, and invoices.

## Inventory

Shop settings include an **Inventory** group for integrations, parts pricing, types,
locations, and fees.

### Integrations

**Integrations** lists the parts connections this shop can turn on. Open
**SpeedDIAL** to enter the Worldpac account number, speedDIAL username, API
token, and country. Staff create the token in speedDIAL under Settings, API
Tokens. Name the token for myodo. The token is shown once. Save to connect.
The toggle turns the connection off without deleting the vendor.

**Nexpart** uses the shop's Nexpart username and password. Save to connect.
The toggle turns the connection off without deleting the vendor.

### Parts pricing

Under **Parts pricing**, set cost bands and a multiplier so sell price is
filled from cost when a part is added to a job. Staff can still type a sell
price on the line, or change the multiplier or gross profit percent.

1. Choose **Add band**.
2. Enter cost from, cost to, and the multiplier (sell price equals cost times
   this number).
3. Save the band.

Open a band to edit or delete it. Gross profit and markup show for each band so
you can check the math. Choose **Restore defaults** to put the built-in bands
back.

### Types and locations

**Types** and **Locations** are labels on parts. You can create them when
editing a part, or manage the full list under Settings. Renaming a type or
location updates parts that use it. Deleting one clears that label on those
parts (you will see how many parts are affected first).

### Fees

**Fees** are named amounts you can add on a job. Seeded disposal fees start at
$0 so you can set your shop's amounts. On a job, open a task, choose **Edit**,
then the **Fees** tab to add a task-level fee. You can also attach a fee on a
part line with **Add fee**, or use **Type rules** so every part with that type
gets the fee when it is added to a job. Choose **Add rule**, pick the type and
fee, then save. **Delete rule** removes that pairing. Fees at $0 are skipped
until you set an amount.

### Discounts

**Discounts** are a shop catalog with three types:

- **Percent off** — a percent off labor, parts, or the whole job
- **Amount off** — a dollar amount off labor, parts, or the whole job
- **Cost plus** prices parts at cost plus a markup percent. Entered cost and sell stay as they are. The Total section shows the adjustment.

Create them under Settings → Discounts. Set one as a customer's default on the
customer profile. That default is added when you create a **new** job. Staff can
switch or clear the job discount from **Discounts** in the Bill through Invoice.

## Card payments

Shop admins connect card payments under the shop's **Payments** page so staff
can charge cards on authorized work. The processing fee is
3.1% + 30¢ online and 2.9% + 5¢ in person. Finish Stripe's setup steps before
cards work. After you
connect, **Manage payments** (or **View in Stripe** on a paid job) opens the
shop's Stripe account for bank details, payouts, payment history, refunds, and
disputes. Advisors can open that account from a job even if they cannot change
payment settings. Stripe emails the customer a card receipt when their email is
on the job (live mode). Staff can resend that receipt or share the invoice PDF
from **Share** on the job.

## Accounting

Shop admins connect QuickBooks Online under the shop's **Accounting** page.
Map labor, parts, and a bank for card deposits. Map a sales tax code for tax reports.
Map a sublet item for work paid to another shop. Sublets do not use the labor item.
Invoiced jobs send to QuickBooks. Payments taken before Invoice send when you
invoice the job.
Fees use the labor item when a fee item is not mapped.
Card payments record Stripe fees when a Card fees account is mapped.
Cash and checks are unchanged. **Disconnect QuickBooks** stops new sends.
Moving a job back to Review voids the QuickBooks invoice and its payments.
Invoicing again sends a new invoice. Failed jobs show Retry.

## Card reader

When available on **Payments**, shop admins can choose **Buy kit** for WisePOS E
kits (reader and dock) shipped to the shop address. Buy another kit any time.
The price is exclusive of tax, which Stripe Checkout calculates at purchase.
Connect card payments and set the shop address under **Details** first. After
checkout, the Payments page shows order status. On Collect payment, charge one
online reader or pick among several. Use **Track package** on the Payments page
when a kit order has shipping info.

## Your account

- Profile: update your name, phone, and photo. Your photo shows on job notes
  and inbox messages so the team can tell who wrote what.
- Security: change your password.
- Notifications: choose which alerts you receive.
- Legal: review the agreements and policies that govern your use of myodo.

## Notifications

The Notifications page controls the alerts you get. Advisors, admins, and
owners get email when a customer messages the shop or books online. Technicians
don't receive those emails. Turn off anything you don't want, and it changes
your alerts only.

Desktop:

- New messages: browser notification while the app is open in a tab. Your
  browser asks for permission the first time you turn them on.

Email:

- Online bookings: when a customer books or requests service online.
- New messages: when a customer texts or messages your shop.

Choose Save changes to keep your settings.

# Managing your team and organization

When your organization has one shop, Settings, then Members is the only team
list. Invite and roles live there.

A second Members page under Organization appears when you have more than one
shop. That list is for owners and admins across every location.

## First shop setup

On first login, owners set their name and create the first shop (name, phone,
and address). The next screen is **Add your team**. Add a person per row (email and role).
Choose **Send invites**, or **Skip** to open Inbox.
After that, create more shops from **Create shop** when your organization
needs another location. Switch shops from the shop menu in the app.

## Shop team

Under Settings, then Members, you can see the people who work here and their
roles. When the organization has one shop, this is the only Members list.
Choose **Invite** to add someone by email. Each row is an email and a role
(Owner, Admin, Service Advisor, or Technician). Choose **Add person** for
another row, then **Send invites**. Someone already in the organization is
added to this shop. Choose **Change role** from the member's actions menu to
set a different role before or after they accept.

Shop roles:

- **Owner**: the organization owner. Same shop access as Admin, plus billing
  and member roles.
- **Admin**: full shop settings and every open job on the Jobs board.
- **Service Advisor**: day-to-day shop work. On Jobs, advisors see their own jobs
  plus anything still unassigned.
- **Technician**: floor work on My jobs / tech views for assigned tasks.
  Technicians do not manage shop settings such as booking or payments.

Each active member can have a **labor cost** (hourly shop cost). The end of day
report uses that rate times hours sold to calculate labor profit. Set it from
the member's actions menu.

## Organization members

This page is only in Settings when the organization has more than one shop.
**Invite** uses the same rows as shop Members. Owner and Admin apply across
every location. Service Advisor and Technician also pick which shop.

Each member row has an actions menu (the three dots on the right) with options
that depend on whether the person has accepted their invite:

- **Active members:** choose **Update name**, **Update email**, **Change role**,
  or **Suspend user**. Owners use Change role to promote a member to owner.
  Promote a second owner before changing the first owner's role. Suspending
  someone removes their access to the organization; you can invite them back later.
- **Pending invites:** choose **Change role**, **Resend invite**, or **Revoke
  invite**. Revoking stops the invite link from working.

The invite email opens **Accept invite & set password** so the person can join
and choose a sign-in password.

Managing shop access lets you pick exactly which locations a member can work in.
Owners and admins always have access to every shop, so this applies to regular
members.

Who can do what depends on your role. Owners and admins can manage members,
while other staff may only be able to view.

# Working assigned jobs as a technician

Technicians sign in and land on **My jobs**. Every in-progress job assigned to
you appears here.

At the top of every technician screen, navigation is **Back · Title · Shift status**
(or **My jobs · Shift status** on the home screen). Tap shift status to clock in
or out of your shift. When your shift is running it reads **Shift · 2h 14m**; when not started it reads **Start shift**.

Open **Settings** from My jobs for hours reporting, profile, appearance, and sign out.
Hours, profile, and appearance back out to Settings; Settings backs out to My jobs.

On a work item, the action row shows **Clock in** or **Clock out · 32m** plus the
page action (mark complete, start voice notes, and so on). Only one task timer can
run at a time; clocking in on another task clocks you out of the previous one.

Service advisors and shop admins see **Repair** and **Review** jobs assigned
to them as the service advisor. Estimate and Arrived stay on the staff job.
**Tech** loads the floor job. **View inspection**
on the Inspection task opens the checklist. Back stays in the technician
app: a task returns to the job, and the job returns to My jobs.
**Back to myodo** at the top returns to that job in the staff app.
On My jobs it returns to the staff page that opened the technician app. Advisors can change
ratings, notes, photos, and measurements while the job is in Estimate,
Arrived, Repair, or Review. After Invoice those screens stay open as read-only.

## Opening a job

Tap a job to see the customer concern and a checklist of authorized **labor**.
Each task lists hours and its parts: brand, description, part number, and quantity.
Only labor lines are tasks.

## Working a task

Tap a task to see those parts in full, then add notes and photos for that work
group (up to 10 photos, 8 MB each). Take a photo or choose one from the device. Mark the task done when that labor line is
finished. You can also mark it done from the checklist with the circle control.

On the job itself (under the task list), add **Technician notes** for
observations that are not about one task. Advisors see those on the job page
above Activity.

A digital vehicle inspection task opens a multipoint checklist by car position:
Drive-in, Under Hood, Tires, Brakes, then Undercarriage. Tap Green, Yellow,
Red, or N/A on each row without opening it. Green and N/A finish the row;
Yellow or Red opens the panel for notes, photos, and any measurements. Use N/A
when an item does not apply (for example power steering fluid on an EPS
vehicle). Notes and photos save as you work; you can remove a photo if it was
a bad shot. Tire tread and age (DOT WWYY) use a two-by-two grid for LF, RF,
LR, and RR, like tire pressure. Battery voltage, CCA, and age live under Under
Hood and use the same header chips; open the row to enter the reading.
Battery manufacture date is MM/YY. Add a custom line at the bottom when you
need an item that is not on the list. Mark the inspection complete from the
bottom of the checklist (or from the job checklist circle). Yellow findings
are monitored for a later visit. Rating the same item green (or red) on a
later inspection clears that watch. Findings stay on the Inspection task.
They do not add extra tasks on the job.

**Start voice notes** on the inspection checklist calls your phone from the
shop number. Talk through what you see across the inspection, then hang up.
A progress bar shows while myodo applies notes. It matches what you said to
checklist items and fills notes, ratings, and measurements when it is clear.
Items you did not cover stay blank. Finish the rest in the list. Add your
phone under Profile in Settings first.

**Check and set tire pressures** is a shop must-do on the checklist when it is
assigned to you. Advisors set its assignee on the job (separate from Inspection
or other labor). Measure tires on arrival at LF, RF, LR, and RR. Enter Tires set to
for front and rear.
Values save as you type. The task completes when all six fields are filled, and the
page confirms tire pressure is complete. There is no clock-in row — fill the
fields and the task finishes on its own.

On a return visit, ratings and measurements from the vehicle's last completed
inspection are already filled in. Notes and photos start blank for this visit.

Marking a task done clocks you out of that task; choose **Reopen task** to
clock in again. Service advisors can clock you in or out from the job page, and
can correct those times there even if the task is not approved yet.

## Odometer

On a repair job, the job page shows **Odometer in** and **Odometer out** side by
side. Enter or correct either reading; each saves when you leave the field.
Odometer out must match or exceed odometer in.

## Marking the job complete

The job stays on My jobs after the last task. When every labor task (and tire
pressure, when assigned) is done, choose **Mark job complete** to hand the
job back. If the job has no labor tasks
(parts only), you can mark it complete right away. The service advisor invoices
from the job page once approved work is finished and odometer out is entered,
even if you have not handed the job back yet.

If the advisor authorizes more labor later, the job comes back to My jobs.

## Hours

Open **Hours** from Settings and pick a date range.
Billed hours come from closed jobs. Task hours come from the job timer.
Shift hours come from the punch clock. Closed jobs in the range list billed
hours for each visit.

## Settings

Technicians open the gear on My jobs. Service advisors and shop admins
change profile and appearance in staff Settings.

### Profile

Name, phone, and photo. The photo shows on job notes. Email is used to sign in.
Add a phone number before **Start voice notes**.
Choose **Save changes** after you edit name or phone. Use **Upload** or
**Remove** for the photo.

### Appearance

Theme is Light, Dark, or System. The choice applies on every device for you.

# Shop website

Website settings control the public booking page customers see at your shop's
booking URL. Find them under Settings, then Website.

Online booking services, hours customers can book, and the website button
snippet stay under Settings, then Online Booking.

## Layout

Choose Basic or Full. They are two templates for the same public page.

The website button snippet on Online Booking works with either one.

On Full, a top bar keeps phone, address, and hours visible. Address opens
directions. Header links jump to Testimonials, About, Services, Photos, and
Reviews when those sections have content. Hours and Directions also sit in the
footer. Booking stays in a modal.

## Domain

Type shop.com. Save changes.

Add these records at your DNS. @ means shop.com.

TXT
Name: @
Value: paste the TXT row

A
Name: @
Value: paste each A record. Add all four.

Come back to Website after the records are live. Then open shop.com. The
myodo booking URL still works.

## Hero

Upload an image, choose Use your uploaded image to apply it, or Delete upload
to remove it. Headline and description are the hero copy.

On Full, Book appointment on the hero and in the header opens the booking
steps.

## Brand color

Pick the color for Book appointment and Review us on Google.

## Logo

Upload a logo to show it in the header. Without a logo, customers see the shop
name.

## Hours

Hours on Full come from Settings, then Hours. They show in the top bar and
the footer. Empty hours stay hidden.

## About and photos

About has a note, About photos, and badges. Full shows Welcome, the note,
badges, and Book appointment on the left. About photos you upload stack on the
right. The Photos section further down is a separate gallery. Choose Delete
photo or Delete badge on a thumbnail to remove it. Empty fields stay hidden on
the public page.

## Services

Bookable services on Full come from Settings, then Online Booking. The public
page lists each active service name and description. Book appointment opens the
same booking steps.

## Testimonials and reviews

Both sections use Google reviews. Testimonials shows three quotes and Read all
reviews. Google reviews shows the rating, the quote grid, and Review us on
Google. Both stay hidden until Google returns a rating. The Google review link
under Details is the same link used for review request automations.

Choose Preview in the page header to open the public page at the current shop
URL. Choose Save changes to keep your edits.
