Gainesville, serving Alachua County Monday to Friday, 9 a.m. to 5 p.m.Español
(352) 226-0681 Call us Español

What happens after you call us

The free call tells us whether a walk is worth it for your business. The walk is the first paid step, and it ends in a sheet with a dollar figure on every problem.

We usually call back the same business day.

The steps

You can stop after any of them.

  1. Today

    Free

    A free call, by phone. You tell us where the week goes. We tell you plainly whether a walk would pay for itself.

    How the free call goes
  2. The walk

    Paid

    A visit to your business, and a look at your records.

    The walk starts at $500. Bigger businesses get a quote on the free call. Start a fix of $1,500 or more within 30 days and the walk fee comes off its price.

    What the walk covers
  3. Your sheet

    Every problem in dollars, usually within a week of getting your records. You keep it either way.

    See a full example sheet
  4. Then, only if you want

    Paid

    One fix, priced before work starts, and a monthly check you can cancel any month.

    What a fix and the monthly check include

Step 1: The free call

Free By phone, in English or Spanish.

You tell us what eats your week. We tell you plainly whether a walk would pay for itself.

If someone else keeps your books, bring them on the call. If you say no to a walk, we don't call or text again unless you ask.

Step 2: The walk

Paid Up front, when you book.

It has three parts: the visit, your records and the sheet.

The walk starts at $500. Bigger businesses get a quote on the free call. Start a fix of $1,500 or more within 30 days and the walk fee comes off its price.

Not worth it to you? Text or email us within 7 days of the call where you go over your sheet, and you get the walk fee back.

The visit

We set the visit date with you when you book. At a 2-truck plumbing shop, it stops here:

  1. 1The whiteboard in the office

    Visit Tuesday. Quote Friday.

  2. 2The trucks in the lot

    Supply ticket in the door pocket. No job number.

  3. 3The invoice pile on the desk

    Paper ticket, calendar, QuickBooks. Same job, three times.

  4. 4The phone at the counter

    11:20 AM, both techs on jobs. Nobody called back.

Your records

Invoices, calendar, job list and call history. You run the exports or give us a user seat of our own, never a shared password. The call history shows when calls came in and whether anyone answered, not what was said.

The sheet

We go over it with you on a call: every problem with a dollar figure and what it would take to fix. If a setting you already pay for fixes one, we tell you.

The sheet is yours to keep, whether or not you hire us for a fix.

What the walk never does

  • Renew, or add a charge. It's one charge.
  • Ask for a password.
  • Change anything in your phone, software or accounts.
  • Text your customers.
  • Put your files into an AI tool unless you say yes. They're deleted once your sheet is delivered.

How we handle your records is on the privacy page.

Full terms

Paid when you book, by card, bank debit or check. If we can't make the visit or can't deliver your sheet, you get all of it back. Cancel before the visit starts and before any of your records are shared, and you get all of it back. Not worth it to you? Tell us within 7 days of going over your sheet and we send it back; the sheet stays yours. Start a fix of $1,500 or more within 30 days after we hand you the sheet, and the walk's price comes off that fix. A refunded walk carries no credit toward a fix. The walk agreement has the full terms.

Step 3: Your sheet

A full example for a 2-truck plumbing shop, with the formula behind each priced row.

Walk sheetDunlin Plumbing, 2 trucks, Alachua County

Built from the calendar, a QuickBooks export of quotes and invoices, 30 days of call history from the phone company, and the visit.

  1. Quotes sent 48+ hours after the visit

    9 of 22 quotes went out 2 or more days after the visit. 5 of those customers went elsewhere.

    5 jobs × $380 profit a job
    Effort: Medium$1,900How you will see it move: Days from visit to quote, in your quote export.
  2. Same job typed in three places

    Paper ticket, calendar, QuickBooks.

    40 min a day × 22 days × $28 an hour
    Effort: Medium$411How you will see it move: Minutes a day, timed on site before and after.
  3. Calls nobody called back

    14 a month from numbers that aren't customers yet. 3 called back, 11 were not.

    11 calls × 24% would book (vendor data) × $151 profit a job ($341 average visit × 44.3% kept)
    Effort: Low$399How you will see it move: Calls not called back, in your call history, month by month.
  4. Supply-house tickets with no job number

    14 counter tickets last month carried no job number, $612 in parts. From your supplier statement.

    Until each ticket is matched to a job, nobody can say which parts were billed. Suggested first fix
    Effort: Lownot pricedHow you will see it move: Tickets with a job number, on your monthly supplier statement.
Lost before any fix$2,710 a month

Time back for the example plumbing shop: about 15 hours a month

Yours is built from your own records.

3 more things the walk found, not priced
  1. Reviews never requested

    61 jobs finished this month, 0 review requests sent. The Google page still shows 12 reviews.

    Effort: Lownot pricedHow you will see it move: Your Google review count.
  2. Past customers with no job since

    38 customers with a job 13 to 36 months ago and none since. From your invoices.

    Effort: Mediumnot pricedHow you will see it move: Past customers who book again, in your invoices.
  3. Texts in one language

    Booking texts go out in English only. The office noted 9 callers last month who asked for Spanish.

    Effort: Mediumnot pricedHow you will see it move: Spanish texts sent, in your booking tool.

