inparlor.
Case studyHVAC Companies12 weeks

How an offline-first field app lifted a Phoenix HVAC company's same-day invoicing 31 points

Phoenix HVAC company with technicians on paper job sheets, phoning the office for every update and losing same-day invoicing on 40% of jobs. We shipped an offline-first mobile app for jobs, photos, and invoices. Same-day invoicing rose 31 points, from 60% to 91%, truck-to-office calls dropped 55%, and techs rated it 4.8 out of 5.

Anonymized · Published April 21, 2026

Headline results
  • Same-day invoicing

    +31 pts

    60% to 91%

  • Truck-to-office calls

    -55%

    fewer interruptions

  • Tech adoption

    4.8/5

    field crew rating

  • Jobs workable offline

    100%

    by design

The challenge

The client runs 18 technicians across the Phoenix metro doing residential and light-commercial HVAC. Their problem was the gap between the truck and the office. Techs carried paper job sheets. To check a customer's history or confirm a part, they called dispatch. To close out a job, they handwrote the work, drove the sheet back to the office that evening or the next morning, and someone re-typed it into the billing system before an invoice could go out.

The result: roughly 40% of jobs did not get invoiced the same day. In a business where the customer's intent to pay is highest the moment the unit is fixed and the tech is standing in the driveway, that delay was real money sitting in a stack of paper on a passenger seat. And the desert is full of dead zones, attics, mechanical rooms, rural service calls, so any app that needed a live connection would be useless exactly when the tech was on the job.

What we found

We rode along for a week. Two things were obvious. First, the office calls were not about hard problems; they were about information the tech should have had in their pocket, the customer's equipment, the last visit, the part number. Second, every previous "go digital" attempt had died on connectivity. A tool that froze in an attic with no signal got abandoned by day two.

So the brief wrote itself: offline-first, or it does not ship.

What we built

A React Native app, built with Expo, that works whether or not there is signal.

  • Offline-first sync queue: Every action a tech takes, opening a job, logging work, generating an invoice, writes to a local store first and queues a sync. When the phone gets signal back, the queue drains in order, with conflict handling so two edits never clobber each other. The tech never waits on a network and never sees a spinner in an attic.
  • Photo uploads: Before/after photos and equipment-tag shots captured on the job, stored locally, compressed, and uploaded opportunistically when bandwidth allows. Photos became the firm's proof-of-work and dispute record.
  • Invoice generation on the truck: The tech builds and presents the invoice in the driveway, line items, parts, labor, the moment the job is done. It syncs to the back office automatically. No paper, no re-keying, no evening drive.

Share of completed jobs invoiced the same day

Before · Same-day invoicing

60%

Paper sheets re-keyed at the office the next morning

After · Same-day invoicing

91%

Invoices generated and synced from the truck

Results

(See the full headline-results grid at the top of this page.)

How the build ran

  1. Week 1-2

    Ride-alongs + offline spec

    A week in the trucks. Confirmed the real failure mode was connectivity, not complexity. Wrote the spec around an offline-first sync queue as the non-negotiable foundation.

  2. Week 3-6

    Sync engine + jobs

    Built the local-first data layer and the sync queue first, before any screen, because everything else depends on it. Then the job list, history, and detail views on top.

  3. Week 7-9

    Photos + invoicing

    Photo capture with opportunistic upload, and the on-truck invoice builder wired to the back-office billing system.

  4. Week 10-12

    Field pilot + rollout

    Piloted with three techs in the worst-signal territories first. Fixed the edge cases they found, then rolled to all 18 with a half-day of training.

The numbers

Across the first two months, same-day invoicing rose 31 points, from 60% to 91%, as techs closed jobs from the driveway instead of the office. Truck-to-office calls dropped 55% because the information techs used to phone for now lives in the app. And every job runs fully offline by design, including the ones in dead zones, syncing later when signal returns, which was the property that mattered most to the owner. The crew, the group most likely to reject new software, rated it 4.8 out of 5.

The other apps we tried froze the second a tech climbed into an attic. This one doesn't care if there's signal. Invoices go out from the driveway now instead of riding home on the dash, and dispatch isn't fielding fifty calls a day for stuff the guys can just look up.

Operations Manager, Phoenix HVAC operator

What we learned

For field-services software, offline-first is the product, not a feature. A tool that needs connectivity gets abandoned the first time it fails on a job, and after that you will never win the crew back. Build the sync queue before the first screen and the adoption number takes care of itself. The owner stopped seeing invoices ride home on the dashboard, and the crew stopped phoning the office for what they could now read in their pocket. That is what we were hired to fix.

Engagement led by Inparlor

Published April 2026 · 1 service · 12 weeks

Want results like these?

Tell us about your business. We respond in 48 hours.

Pricing, scope, timeline, and the team that would actually run the engagement.

Get a proposal