Nobody has to be awake.
A critical fault lands at 01:47 on a Saturday. Auto Solar Service reads it, translates it, picks the nearest free technician, books the visit and texts them. The first person to hear about it is the technician.
This is the software we run our own California service on. Solar service companies in every other state can license it, under their own name, from $1,900 a month.
In Imperial or San Diego County and just want your own system looked after? That is autosolarservice.com, $39.99 a month.
What it costs to do this by hand
Every platform speaks its own language
One condition, five vendor strings. Somebody on your team has to know that GRID-501, SMA-410 and Fault11 are the same problem, and has to know it at 2am.
Out of hours, the alert waits for a person
Either it sits until somebody opens a laptop in the morning, or somebody gets woken for a fault that could have waited. Both are decisions nobody made deliberately.
Labor gets billed from memory
Hours reconstructed on Friday are the hours you can defend, not the hours you worked. The gap between those two is margin, and it only ever goes one way.
Polling adapters pull from the monitoring platform on a schedule, and anything else posts in through a webhook: SCADA, an APM platform, your own middleware.
Alerts arrive when they are raised, not when someone checks.
Every vendor string resolves to one of 64 SSA codes across 9 categories, carrying severity, dispatch priority, expected labor hours and the parts that belong on the truck.
A code SSA has not seen lands in UNK and waits on an owner to map it, once.
Zone primary first. If they are unavailable, the best free backup by travel time plus current load, inside your own distance limit. Then the earliest slot that fits.
Critical goes out at any hour and reflows what it clashes with. Everything else waits for business hours, because waking a technician for a soiling alert is how you stop having technicians.
The technician's device crossing the site geofence opens and closes the labor clock. Trip fee, labor rounded up to the hour at your company rate, after-hours doubled, parts at list.
Anything the system cannot price confidently is held as a draft for a human, never billed on a guess.
Trip fee, labor rounding, the after-hours multiplier and which severities may wake somebody are settings, not our opinion. Fourteen of them, per organization.
Pick a fault and follow it down the page
Everything below this line is computed live from the real code table, the real billing rules and real zip geometry, against a sample fleet in Yuma. Choose any row and the rest of the page re-runs for it.
SSA
title
- Severity
- C
- Dispatch priority
- 1
- Flat labor
- 2.0h
Distances come from zip centroids, 33,791 of them, at your own average travel speed. A technician further out than your backup radius is never considered, so the one who is 144 miles away does not get woken.
Nobody approved any of this. There is no queue waiting for a dispatcher to arrive at eight.
The clock nobody has to remember to start
Labor is not typed in by anybody. The technician's device crossing the geofence opens and closes the session, and those two timestamps are what the invoice bills.
The job cannot be closed until materials are confirmed: standard parts pre-filled from the code, extras added by hand, or an explicit "none used". The mobile API for all of this is live. The technician app build is not shipped yet, which is the next piece of work, not a claim on this page.
One trip fee per visit, never multiplied. Labor split by the clock in your own time zone, rounded up to the hour with a one hour minimum, billed at your company rate, after-hours doubled. Parts at list price. Tax on the subtotal.
An invoice with no clock data, an unpriced material, or a session over twelve hours is held as a draft and never sent.
What it reads, and what it costs
What your customer pays is the arithmetic above, with your numbers in it.
What the platform costs you is published below: three tiers, priced by technician seats and connected platforms, never by monitored systems, and never a cut of your monitoring revenue.
License pricing
Priced by technician seats and connected monitoring platforms. Monitored systems are never metered, there are no per-fault fees, and we take no cut of the monitoring fee you charge your customers. Licenses are for service companies outside California. Onboarding is by conversation today; there is no self-serve signup.
$1,900/ month
- Technicians
- up to 10
- Connected platforms
- up to 3
- Monitored systems
- unlimited
- Scheduled polling adapters and the signed webhook lane
- The full 64-code fault taxonomy and 51 shipped vendor mappings
- Zone-based auto-dispatch with backup ranking, SMS and push
- Business-hours slotting, after-hours only for severities you choose
- Geofenced labor clock and automatic invoice drafts, sent through Stripe
- Email support
$4,900/ month
- Technicians
- up to 35
- Connected platforms
- up to 8
- Monitored systems
- unlimited
- Everything in Starter
- Live dispatch board with dispatcher drag-override
- Per-customer monitoring-fee subscriptions billed through Stripe, at the rate you set
- Priority support
- Published repair price list for your customers planned
$9,900/ month
- Technicians
- unlimited
- Connected platforms
- unlimited
- Monitored systems
- unlimited
- Everything in Growth
- Adapter prioritization for the platforms your fleet runs on
- Onboarding and data migration support
- A direct line to the people building it
- White-label portal planned
- Public API planned
Built for fleets across states
For regional and national O&M companies with hundreds of technicians. Two of these are available now; the rest are committed roadmap and marked that way.
No technician or platform caps. Monitored systems are never metered on any tier.
Tell us which monitoring platforms your fleet runs on and those adapters are built next.
Separate boards per region, one set of reports.
Your brand and your customer experience, on this infrastructure.
Pre-approved repair price lists managed across many contracts.
Alerts, jobs and invoices into your ERP, CRM or field service tools.
If you run a large fleet, talk to us now. Early licensees decide which adapters and features get built first.
Who it is built for
These are the operations the product was designed around. The platform has no outside licensees yet, so no results are claimed here.
Eight hundred home systems across a metro area, all on Enphase. A coordinator watches the portal and works the phones, and a critical inverter fault can sit for hours.
The platform reads each alert, gives it a code, a severity and a labor estimate, and sends the nearest available technician, with every step timestamped so response time becomes a number you can manage.
A hundred and twenty rooftop sites with same-day response obligations for grid and ground faults.
Critical codes jump the queue and go out at any hour, the technician gets the fault and the likely parts before leaving, and the labor clock comes from the geofence, so the hours make it onto the invoice.
A portfolio of commercial sites with mixed inverter brands, each with its own alarm vocabulary, where downtime is lost production.
Every vendor string collapses into one set of codes your whole team reads, and anything unmapped waits in one place for a person to map it, once.
Where the build actually is
If you are evaluating a license, evaluate this. As of 27 September 2026.
- doneData model and taxonomy
Row-level security on every tenant table, roles re-checked on the server. 64 fault codes, 51 vendor mappings, 36 catalogue parts, 26 catalogued platforms.
- doneIntake and normalization
Polling adapter framework, signed webhook lane, idempotent on provider and alert ID, unknown codes held for mapping instead of dropped.
- liveZones, auto-dispatch and scheduling
Zone primary, ranked backups inside your distance limit, business-hours slotting, after-hours only for the severities you allow, accept timeouts and reassignment. Running at app.autosolarservice.com.
- liveLabor clock and invoicing
Geofence sessions, confirmed materials, one shared invoice module, review gate for anything it cannot price. Stripe invoices and per-customer monitoring subscriptions.
- nowTechnician mobile app
The mobile API is live and an Android preview build exists. The app is not yet in the stores or proven on a technician's phone in the field.
- nowLive vendor feeds
Every catalogued platform needs developer credentials or partner access from the vendor. None is streaming yet; alerts today come through the webhook lane and a simulated fleet.
- nextHardening and first licensees
Real provider credentials in place of fixtures, monitoring on our own pipeline, then onboarding the first outside operators.
This is the work order you built by picking a fault. It goes with the request, so the first conversation starts from your own equipment rather than from a demo.