Suggested first fix: row 4, the supply-house tickets. Row 1 is bigger, but this one is low effort, and every part it finds is money you already spent.

You will see it move on your own supplier statement: every ticket with a job number, and a weekly list of parts bought for a job that never reached its invoice. Next on the list: row 1, then row 2.

Where the example numbers come from

$341 is HomeAdvisor's national average plumber visit (2026, cost guide); 44.3% is Level's median job gross margin (vendor data). 24% is the share of calls that trade shops with fewer than 5 technicians booked at all hours (ServiceTitan blog, 2022, vendor data).

On the AC and heating sheet, 1 in 4 comes from ServiceTitan's January 2026 data on commercial service agreements: 29.8% renewed when renewal was manual and 49.1% with auto-renew and email reminders, so about 1 in 4 of the plans that would have lapsed were kept (vendor data). $189 is an example yearly fee for a plan with two tune-ups, within published Florida plan prices.

On the property manager sheet, 10% is a common maintenance markup in management agreements (BiggerPockets forum, owners and managers reporting; 0 to 20% seen, or a flat fee instead). 70 bills is an example: about 5% of the 1,400 or so vendor bills an office with 212 rentals pays in a year (about 600 in turn week, plus 3 to 5 work orders a rental), at an example $180 a bill.

On the pest control sheet, 1 in 2 and 20% are our own example rates, and your walk puts your own numbers in their place: 1 in 2 lapsed termite renewals won back by a follow-up call, and 20% more declined autopay charges recovered once retries run on a schedule. For scale, Recurly's 2018 study of more than 1,300 subscription businesses found that over 45% of the charges declined for the three most common reasons were recovered (vendor data). $225 is a renewal's $271 average fee across $325 bait and $195 liquid agreements, less a $46 yearly inspection. On the pest control page, $7.50 a foot for trench-and-rod termite treatment sits inside two national cost guides, Fixr's $4 to $14.50 and Polyguard's $3 to $15.

Step 4: One fix

Paid Only if you want it.

We suggest starting with one fix you can watch move in your own records.

Each fix has its own fixed price, never by the hour, and you hear it with the sheet in hand, before any work starts. Any software it needs is opened in your name, at cost, never marked up.

Want everything fixed at once? We quote that from the sheet too, and the prices add up.

Nothing goes to your customers, or into an AI tool, without your OK.

Everything runs in accounts you own, and every fix is built to fall back to how your business worked before.

The same fix, three ways

The fix for row 4, on example data: every supply-house ticket carries the job number as its PO, and a matcher checks each emailed bill against that job's invoice. Here it flags a $41.20 relief valve on job 4471. You choose: add it to the invoice, or no charge.

Most fixes land in what you already use: Excel, QuickBooks, your booking app or a tool we build.

What a fix can look like

  • Every supplier bill checked against the job it was bought for.
  • Finished jobs listed each morning until each one is invoiced.
  • The quote sent the day of the visit, with a reminder to you if nobody answers.
  • A job typed once and filled in everywhere else.
  • Emails and attachments read and filed into the right job folder.
  • Reminders to your team and customers, all year.

See the full list

new_customers.py
"""Sets up each new customer form once.

Runs on its own every 10 minutes.
"""
import openpyxl
import pdfplumber

from office import Customer, calendar, gmail, qbo

CUSTOMERS = "Customers 2026.xlsx"
LABEL = "New customer forms"  # in Gmail


def read_customer_form(pdf):
    # Page 1 has every field we need
    with pdfplumber.open(pdf) as doc:
        text = doc.pages[0].extract_text()
    return Customer.from_form(text)


def add_customer_row(customer):
    # One new row, under the last customer
    book = openpyxl.load_workbook(CUSTOMERS)
    book["Customers"].append(customer.as_row())
    book.save(CUSTOMERS)


def main():
    for pdf in gmail.new_pdfs(LABEL):
        # What the office used to type
        customer = read_customer_form(pdf)
        # Straight into the customer list
        add_customer_row(customer)
        # The first appointment, on the calendar
        calendar.add_appointment(customer)
        # Saved in QuickBooks, not sent
        qbo.save_invoice(customer, send=False)
        # So it is never set up twice
        gmail.mark_done(pdf)


if __name__ == "__main__":
    main()

Run log · Fri, Oct 9, 2:15 PMNext check 2:25 PM

New customer set up. Nobody typed it.

  1. Read form new-customer-118.pdfWaitingNancy Hill, from the website
  2. Added to Customers 2026, row 977Waiting210 Main St, Unit B
  3. On the calendar for Mon, Oct 12WaitingFirst appointment 10:00 AM, (352) 555-0136
  4. Invoice saved in QuickBooks, not sentWaitingOK to send

