Cardnudge

How we calculate this

No modelling, no guesswork you can't check. Here is exactly what the numbers mean.

The window

We read every invoice created in the last 365 days, and every subscription cancelled in that same period. Nothing older is counted.

If your account has more invoices than we can read in one pass, we say so on the report rather than quietly showing a partial number.

What counts as lost

An invoice counts as failed when Stripe attempted payment at least once and the invoice is still not paid.

Permanently lost means the invoice was written off, voided, or belonged to a subscription that was cancelled while unpaid.

Still being retried means Stripe has not given up yet. We keep that money separate and do not count it as lost, because some of it will still come in.

Why payments failed

Stripe returns a decline code for each failed payment. We group them into three families, and everything we cannot place goes to Other.

Card needs updating: the card expired, or the number, CVC or expiry date is wrong. The customer has to enter a new card.

Insufficient funds: the money was not there at that moment. Often recoverable by retrying later.

Hard declines: the card was reported lost or stolen, or the issuer refused outright. Retrying will not help.

The recoverable estimate

We apply one fixed rate per family: 60% of card-update failures, 25% of insufficient-funds failures, and 0% of hard declines and of anything we could not classify.

These are industry rules of thumb, not a measurement of your account. Treat the figure as an order of magnitude, not a promise.

Currencies

We never convert between currencies, because we have no exchange rate we could show you the source of. Each currency is reported on its own, and the largest one is shown first.

Rounding

Wherever a rounding choice exists, we round in the direction that makes the loss smaller. Months since a cancellation are rounded down, never up.

You are going to check these numbers against your own dashboard. We would rather be under than over.

Run an audit