How Loupe works
How it works
Six steps from a spreadsheet you already have to money you can bank.
Data, detect, prove, fix, recover. Each step below shows the thing itself rather than a picture of it — the files, the mapping, the detectors, the arithmetic, the draft, and the figure that comes back.
Upload
There is nothing to connect.
You export CSV or Excel from the tools you already run and upload the files. No login to your CRM, no key to your accounting system, no background job reaching into anything — and nothing pointing the other way, because Loupe can only read what you hand it.
Your exports
- leads.csvwho asked
- calls.csvwho rang
- quotes.csvwhat you priced
- jobs.csvwhat you did
- invoices.csvwhat you billed
Accepted:
.csvand.xlsx. The file itself is never kept — only the fields you map, and its name.Map
You confirm what each column means.
Every vendor names its columns differently, so Loupe proposes a mapping from the header names it recognises and shows you a preview before anything is stored. A header it is not sure about is left for you rather than guessed at — and only the fields you map are written. Every other column in the spreadsheet is dropped at the door.
Column mapping · example
Your header Loupe field Job Total Job value matched Date Created Created matched Proposal Sent Sent matched Due Date You place this one needs you A due date is not an issue date, so the matcher refuses to bind it and asks instead. Guessing is fine; guessing silently is not.
Detect
Five detectors, all arithmetic.
Each one reads your normalised records and returns a finding or nothing at all. There is no model anywhere in this step: run it twice on the same rows and you get the same answer, which is the only reason the next step is possible. A detector that cannot support a claim on your data makes none — the response-time detector, for one, goes quiet when either bucket is too thin to compare or the export carries dates without times.
Detectors that run
- Leads wait too long for a first callback
slow_lead_response@1.0.0 - Quotes are going stale without a decision
aging_quotes@1.0.0 - Work you have done and not been paid for
uncollected_invoices@1.0.0 - Past customers have gone quiet and nobody followed up
dormant_customers@1.0.0 - AI-booked jobs collect less cash than jobs your team books
ai_booked_job_audit@1.0.0
Each formula carries its own version, so a figure can always be read back against the arithmetic that produced it.
- Leads wait too long for a first callback
Prove
The figure opens into its own arithmetic.
Every finding carries the rungs that produced it and the ids of the exact records it was built from, so the dollar amount is never something you have to take on trust. Disagree with a rung and you can say which one.
Leads waiting too long for follow-up
The arithmetic behind the example figure, one rung at a time Rung Applied Running Leads in the export 164 164 Booking gap, fast vs slow × 29 pts 47.6 Close-to-complete rate × 93% 44.3 Average ticket × $1,399 $61,900 Share realistically recoverable × 35% $21,700 Followed by the 164 records it was computed from, each one yours.
Example · demo records · your figures come from your own exports
Fix
A draft you send. Never one we send.
Each leak comes with the message or the process change that closes it, written as a template with the details left in brackets for you to fill. Loupe never contacts your customers and never sends anything on your behalf — it goes out from your inbox, in your words, or it does not go out.
Draft · email
SubjectFollowing up on your enquiry
Hi [first name], Thanks for reaching out to [your company] — sorry we didn't connect sooner. I'd still love to help with [what they asked about]. Do you have 10 minutes today or tomorrow for a quick call? Reply here or grab a time: [booking link]. [your name]
Bracketed fields are yours to fill. Nothing is sent from here.
Measure
Next month's export answers the question.
Competitors stop at booked. The same arithmetic runs again on the records you send the following month, against starting numbers agreed in writing on day one, so a fix is credited by what it collected — not by what it was projected to.
Recovered, measured
- Monthly, at month ten
- +$18,400/mo
- Cumulative, ten months
- $64,200
Collected, not booked. A month where nothing was recovered says so.
Example · demo records · your figures come from your own exports
Five exports. That’s everything we ask of you.
- Housecall ProJobberServiceTitanHubSpotSalesforcePipedrive
CRM / pipeline
RequiredThe enquiries that waited longer than you would have liked, and the proposals that never got their second call.
- QuickBooksXeroFreshBooksSage
Accounting
RequiredThe one almost nobody else asks for. It is what lets us follow a job past booked all the way to the money landing — and name the invoices that never quite got there.
- Google AdsMetaLinkedIn
Ad platforms
RecommendedWhat your spend actually brought back in work, rather than what it bought in clicks.
- CallRailTwilio
Call log
RecommendedHow quickly calls get answered, which ones were missed, and what happens after hours.
- StripeSquare
Invoicing / payments
OptionalWork you have already delivered but never been paid for — usually the quickest money to recover.
Loupe reads files you can already export today — no installation, no integration to approve, nothing plugged into your systems. The first two are the floor. Each one after widens what the report can prove.
- Housecall Pro
- Jobber
- ServiceTitan
- HubSpot
- Salesforce
- Pipedrive
- QuickBooks
- Xero
- FreshBooks
- Sage
- Google Ads
- Meta
- CallRail
- Twilio
- Stripe
- Square
Not integrations — you export a CSV and upload it. Loupe never connects to these tools or is granted access to them. Anything that exports a file works, even if its logo is not here.
Everyone else watches one slice.
| Job | Lead | Quoted | Booked | Invoiced | Collected |
|---|---|---|---|---|---|
| Q-8841 | Lead: yes | Quoted: yes | Booked: yes | Invoiced: yes | Collected: yes |
| Q-8842 | Lead: yes | Quoted: yes | Booked: yes | —Invoiced: no | —Collected: no |
| Q-8843 | Lead: yes | Quoted: yes | Booked: yes | Invoiced: yes | Collected: yes |
| Q-8844 | Lead: yes | Quoted: yes | Booked: yes | Invoiced: yes | —Collected: no |
Their trail ends at booked. Whether the job was invoiced, and whether the invoice was ever paid, is in the accounting export — which is why Loupe reads that too.
The money leaks in the gaps between them — and a black box can’t prove what a fix returned. Loupe joins all of it, ranks every leak in dollars, shows the math, and measures what each fix brings back. One clear view, a named analyst, and the receipts behind every figure.
And every one of them stops at your CRM, so the last thing they can see is a job getting booked. Loupe reads your accounting exports too — so it can follow that job to the invoice, and tell you which bookings turned into money and which quietly never did.
“You’ll always know who’s looking at your numbers. I review every dashboard personally — and we walk through it together, every month.”
See what you’re
quietly losing.
Free · about 30 seconds · no signup