SimplePractice and QuickBooks

Hemant Grover
Hemant GroverFounder & CEO
Published:October 26, 2026
SimplePractice and QuickBooks

The short answer

SimplePractice records insurance payments, client copays, write-offs and card refunds in real detail, manually or through Payment Reports (ERAs). QuickBooks doesn't need any of that client-level detail, only summarized cash and income. The bookkeeper's actual job is posting insurance EFTs and checks, client card and cash deposits, processing fees, and refunds correctly, so the bank, SimplePractice's own income reports, and the P&L all agree with each other.

This is the deeper, platform-specific follow-up to our broader post on bookkeeping for therapy practices on SimplePractice, TherapyNotes and Jane; that post covers the gross-versus-net mechanics across all three platforms, this one goes further into exactly how SimplePractice itself handles three specific cash types.

Quick reference

SimplePractice event

Typical QuickBooks treatment

Insurance EFT or check deposit

Deposit or receive payment to income, optionally through Undeposited Funds to the bank; an optional sub-account for insurance income

Contractual write-offs

Not a bank event; reduce income, or post to a write-off or contra-income account, when booking the period's production or collections summary

Client copay paid by card

Part of the Stripe payout; deposit net of fees, or book gross to income plus a separate fee expense

Client copay paid by cash or check

Deposit to income when banked

Card processing fees

An expense, pulled from Card transactions or the annual Stripe processing total

Client card refund

Reduce income, or post a refund expense; match the reduced payout, or a separate debit, from the processor. The original processing fee on that transaction is never returned

Insurance clawback or takeback

Reduce insurance income when the negative adjustment and the related bank debit both appear

The usual source documents for these summaries are the payment export (QuickBooks or CSV format), the income report, the Card transactions export, and the Insurance payments list in the Billing hub.

Insurance payments

Payers pay outside SimplePractice entirely, by EFT, check, or an insurance card or vCard. Inside SimplePractice, a practice either enrolls for Payment Reports (ERAs), where "claim statuses will update automatically, and insurance payments will be recorded in your account" (SimplePractice), or adds the insurance payment manually from the EOB. Posting the payment means allocating Insurance Paid, setting Client Owes for the copay or coinsurance after adjudication, and entering or auto-calculating the Write-Off.

That write-off step isn't optional. SimplePractice's own help center is explicit: "If you don't calculate the write-off amount when adding an insurance payment, the associated insurance claim won't update to Paid" (SimplePractice), and for a date of service to settle at all, Client Responsibility, Insurance Paid and Write-Off have to sum to the billed amount exactly. Skip or fumble the write-off and the claim sits unresolved, visible to anyone reviewing outstanding claims, which is a built-in check this platform has that others in this series don't surface as cleanly.

SimplePractice also supports negative insurance payments for clawbacks, recorded manually when a payer takes back a prior payment, and this can post automatically too if the practice is enrolled for electronic Payment Reports.

Copays and client responsibility

Copays and Client Responsibility

A default copay or coinsurance amount can be set on a client's insurance profile, so upcoming appointments populate Client Owes before the claim even goes out. Once the payer processes the claim, actual client responsibility can differ, from a deductible or a coinsurance change, and the practice adjusts Client Owes when adding the insurance payment; Payment Reports can update it automatically. Client payments by card, cash, or check are recorded separately and reduce the client balance.

SimplePractice has no part in actually moving insurance funds into the practice's bank account. Timing gaps between a Payment Report showing up and the matching EFT landing are normal; if either side lags by more than about a week, that's worth a follow-up with the payer rather than assuming the money is lost.

Refunds

Card refunds processed through SimplePractice's online payments appear on the Card transactions tab with the transaction type Refund, alongside the gross amount, the processing fee, and the net amount paid out, confirmed directly from SimplePractice's own documentation of that tab (SimplePractice). Billing activity and payment exports include refunds alongside client and insurance payments, so they're visible in the same reports a bookkeeper already pulls.

