...
MVP Backoffice
Sales
Reports
Admin
Service Map
Today's Schedule
This Week's Full Schedule
Date / TimeCustomerService Type TechnicianStatusInvoice
⏳ Open & Pending Jobs
Needs Confirmation
Open Invoices
Paid This Week
Total Customers
-
Active Equipment
-
This Week's Jobs
▶
Pending Requests
-
Confirmed This Week
-
Today's Jobs
-
Completed This Week
-
In Progress
-
Invoices & Revenue
▶
Open Invoices
-
Outstanding ($)
-
Collected This Week
-
Paid This Week
-
QBO Unsynced
-
NamePhoneEmailAddressEquipment
-
CustomerPhoneEquipmentLast Service Due DateStatus
NameCategoryDefault IntervalType
#
Invoice #CustomerDateTotalStatus
Estimate #CustomerDateExpiryTotalStatus
Contract #NameCustomerStatusStart DateEnd DatePrice
NamePhoneEmailService TypeReferralStatusSubmitted
Delivery #CustomerTechnicianProductsScheduledStatus
Contract #NameCustomerStatusStart DateEnd DatePrice
Active
-
Offline
-
Open Alerts
-
Total Devices
-
DeviceTypeCustomerStatusLast SeenLast Readings
CityStateRate
Categories
Description Category Brand / SKU Unit Cost Price H₂O₂ Odoo
NameDescriptionPriceTaxable
DateTimeTechnicianCustomer Service TypeStatusAddress
Select filters and click Search.
TechnicianDateClock InClock OutHoursNotes
Select a week to begin.
▶ Recent Edits (audit log)
Customer Phone Address Equipment Due Worst Status
DateTimeCustomerService Technician(s)StatusInvoiceCollected Office Notes
Loading…
Loading…
Invoice #CustomerPhoneService DateTotalPaidBalance DueStatus
Loading…

Upload a PNG logo. It appears on all PDF invoices and reports. If no logo is uploaded, a text-only header is used. Emails include the logo inline.

No logo

PNG only, max 2 MB. Recommended: transparent background, ~300 px wide.

Checking Gmail connection…

Create a project at console.cloud.google.com, enable the Gmail API, create an OAuth 2.0 Client ID (Web application type), and add https://your-domain/api/public/gmail/callback as an Authorized Redirect URI. Then save your credentials below and click Connect.

smtp-relay.gmail.com (recommended) authenticates by your server's IP address - no password needed. Authorize your server IP in Google Workspace Admin Apps Google Workspace Gmail SMTP relay service. Port 587.
smtp.gmail.com requires a 2-Step Verification App Password. Leave host blank to use the relay default.

Required for the "On My Way" button to send push notifications to the customer app. Get your server key from the Firebase Console Project Settings Cloud Messaging Server key.

Customize the subject line and body for each automated email. Use {{variable}} placeholders - they are replaced with live data at send time.

Available variables: {{first_name}} {{service_type}} {{date}} {{time}} {{technician}} {{address}} {{company_name}} {{company_phone}}

Compose and send a single email to any address. The branded header/footer are added automatically.

Automated emails are sent when: an appointment is confirmed (confirmation email), a job is marked complete (invoice email), and 24 hours before an appointment (reminder email via daily cron).

Review QR codes appear on every invoice PDF. App download QR codes are shown in the customer and technician apps wherever the "coming soon" placeholder appears.

Controls the customer portal link. A QR code generated from this URL appears on every invoice PDF. Point it to your customer PWA, website, or app store listing.
Customer Portal QR Image
No QR uploaded

PNG only, max 10 MB. Generate a QR that encodes the Customer Access URL above and upload it here for printing (flyers, door hangers, business cards).

Checking QBO connection…
Card-in-Field payments are synced to QBO as payments deposited to Undeposited Funds. Process them through your card terminal in QBO and move them to your bank account when ready.
Mapping Health
Audit invoice and customer links against QuickBooks. Stale mappings (deleted or merged in QBO) cause sync errors like “Invalid Reference Id”.
Checking Odoo connection…

Uses XML-RPC. Create an API key in Odoo: Settings → Users → your user → Action → API Keys → New. Enter the root Odoo URL (e.g. https://www.yourcompany.com) - XML-RPC is called at root/xmlrpc/2/common. The Base Path is only needed if your server proxies Odoo under a subpath (e.g. odoo → root/odoo/xmlrpc/2/common).

Push MVP → Odoo
Pull Odoo → MVP

Runs every 5 minutes via crontab. Syncs customers, parts, invoices, appointments, and payments in both directions.

Export appointments as .ics files or sync with Google Calendar. Apple iCal, Outlook, and other calendar apps can subscribe to the .ics feed.

Checking Stripe connection…

Accept credit card payments online. Customers can pay invoices via a Stripe Checkout link. Requires a Stripe account.

Webhook URL: https://your-domain/api/public/stripe/webhook

Send messages to customers via the customer app or email. Messages are stored in the database and can be viewed in the customer detail page.

0
Total Messages
0
Unread (Inbound)
Configure email and SMS providers above to enable message delivery. The customer app must be deployed as a PWA for in-app messaging.

Manage staff accounts, equipment types, and local tax rates.