Stripe void invoice vs mark uncollectible: which to use
Chooses between voiding a Stripe invoice and marking it uncollectible. Use when an open invoice should not be paid and you need the right accounting treatment. Not for refunding already-paid invoices.
TL;DR
Void an invoice when it was issued in error and should disappear from receivables as if it never existed; mark uncollectible when the debt is real but you have given up collecting, so it stays on the books as a write-off. Voiding is for mistakes, uncollectible is for bad debt. Pick based on what your accountant needs to see.
Steps
- Ask the one deciding question: was this invoice a mistake, or is it real debt you will not collect.
Expected: The answer picks the action: mistake goes to void, real debt goes to uncollectible.
- For mistakes (wrong customer, wrong amount, duplicate): void the invoice while it is still open.
Expected: The invoice is canceled with no receivable impact.
- For bad debt (customer insolvent, disputed beyond recovery): mark the invoice uncollectible.
Expected: The invoice stays visible as written-off bad debt.
- Check downstream effects: voided invoices free the number sequence differently than uncollectible ones in some accounting syncs.
Expected: Your ledger mapping matches the choice.
- Write the decision rule into your billing runbook so operators do not guess per case.
Expected: Consistent treatment across the team.
When to use
- An open invoice should not be paid
- You need to distinguish mistakes from bad debt
- Your accountant asks how write-offs are recorded
When not to use
- The invoice is already paid (use refunds or credit notes)
- The invoice is still a draft (just delete or edit it)
- You want to forgive part of the balance (use a discount or partial credit note)
Compatibility
All Stripe API versions; voidinvoice and markuncollectible endpoints. Dashboard supports both from the invoice actions menu.
Variant phrasings
### Stripe void vs uncollectible invoice
### write off unpaid Stripe invoice
### cancel open invoice Stripe accounting
Root cause
Accounting treats a never-valid invoice and an uncollectable receivable differently: voiding erases the receivable, while uncollectible records a loss. Stripe exposes both because tax and audit rules require the distinction, not because the button outcome looks different.
Edge cases
- Voided invoices cannot be reopened; uncollectible ones can be marked paid later if money arrives
- Subscription invoices keep generating until the subscription is canceled, so fix the subscription too
- Credit notes pair with uncollectible for partial write-offs
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_oLpCcSigKyIOoQ3qIBa-tw
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.