Help

Getting your records in

Where each export lives, and what to do when one is refused.

Loupe reads five exports — leads, calls, quotes, jobs, invoices. You need one to start, and the detectors that compare two files need both of those two.

Exporting

Jobber
Reports, then export Requests, Jobs, Quotes or Invoices to CSV.
Housecall Pro
Reporting, then export the equivalent list.
QuickBooks
Reports → Invoices → Export to Excel. Upload the .xlsx as it comes.
CallRail
Activity, then export the call log.
Anything else
Any CSV or Excel export works. Column names never need to match ours — you confirm what each one means before a single row is stored.

When an import is refused

It says the file is over the row limit

A single import takes 20,000 rows, and a free workspace takes 1,000. Split the export by date range and upload each part — nothing is lost, because each import adds to the same record type.

It says the file is too large, in bytes rather than rows

The ceiling is 6 MB and a very wide export can reach it well before the row limit. The importer computes how many rows of your columns would fit and tells you that number; split to roughly that.

It says a required column is missing

A detector needs certain fields to say anything — a lead needs the time it arrived, an invoice needs what was billed. The mapper names exactly which one is missing. If your export genuinely has no such column, re-export with it rather than mapping something close: a wrong column produces a confident wrong number, which is the one thing this product refuses to do.

Rows were skipped

A row whose required value could not be read is skipped rather than guessed at, and the panel lists the first ten with the row number and the reason. The commonest cause is a date with no time — a file where 90% of stamps sit at midnight cannot answer a response-time question, and the detector says so instead of estimating.

The values look shifted by one column

Almost always an unquoted value containing a comma, like $1,766. The importer flags it loudly because those rows import without erroring — re-export with quoting on, or wrap such values in quotes, and import again.

It says there are too many columns

256 is the ceiling. Every column you do not map is dropped at the door anyway, so deleting the unused ones before export costs you nothing.

Stuck on something that is not here? Tell us what you are seeing — it reaches a person, and it is the same route whether you are paying us or not.

The honest answers

The things owners usually ask us first.

“I already have reports in QuickBooks and my CRM.”

Each of those sees one slice. Revenue leaks in the gaps between them — the lead never called back, the quote never chased. Loupe joins all of it and finds what no single tool can.

“Sounds like another dashboard I’ll never open.”

It isn’t one. You get a short ranked list of what to fix, each with an owner and a deadline — and on the diagnostic and the recovery partnership, a real analyst who walks you through it with you every month.

“How do I know these numbers are real, not AI guesses?”

Software computes every figure from your own records, and the math is shown line by line. AI only explains it — it never invents a number.

See what you’re
quietly losing.

Both free. The check takes about 30 seconds and asks for nothing; the workspace runs the same detectors on one export of your own. Or start a conversation →

We'll email you when we can take on your audit — no waitlist games.