We write the code, so nobody types a name twice. Your part is one OK.

The monthly check

Paid Month to month, once a fix is working.

One page a month: what the fix did in your numbers and the next problem with a dollar figure. It runs month to month, and you can cancel any month by email. Your fix proposal lists what it covers and how its price is set.

Questions owners ask

What does it cost?

We publish one price, the walk's, in step 2 above, with its terms. It is paid when booked, and you keep the sheet either way, even if you never hire us for a fix.

Everything after the walk is quoted from your sheet, so that number comes after the walk, not before. Each fix has its own fixed price, never by the hour, and any software fees show on their own line, at cost. You hear each price before any work starts. The first conversation is free.

Do you work outside Gainesville?

We are based in Gainesville and walk businesses across Alachua County. Farther in Florida by arrangement. Every walk includes a visit, so call and we will tell you if the drive works.

What data do you need, and what do you do with it?

Your own records: invoices, quotes, your calendar and job list, and your call history with your written OK. You run the exports or give us a user seat of our own, never a shared password. We keep the files encrypted and delete them once your sheet is delivered. The privacy page has the rest.

Do I have to stop work for the visit?

No. We set the day and time with you when you book, around your busiest hours.

Do you record calls or film anything?

Only with your OK, and Florida law needs everyone on a call to agree before it is recorded. The call history we use shows when calls came in and whether anyone answered, not what was said.

Will this replace my office staff?

It replaces the retyping and the chasing, like the job typed into three places or the quote that waits until Friday. What you do with the time it frees is up to you.

Do I have to switch software?

No, not unless you want to. We start with what you already pay for. If new software would pay for itself, you hear what it costs and what it should bring back, and you decide.

What happens when my business grows or I change software?

Tell us first, and we tell you in writing what it touches and what it would cost. More jobs, trucks or staff on the fixes you have cost nothing extra from us.

Do you sell software?

Only when it pays for itself and you want it. We start with the tools you already have: we set them up and connect them, and when nothing on the market fits how your business works, we build a custom tool for it, often in Python, that runs in your own accounts. If we think new software would serve you better, we tell you what it costs, what it should bring back and why, and you decide. If you'd rather replace your tools, we can do that too and supply the new software, with its fees on their own line, at cost.

Most fixes are a setting, a spreadsheet or a small tool inside what you already use. We take no commissions on the tools we suggest.

Is this AI?

Mostly it's plain code, and that's on purpose. A program that copies a number does it the same way every time. It doesn't mistype a digit, skip a step or forget on a busy afternoon, so the policy number on the invoice is the policy number on the policy.

That matters more than the typing time. One wrong digit in a claim number, a misspelled name or the wrong carrier sends a claim or an invoice back, and each round trip with an adjuster costs five to fourteen days before you're paid. One wrong digit in the phone number on your listing sends your calls to a stranger.

Where something has to be read, like a scanned bill or a messy email, we use AI, and code checks what it read against your own records (the name, the policy or claim number, the amount) before anything goes out. That AI runs on your own account, and only on what you approve.

Can you text my customers for me?

Your business sends the texts, from your own number, and you approve every word. We set them up to follow Florida's texting rules, and one STOP ends every text. Our article has the rules in plain words.

What if the fix does not work?

Every fix is built to fall back to how your business worked before, and to alert us when it does. While you have the monthly check, fixing what we built is covered.

The monthly check shows what the fix did in your own numbers. If it did not move them, you see that there, and you can cancel any month.

Can I cancel?

Yes. Cancel before the visit starts and before any of your records are shared, and you get the walk fee back. After that, if the sheet wasn't worth it to you, text or email us within 7 days of the call where you go over it, and you get the walk fee back.

You keep the sheet either way. The monthly check runs month to month: cancel by email before the next billing date. If you stop a fix or a build partway, the agreement says what is owed for the work done.

Do you work in Spanish?

Yes. The free call, the walk, your sheet, the monthly check and the one-page handover sheet can all be in Spanish. If your booking tool texts customers only in English, that can be one of the problems we fix.

Another question? Call or text (352) 226-0681.

Start with a free call.

Money back

Not worth it to you? Text or email us within 7 days of the call where you go over your sheet, and you get the walk fee back. Full terms

Hours
Monday to Friday, 9 a.m. to 5 p.m.
Reply time
We usually call you back the same business day.
Language
English or Spanish
Where
Gainesville and Alachua County. Elsewhere in Florida? Ask us.
Not ready to call?
Put your own numbers in the loss calculator first. It runs on your device and sends us nothing.

Who walks your business

Most owners I meet lose their evenings to the same few jobs: the quote typed up at night, the invoice that never went out, the call nobody got back to.

Before Lumora I did the paperwork at a water damage company, and I automated most of it. Now Lumora walks businesses around Gainesville and does the same.

I speak English and Spanish, so your office can work in either.

Franco A. SotoOwner

About Lumora

Rules we keep

  • We start with what you already pay for.
  • No filming or recording without your OK.
  • Say no once, and that's the end of it.