Tap to Pay isn't appearing on iPhone
Tap to Pay isn't appearing on iPhone
Requirements checklist:
- Stripe is connected with a valid Secret Key ✓
- Terminal Location ID is configured in Stripe settings ✓
- iPhone XS or later (NFC required) ✓
- Location permission is granted in iOS Settings ✓
- The order is unpaid ✓
- Check each requirement above
- For Terminal Location ID: open your Stripe Dashboard → Terminal → Locations → copy the Location ID and paste it into CRM settings
- For location permission: go to iOS Settings → find your browser or the CRM home screen app → Location → set to “While Using”
- Hard-reload the CRM page (pull to refresh) and try again
Inventory isn't deducting when I mark an order Done
Inventory isn't deducting when I mark an order Done
Inventory only deducts under two conditions: (1) materials are attached to the order, and (2) the order status is changed to Done.Resolution:
- Open the order and scroll to the materials section
- Confirm materials are attached — if the section is empty, materials were never added
- If materials exist, confirm the order status is Done (not In Progress or Cancelled)
- If both conditions are met and inventory still hasn’t updated, refresh the Inventory page — deduction is immediate but the page may need a reload to reflect the change
Body type pricing isn't applying to my quote or order
Body type pricing isn't applying to my quote or order
Common causes:
- The vehicle’s body type isn’t set
- The body type surcharge percentage is 0%
- Body Type Adjustment is off for the service
- The service’s price is 0
- Open the vehicle record and confirm a body type is selected (not “None” or blank)
- Go to Settings → Vehicle Body Types and confirm the surcharge % for that body type is greater than 0
- Open Settings → Services & Pricing and confirm Body Type Adjustment is enabled for the service
- Confirm the service has a base price greater than 0
- Create a new quote/order line item after fixing the above — existing line items don’t update retroactively
An order is marked Done but still showing as Unpaid
An order is marked Done but still showing as Unpaid
Job status (Done/In Progress/Open) and payment status (Paid/Unpaid) are tracked separately by design. A job can be Done but unpaid.Resolution:
- Open the order and record the payment using any available method (Tap to Pay, payment link, or manual)
- Once payment is recorded, the order updates to Paid
- The order will appear in revenue reports once it’s both Done and Paid
A staff member can't access a feature or module
A staff member can't access a feature or module
Resolution:
- Go to Settings → Staff & Shifts → Permissions tab
- Find the role assigned to that staff member
- Check the permission matrix for the feature they can’t access — look for the View permission specifically
- Enable the permission for their role and save
- Ask the staff member to refresh their browser or re-open the app
CSV import is failing
CSV import is failing
Common causes and fixes:
Leads from the website form aren't appearing in the CRM
Leads from the website form aren't appearing in the CRM
Resolution:
- Open your website in a browser, open Developer Tools (F12), and check the Console tab for errors when submitting the form
- Confirm the form field IDs match exactly what the CRM snippet expects (
crm-name,crm-phone,crm-email,crm-lead-btn) - Confirm the snippet is loaded before the form submit event fires (ideally placed before
</body>) - Check that the lead token hasn’t been rotated since the snippet was installed — if it was, update the snippet on your website
The booking page shows no available time slots
The booking page shows no available time slots
Resolution:
- Open Settings → Scheduling & Availability and review the Online Booking readiness message
- Confirm at least one Business Hours day is open and no date exception closes the requested date
- Confirm the time is inside the Minimum lead time and Advance booking window
- Check the selected scheduling model: Simple capacity must be greater than 0; Team needs an active eligible staff member; Advanced resources needs capacity in every required resource type
- In Team mode, confirm the employee can inherit Business Hours or has working hours for that date. A separate shift is not required when inheritance is enabled
- Check existing orders, temporary selection holds, and blocking Google Calendar events
- Review service duration. A service with no duration uses 60 minutes, and the entire duration plus buffers must fit
AI Assistant isn't answering calls
AI Assistant isn't answering calls
Resolution:
- Confirm the AI Assistant is toggled on in Settings → AI Voice Assistant
- Confirm a phone number is provisioned and active
- Check the AI call logs page for errors on recent attempts
- Confirm your call routing still points to the provisioned AI number
The AI Assistant won't offer an expected appointment time
The AI Assistant won't offer an expected appointment time
Resolution:
- Confirm AI booking shows Ready under Settings → Scheduling & Availability
- Confirm the service is enabled under AI Voice Assistant → Available Services
- Check the same Business Hours, lead time, advance window, buffers, capacity, qualifications, orders, holds, and calendar conflicts used by Online Booking
- Do not add the time to the AI prompt as a workaround — the prompt cannot override unavailable slots
My Google Calendar isn't syncing
My Google Calendar isn't syncing
Resolution:
- Go to Settings → User & Security
- Check the Google Calendar connection status
- If it shows Needs Reconnect, click to re-authorize — your Google token may have expired
- After reconnecting, create a test order assigned to yourself and check if it appears in Google Calendar within a few minutes