Skip to content
SimplePractice export

Appointment status: what each column means

One row per appointment, with what it was billed at and what has been paid on it.

This is the per-appointment view of your billing. Every row is one appointment on one day, priced, with the payment position on that appointment beside it. If you want to know the gap between what you charged and what actually arrived, this is the report that carries both numbers on the same line.

That pairing is rarer than it sounds. Most practice software makes you export the billed side from one report and the collected side from another, then join them yourself. This one does not.

Where these column names come from. These column names were read off a real SimplePractice export on 2026-06-24, header rows only. The practice was private pay with the insurance side switched off. No client rows were opened.
Column by column

Every column in the file

Appointment status

Date of Service, Client, Billing Code, Rate per Unit, Units, Total Fee, Client Payment Status, Charge, Uninvoiced, Paid, Unpaid

Columns in Appointment status
ColumnWhat it holds
Date of ServiceDecides the moneyThe day the appointment happened. This is the date everything on the row buckets by.
ClientNames a clientThe person the appointment was for. This is the column that makes the file client-level.
Billing CodeThe service code the appointment was billed under.
Rate per UnitDecides the moneyThe price the appointment was billed at, per unit.
UnitsDecides the moneyHow many units were billed. Units are not minutes: this report does not carry appointment length, so a row of 1 unit tells you nothing about whether the session ran 30 minutes or 90.
Total FeeNot confirmedNamed for the appointment's full fee. We have not confirmed how it is filled, so nothing here reads it.
Client Payment StatusWhere the client stands on paying for this appointment. A private-pay export carries this in place of the insurance claim columns.
ChargeDecides the moneyWhat the appointment was billed at. This is the billed side of the pair, and it is what gets read as billed revenue.
UninvoicedNot confirmedNamed for an amount not yet put on an invoice. The exact rule is unconfirmed, so nothing here reads it.
PaidDecides the moneyWhat has actually been paid on this appointment. This is the collected side of the pair, and it is what gets read as collected revenue.
UnpaidNot confirmedNamed for the balance still owed on the appointment. Unconfirmed, and not read.
The money

Which columns decide practice economics

Four columns carry the money story. Date of Service sets which month a row belongs to, Charge is what you billed, Paid is what came in, and the distance between Charge and Paid across the whole file is your collection rate. Everything else on the row is context.

Honest limits

What this file cannot tell you

What we do not know

  • Total Fee, Uninvoiced, and Unpaid are named on the header row, but we have not confirmed the rule SimplePractice uses to fill them, so nothing here reads them.
  • This export came from a private-pay practice. A practice that bills insurance would very likely see a different set of columns, and we have not seen that version.

What will bite you

  • Units is not minutes. The header row we hold has no appointment-length column at all, so clinical hours have to come from somewhere other than this file.
  • The header row we hold carries no clinician column. On its own this report cannot say who delivered which appointment, which matters the moment there is more than one clinician. The Outstanding balances report from the same account does carry one.
Use the file

Drop this exact file here

Drop this exact file into the step that removes client data. It runs on your own computer, strips the columns that name a client, and hands back clinician-level totals. Those totals are what the free Snapshot reads. Nothing is uploaded at any point.

Both steps run in your browser. No file is uploaded, and no client data is ever sent anywhere.

All the export files we have written up · Last checked 2026-08-13