One detail the draft didn't have, and it changes how a refund should actually be booked: SimplePractice's own refund article states plainly that refunds "take 5 to 10 business days to appear" and that "processing fees from the original transaction aren't returned" (SimplePractice). That means refunding a session doesn't fully undo its financial impact. The practice gets the charge amount back out of its books, but the Stripe fee charged on the original transaction is a permanent cost, one the practice ate for a session that ended up generating no revenue. Those refunds reduce cash when the processor actually settles them, and they have to be reflected in QuickBooks so deposits and income aren't overstated, but the fee on a refunded transaction belongs in the books as its own small loss, not as something that nets cleanly to zero alongside the refund.

Worked example: one week of mixed cash

A practice's SimplePractice activity for one week, and the bank activity that follows:

Line item

Amount

Sessions charged

$6,200

Insurance write-offs posted with payments

minus $1,480

Insurance payments recorded (ERA plus manual)

$3,410

Client copays collected (cards plus one check)

$1,890

Card processing fees on client payments

$62

One client card refund (session cancelled after charge)

$150

Insurance EFTs received

$3,410

Stripe-style payout (client cards, net of fees and the refund)

$1,678

Check deposited

$200

Total cash in

$5,288

If QuickBooks only shows the $5,288 as "Therapy income," the write-offs never appear, the fees never appear, and the refund is invisible in a way that's easy to miss: the net deposit already reflects the reduced amount, but income itself was never reduced on a gross basis, and the processing fee the practice paid on that now-refunded session, which was never returned, doesn't show up as a cost anywhere. SimplePractice's income report and QuickBooks won't match. The bank still reconciles.

Correct treatment books insurance and client collections from SimplePractice's own reports, posts write-offs and fee expense, and reflects the refund, including the small permanent loss from its unreturned processing fee, so net income actually matches what the practice retained. Each bank line gets matched to the corresponding insurance payment batch or card payout, not booked as one undifferentiated deposit.

How Numetix works with SimplePractice

We sit alongside SimplePractice. AI matches bank lines to insurance payment batches, client payouts, and refunds, using income, payment, and Card transactions exports. A CPA-overseen team owns write-off and fee classification and the monthly close, including the unreturned-fee detail on refunds, so QuickBooks stays aligned without importing client names.

A practical first step: send us a recent income report, an Insurance payments view or Payment Reports range, a Card transactions export, and two weeks of bank activity. We'll show you the exact entries. Book 30 minutes with our team. More on how Numetix serves therapy and behavioral-health practices.

Frequently asked questions

Do Payment Reports (ERAs) post money into QuickBooks? No. They record the insurance payment and write-off inside SimplePractice and update the claim status. The payer still sends funds to the bank separately; QuickBooks gets updated from the bank and from SimplePractice's own reports.

How should copays be recorded in QuickBooks? As client payment income when the money actually hits the bank, or through the card payout, not as insurance income. Keep the split clear if the practice tracks insurance revenue separately from self-pay on the P&L.

What if Client Owes changes after the ERA comes in? Update Client Owes when posting or editing the insurance payment in SimplePractice so the client's balance is correct, collect or refund the difference, then reflect whatever new card or cash movement follows in QuickBooks.

Does a refund get the practice back to where it started? Not entirely. The refund reduces the processor payout, or shows up as a separate debit, and income should be reduced to match. But SimplePractice's own documentation confirms the processing fee from the original transaction is never returned, so that fee is a small, permanent cost on a session that ended up generating no revenue, not something that nets out automatically.

Should every insurance payment line be its own QuickBooks invoice? No. Summary deposits and period income entries keep the ledger clean and avoid putting PHI into QuickBooks.

Which SimplePractice reports matter most for this workflow? The income report, the Billing hub's Transactions views (clients, insurance, payment processing), Payment Reports, the payment export in QuickBooks or CSV format, and the Card transactions export for fees and refunds.

Numetix logo

Numetix is an AI-first accounting firm. AI runs the bookkeeping, tax, payroll, and reporting workflow. Industry experts handle the judgment, month-end close, review, and advisory. We serve founder-led service firms across law, consulting, IT, healthcare, creative, and nonprofit. Headquartered in California, serving clients nationwide.

Bookkeeping · Tax · Payroll · Advisory
Talk to an industry expert

See what Numetix can do for you

Learn how the Numetix Portal streamlines communication, offers valuable insights, and saves you time so you can focus on growing your business.