PublisherRevenue Guide

The business behind
independent publishing.

New here? Choose a reading path ↗

Operating guide / Primary sources + editorial method

Operate failed-payment recovery without calling it voluntary churn

A recovery queue that separates payment failure from cancellation, controls access during grace, and measures cash recovered by method and cohort.

A hand writing a list in an open notebook.
Reference photograph: planning the work behind a publication. Glenn Carstens-Peters / Unsplash ↗
Open the visual model ↗
Conceptual ledger separating gross revenue, deductions, contribution and collected cash. Bars are conceptual, not benchmark data.
Original editorial diagram / Conceptual illustration; not benchmark data.

Start with the event, not the churn label

A failed renewal attempt shows that payment did not complete. It does not show that the reader chose to leave. Record voluntary cancellation separately from failure, authentication required, payment method problem, unresolved invoice, recovery, and terminal end. That distinction protects retention analysis and changes the appropriate communication: a billing problem needs a clear repair path, while a cancellation needs confirmation and an honest exit.

Stripe's current subscription reference distinguishes past due, unpaid, and canceled outcomes after failed attempts according to account settings. Those states affect later invoices and recovery behavior. The publisher should map them to access rules in writing rather than letting the payment provider's default silently decide how long a reader can use paid benefits.

Source notes: The Subscription object

Build one queue from invoice to access decision

The queue needs subscription ID, payer, amount, currency, tier, interval, tenure, invoice date, failure date, provider state, next attempt, last customer message, payment-update result, access state, terminal date, recovery method, and cash receipt. Avoid copying sensitive payment details into editorial or support tools. Give support a narrow view and an escalation owner for annual, institutional, disputed, or high-value invoices.

Set a grace policy by promise and interval. A monthly archive tier might keep access briefly while retries run; an annual institutional account may need a human check because procurement, invoice delivery, and seat access are linked. The grace period is an editorial service decision constrained by the agreement and applicable rules, not a universal number.

Sequence recovery messages around useful actions

Send a pre-renewal reminder when the payment method or plan warrants it, then a failure notice that names the publication, amount, invoice, access consequence, and secure update path. Follow-ups should add useful context rather than repeat pressure. Confirm recovery, cancellation, or access end so the member knows the final state. Never ask a member to email card data.

Stripe documents automated retry policies, customer emails, and segment-specific automation recipes. Treat these as configurable mechanisms. The publisher still owns message accuracy, support coverage, and the decision to cancel, leave unpaid, or continue past due. Review automation whenever prices, tiers, grace rules, or billing intervals change.

Source notes: Automation use cases · The Subscription object

Measure recovered cash by failure cohort

Hypothetical example: 30 September renewals fail initially, representing $540 billed. Twelve recover through automated retry, five after a payment-update message, two after support, six end, and five remain open at cutoff. The mature recovery rate cannot be calculated while five are open. The interim recovered count is 19 of 30 and recovered billed amount is whatever those 19 invoices actually total, not 19 times the cohort average.

Attribute recovery method with a clear rule when several touches occur. Track time to recovery, complaint rate, support minutes, refunds after recovery, and retained cash after fees. Compare cohorts under the same retry and grace configuration. A higher recovery rate can still be a poor outcome if messages are confusing, access is wrong, or support cost exceeds the contribution.

Failed-payment recovery control table
StateAccessMessageLedger result
First failureApply written grace ruleFailure plus secure repair pathOpen
Retry scheduledKeep rule consistentOnly if useful new informationOpen
RecoveredConfirm full entitlementReceipt or recovery confirmationRecovered cash
Terminal unpaid/canceledEnd or revise access as promisedFinal state and support pathFailed recovery
Voluntary cancelFollow cancellation termsCancellation confirmationVoluntary churn

Close the loop without inventing a recovery benchmark

Each month, reconcile provider events, invoices, subscription state, access, refunds, and bank cash. Sample accounts from every terminal state. Look for failures caused by the publisher's own configuration, broken links, mismatched prices, or unclear identity before changing retry frequency.

The operating decision is whether the process returns willing readers to the promised service with tolerable cost and confusion. This guide makes no claim about typical failure or recovery rates and no claim about provider fees. Use the current agreement and account configuration for cost and behavior.

Continue the work

Sources & limits

Provider features and states are dated current documentation, while retry timing, access, communication, and escalation are an editorial framework. No fee, recovery-rate, or legal claim is made.

  1. The Subscription object
    Primary source · Publication date not stated · Primary source checked · 19 September 2026
  2. Automation use cases
    Primary source · Publication date not stated · Primary source checked · 19 September 2026

Source claims and editorial judgments remain separate. Send a correction with the passage and supporting evidence.

Keep going

Also on the desk.

Explore the library ↗

A clearer view of the business

The Revenue Letter.

One useful model. One question worth asking.
A considered note for independent publishers.