Why deleting a charge is worse than issuing a credit
July 15, 2026 · 5 min read · by James, half-owner of a dance studio
A family called last week. Their daughter had signed up for Ballet Intensive Week 2, a five-day summer camp. She got sick. They wanted to drop it.
In most studio software, the front-desk workflow at this point is: open the enrollment, click Drop, and check the box that says "Delete the charge." Camp charge gone. Ledger clean. Family owes nothing. Everyone's happy.
Except that's the wrong tool.
What "delete the charge" actually does
Deleting the $295 tuition charge does exactly what it says: the ledger row disappears. If the family hadn't paid yet, their balance drops from $295 to $0, and the story ends there.
But if they had paid — and this is common for camps, which usually collect upfront — deletion creates a real problem. The $295 payment is still on the ledger. There's just nothing left for it to pay for. The balance shows -$295, which is technically correct (it's a credit) but has no explanation.
Three weeks later, the parent looks at their account, sees a $295 credit sitting there, and calls: "What's this from?" Your front desk digs through history and finds… nothing. The camp charge was deleted. There's no record of it ever existing.
This is not a hypothetical. It's the single most common "your software is broken" call I've fielded from other studio owners.
What issuing a credit does instead
A credit doesn't remove the original charge. It offsets it. The ledger keeps the story intact:
Balance: –$295. Same net position as the "delete" approach. But now the parent — and your front desk, and your accountant, and future-you three months from now — can read the ledger and understand exactly what happened. A charge went on. A payment came in. When the daughter dropped, we credited the enrollment. The credit is available to apply to a future class or refund.
No mystery credits. No lost history.
The accountant test
Here's the question I ask when I'm designing any ledger workflow: if my accountant pulled every family's transaction history at year-end, could they reconstruct what happened?
With deletions, they can't. Deleted rows don't leave a trail. Your bookkeeper sees a payment come in with nothing to pay for, and either books it as unattributed revenue (wrong) or spends an hour tracking down the original charge from your Stripe dashboard (annoying and error-prone).
With credits, they can. Every charge is preserved. Every offset is dated and labeled. Reconciliation with Stripe is straightforward because the ledger's story matches the money's story.
For studios doing more than $50k/year in tuition, this matters at tax time. For studios in states with sales-tax obligations on some services, it matters even more.
When deletion IS the right answer
There are two cases where deleting a charge is legitimate:
1. The charge was entered in error and never seen. If you accidentally typed a $2,000 charge instead of $200 and caught it before the family saw a statement, the ledger, or the portal, deletion is fine. Nobody ever knew it existed. A credit would leave two lines where zero should exist.
2. The charge is still in a "pending" or "draft" state. Before a charge posts to the family's account, it's not yet part of the record. Deleting it is like erasing a form you never submitted.
Every other case — the family saw it, the family paid it, the front desk quoted it, the statement went out — the right action is a credit.
How we handle it in Presently
We switched the drop-enrollment modal this month. For date-specific classes (camps, intensives, workshops), the default action is now "Add a $X credit to offset this enrollment's charge" — checked by default, with the exact dollar amount and projected balance shown in the description:
Keeps the original $295.00 charge on the ledger and adds an offsetting credit dated today. Current balance $0.00 → new balance $295.00 credit. The family will have an account credit that can be applied to future charges or refunded.
The old "delete the charge" behavior is gone. If a studio genuinely wants to erase a mis-entered row, they can uncheck the credit box and manage it through the ledger directly — but they have to opt out of the safe path, not into it.
The unsexy takeaway
Software that makes it easy to delete records feels helpful in the moment. It's not. Every deleted row is a piece of history you might need to explain later, and won't be able to.
Studios that treat their ledger like a permanent record — additive, never subtractive — end up with cleaner books, fewer mystery-credit conversations, and much easier year-end reconciliations. It costs one extra line item per drop.
Cheap trade.
James runs a dance studio with his wife and built Presently because nothing else fit the way studios actually work. Presently keeps every ledger action reversible and every history visible — no silent deletions, ever. See more features or start a free trial.