Overview
Client Reports tell you where your work comes from, who your best customers are, and who owes you money.
Read together, they answer whether your marketing is working, how dependent you are on a handful of customers, and whether the customers you win actually pay.
Available in the Web App. See Reports: Overview and Where to Find What for the shared controls.
When to Use This Group
You're deciding whether to keep paying for an advertising channel.
You want to know which customers are worth protecting - and how exposed you are if one leaves.
You're reviewing account balances before a collections push.
A customer is disputing what they owe.
You're setting next year's marketing budget.
New Accounts by Lead Source
See which marketing or referral channels bring in the most new customers.
A count of accounts created in the period, grouped by where they came from - Google, Angi, referral, TikTok, or whatever custom sources you've set up.
This is a volume report. It tells you which channels produce customers, not which produce good ones. On its own it can push you toward whichever channel is loudest rather than most profitable.
Never read it without Revenue by Lead Source alongside it.
Revenue by Lead Source
See booked vs collected revenue by lead source.
The same channels, measured in money. Each row shows one lead source with:
Total Accounts - customers from that source with booked or collected value in the period. Accounts with neither don't count, so this is accounts with activity.
Booked - accepted job value, counted on the acceptance date.
Collected - successful payments, counted on the payment date.
Avg. Job Size - average job value for jobs starting in the period.
The booked/collected split means you can see not just which channels sell, but which channels' customers pay. A source with strong booked and weak collected is winning work from people who don't settle up.
Click into any source to see the customers behind it - each with their booked, collected, average job size, and Lifetime Value: the sum of all their paid invoice totals, ever. Unpaid and draft invoices never count toward Lifetime Value.
Avg. Job Size is the underrated column. A channel with fewer customers at $8k a job beats one with four times the customers at $1k - total revenue hides that; job size doesn't.
Accounts Without a Lead Source
Customers with no source recorded are surfaced on the same page - both grouped in the totals and listed individually, so you can see exactly which accounts need a source assigned.
If that group is large, the channel comparison above isn't yet trustworthy - much of your revenue isn't attributed to anything. Fixing it is a process problem, not a reporting one: whoever creates accounts needs to set the source.
Treat shrinking that list as the first step before making budget decisions from this group. The same applies to accounts missing a business unit or job type in the Financial group's revenue breakdowns.
Top Customers by Revenue
Ranked by job total or lifetime value.
Your customers ranked by what they bring in. Per customer you get Jobs Completed, Avg Invoice Value, their Revenue, and the number that makes this more than a leaderboard: % of Total Revenue.
That percentage is a concentration measure. If one customer is 30% of your revenue, you don't have a customer - you have a dependency. It changes how you price their work, how you handle their complaints, and how urgently you need to grow the rest of the book. Most contractors know who their biggest customer is; few know what share they represent.
The two rankings answer different questions:
Job total surfaces customers with big individual jobs - the kind of work you want more of.
Lifetime value surfaces customers who keep coming back - the ones worth a maintenance agreement and priority scheduling.
This is revenue, not profitability. Your largest customer can also be your most demanding - cross-check against Job Costing before treating them as your best.
Customer Balance Summary
Full list of customer account balances.
Per customer: what they've been invoiced, what they've paid, and the balance - invoiced minus collected. Where Invoice Aging works invoice by invoice, this works customer by customer, which is the right level when you're deciding who to call.
Open any customer for a running statement - every charge and payment in date order, with references and a running balance. That statement is what you send a customer who disputes what they owe: it ends the argument, because it's their whole history in one document.
Available over a lifetime view or a custom date range, and filterable by tag, service area, account manager, and lead source. Filtering by account manager turns one long list into a per-person follow-up list.
You can also reach a customer's balance from their account overview when you only need one.
Reading the Group Together
These reports answer one connected question in sequence:
New Accounts by Lead Source - where are customers coming from?
Revenue by Lead Source - which of those sources are worth the money, and do their customers pay?
Top Customers by Revenue - who did that produce, and how concentrated is the result?
Customer Balance Summary - and what's still owed?
A channel that scores well on volume, revenue, job size, and payment behaviour is where your next marketing dollar goes.
Tips & Best Practices
Make lead source mandatory in your own process. These reports are only as good as the attribution behind them, and nothing here can fix a blank source.
Compare Avg. Job Size by channel, not total revenue. It's the cleanest measure of lead quality.
Watch % of Total Revenue on your top customer. Past roughly a quarter of your revenue, losing them is an existential problem, and your decisions should account for that.
Send the statement, not a screenshot, in balance disputes. The full charge-and-payment history settles it faster than any explanation.
Use lifetime value to decide who gets an agreement. Repeat customers are the ones worth locking in.
Add custom lead sources for what you actually use. Generic buckets produce generic answers.
Things to Know
Booked counts on the acceptance date and Collected on the payment date, so a source's two figures cover different events in the same period.
Total Accounts means accounts with booked or collected activity in the period - inactive accounts aren't counted.
Lifetime Value is the sum of paid invoice totals only. Unpaid and draft invoices never count.
Accounts without a lead source appear on the same page, both grouped and individually listed, so the fix-up list is built in.
Top Customers can rank by job total or lifetime value - check which before drawing conclusions.
The Customer Balance Summary opens into a full per-customer statement of charges and payments.
Credit memos are reflected in balances.
All reports here export to CSV, XLS, and XLSX.
Troubleshooting
Most of my accounts show no lead source.
Lead source isn't being set when accounts are created. The page lists the specific accounts missing one - work through it, and treat the reports as covering only the attributed portion until then.
A channel brings in lots of customers but little revenue.
That's a real finding, not an error. The channel is producing enquiries that don't convert into valuable work. Check its Avg. Job Size before renewing that spend.
A source's booked and collected are far apart.
Its customers accept work but pay slowly or not at all. Drill into the source and check those accounts against Time to Get Paid.
A customer's balance looks wrong.
Open their statement from the report - every charge and payment in order, with a running balance. Credits issued as credit memos reduce the balance and are easy to forget.
A customer I know is active isn't in Revenue by Lead Source.
Either they have no lead source set - check the unattributed list on the page - or they had no booked or collected activity in the period.
Top Customers changed order and nothing else did.
Check whether you're ranking by job total or lifetime value. The two produce different orders from the same data.
Have questions? Reach out via the support chat or email support@motionops.com.
