Skip to main content

Reporting & Analytics

The Analytics page answers three questions a practice owner asks constantly: how much money came in, who produced it, and what you gave away. The money row at the top gives you the clinic-wide picture, and the reports below it break that picture down by the people and services behind it.

The Overview​

The Overview tab opens on three figures for the period you pick: Revenue, Collected and Outstanding. Each has a ring beside it showing how much of it is cash (green) and how much is insurance (blue), with both amounts written underneath. Revenue is cash charges by date of service plus insurance at the amount payers are expected to pay. Collected is money that actually arrived; a client's share of an insurance visit counts as insurance once they pay it. Outstanding is what is owed today, split into what clients owe and what payers owe.

Below them, Completed sessions counts the visits held so far against how many were booked and cancelled, and Unique clients seen counts the clients who had a visit, with how many of them were seen for the first time ever. Each shows the change against the comparison period. Next come Provider production and Revenue by service, which lists what each service billed in the period, largest first.

The three production reports​

Below the summary you'll find three separate reports. They are deliberately separate — sales, giveaways, and provider output are different conversations, and stacking them into one table makes each harder to read.

Provider production​

This report shows what each provider billed and collected in the period. Four figures sit above the table: Billed, Insurance expected (what payers are expected to pay for this period's claims), Collected, and Billed, not collected (what this period billed that is still unpaid, meaning open client charges plus claims still waiting on the payer). Use the Rendered by / Sold by / By service toggle to flip the same data around — Rendered by tells you how each clinician performed, Sold by tells you who closed the sale, and By service tells you which services are earning.

Rendered by and Sold by are deliberately separate lists, because they answer different questions. A membership sold at the front desk has a seller but no rendering provider; a treatment visit has a rendering provider and often no separate seller. Keeping them apart means your Membership Manager no longer appears in a column headed "Provider", and a coach's production is not inflated by sales somebody else closed.

Click any row to see what is behind it. A window opens listing every charge, card payment, claim and prepaid amount that makes up that row, with the date, the client, what it was for, who it is credited to, and what was billed and paid. The lines always add up to the row. Click a client's name to open their Billing tab.

Anything attributed to a provider counts toward that provider's production, including charges that are not a service. A late-cancel or no-show fee charged from the appointment counts for the provider who was booked for that appointment, and a hand-typed charge such as a custom program counts for the provider chosen on the charge. Each appears as its own line under the provider, named for what it was (for example Late cancel fee or Custom Wellness Program), so it is never mixed into a service's figures.

Money that nobody is attributed to sits on one No provider row below the All providers total, and it is never added into a provider's figures. Open the row to see what it is made of, such as an insurance claim with no rendering provider, a charge posted without a provider, or prepaid money not yet applied to a visit. A charge posted to a client's balance without a provider has an Attribute… button: choose the provider and the charge moves into their production.

Billed, not collected matters as much as Collected. When a period billed $2,130 and $1,900 of it is still unpaid, that gap is the number worth acting on. It usually points at claims in flight or client balances nobody has chased. Open a provider's row to see which visits are still unpaid.

Insurance money counts as production

When a payer pays a claim, that money is credited to the provider named as the rendering provider on the claim, and it appears in that provider's lines as the claim, named by its codes. A clinician who bills insurance would otherwise appear to produce only the patient's copay, which understates their real output substantially.

Sold items​

What actually sold, ranked by revenue — services, products, lab panels, and insurance-billed procedures. Money that arrived without an identifiable item (a bare payment, a reconciled remittance) is excluded from this list and reported separately underneath, because listing it as a product would put "payment" at the top of your best-sellers. Memberships are not listed here either: a recurring plan is not a shop item, and its renewals would bury the things you actually sell, so membership revenue has its own table directly below.

Memberships by plan​

What each membership plan brought in over the period. Every row is one plan, with the number of payments it received (the first payment and every renewal count once each) and the amount collected. The rows always add up to your total membership revenue, so this is the table to read when you want to know which plans carry the business and which ones nobody renews.

A row called Plan not recorded holds membership payments that arrived without a plan attached. Renewals are billed automatically by Stripe (your payment processor), and older renewals did not carry the plan's name, so that money is known to be membership revenue but cannot be assigned to a plan. Renewals are now stamped with their plan as they arrive, so this row shrinks for recent periods and stays only on older ones.

Comped items​

Everything given away in the period: what it was, who it went to, who authorized it, and the reason recorded at the time. This is the report to run before a compensation review or when the discount line looks larger than expected.

Each report exports to CSV independently.

How a location filter decides where money belongs​

A payment has no location of its own, so when you filter a report to one location, Ready Practice works out where each payment belongs from the person who paid. It looks first for a location recorded on the payment, then for the client's home location (the location set on their record), and finally at the membership plan the client is on, since plans are sold per location. A client with none of these is not counted at any location.

This matters most for organizations with several locations and clients who were never given a home location. Setting a home location on those clients' records is what moves their payments out of "no location" and into the right one.

Ask Atlas — reports by location and exact dates

Atlas can produce three reports for an exact date range, for one location or all of them: collected revenue by category, product sales by product, and membership billing by plan (billed, collected, failed and refunded). Each one states how much of the period's money could not be placed at any location, so a location figure is never mistaken for the whole. In the product report a "sale" is one payment: quantities and per-product discounts are not recorded, so Atlas does not estimate them.

Why "Collected" can differ between the money row and Provider production​

These two numbers measure different things on purpose, so they will not always agree.

The money row at the top reports money that arrived in the period, split into cash and insurance. It includes collections on claims your practice filed before it started using Ready Practice — those are labeled as prior-system claims so a large external number never appears unexplained.

Provider production reports work that was rendered and attributed. It reads the charges themselves rather than the payments that settled them, which is what makes per-provider and per-service attribution possible at all.

The practical consequence: a charge that has been posted but not yet settled shows in production as Billed with an Outstanding balance, while the money row will not count it until the money actually arrives. Both are correct for their own question.

Unattributed revenue​

Any collected money with no provider on record is reported on its own line rather than being spread across providers or quietly dropped. Memberships are the usual cause — a membership has no rendering provider by nature — along with charges posted before provider attribution began on September 4, 2026.

A charge that records who sold it but not who rendered it appears under Sold by and stays in Unattributed on Rendered by. That is intentional: crediting the seller as the provider would report front-desk staff as clinical production, which is what this line exists to prevent.

Provider utilization​

The utilization table under Production compares the capacity a provider offered against what that capacity actually produced. Four columns carry the meaning, and they are not interchangeable:

  • Available is the bookable capacity that existed on each day of the range, taken from that day's own schedule rather than from today's. Changing a provider's availability now does not rewrite last month's numbers.
  • Booked is everything that went on the calendar, including sessions that were later cancelled or no-showed. It is the commitment that was made.
  • Rendered is what actually happened — sessions that have ended and were neither cancelled nor marked no-show.
  • Unbooked Slots is the leftover capacity expressed in that provider's own typical session length, so a provider running 30-minute visits and one running 60-minute visits are each told how many more appointments they could have taken, not a raw number of hours.

Utilization is Rendered ÷ Available. Cancellations therefore read as lost capacity rather than as time used, which is the point: a week that was fully booked and half-attended should not report as full. Hover the Booked column to see how much of it fell through.

A row can exceed 100% when a provider has booked time that their declared availability does not cover. That is a signal about the schedule, not about the provider — it usually means availability was never declared for a location they in fact work, and the report flags it beneath the table rather than hiding it.

Ranges that run into the future

If your range includes days that have not happened yet, those sessions count as Booked but cannot be Rendered, so the percentage reads lower than the period will finish at. The report says so underneath when this applies.

The report states that date directly. A range that starts earlier will legitimately show a large unattributed figure, and that is the report being honest rather than the data being wrong.

Reducing the unattributed line

The fastest way to shrink it is to make sure charges carry a provider when one applies. Charges raised from an appointment inherit the provider automatically; charges added manually at the desk do not unless someone selects one.