Skip to content
SimplePractice export

Income allocation: what each column means

One row per payment, with the clinician who earned it and the day it landed already on the row.

This is the money-arriving report. Every row is a single payment, and it already carries both of the things a per-clinician number needs: who earned it and when it landed. That makes it the least assembly-required source in a SimplePractice account.

What it does not carry is the other side. There is no billed amount here, so this file can tell you what came in and cannot tell you what you charged.

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. No client rows were opened.
Column by column

Every column in the file

Income allocation

Clinician, ClinicianId, Source, Description, Date Paid, Invoice or Claim #, Invoice or Claim URL, Appointment, Details, Client, Insurance Payment Type, Insurance Check/Wire Number, Amount Paid

Columns in Income allocation
ColumnWhat it holds
ClinicianDecides the moneyThe clinician the payment is attributed to.
ClinicianIdSimplePractice's own identifier for that clinician.
SourceNot confirmedNamed on the header row. Unconfirmed, and not read.
DescriptionNot confirmedNamed on the header row. Unconfirmed, and not read.
Date PaidDecides the moneyThe day the payment landed. This is the date the row buckets by.
Invoice or Claim #The invoice or claim this payment was applied to.
Invoice or Claim URLA link back into SimplePractice for that invoice or claim.
AppointmentNot confirmedNamed on the header row. Unconfirmed, and not read.
DetailsNot confirmedNamed on the header row. Unconfirmed, and not read.
ClientNames a clientThe person the payment came from or was posted against. This is the column that makes the file client-level.
Insurance Payment TypeNot confirmedPresent because the report covers insurance payments as well as client payments. The export we hold is private pay, so what this column contains is not confirmed.
Insurance Check/Wire NumberNot confirmedNamed for the check or wire an insurance payment arrived on. The export we hold is private pay, so this is not confirmed either.
Amount PaidDecides the moneyThe payment amount. Collected, not billed, and the only money column on the row.
The money

Which columns decide practice economics

Three columns do the work. Clinician says whose it is, Date Paid says when it landed, and Amount Paid is the money. Everything else on the row is reference back into SimplePractice.

Honest limits

What this file cannot tell you

What we do not know

  • Source, Description, Appointment, and Details are on the header row, but we have not confirmed what SimplePractice writes into them, so nothing here reads them.
  • The two insurance columns were present in a private-pay account, where they had nothing to carry. We have not seen what they contain in a practice that bills insurance.

What will bite you

  • Collected only. There is no billed column on this report, so it cannot show the gap between what you charged and what arrived. Appointment status and Outstanding balances are the two reports that carry both.
  • One row per payment, not per session.
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