Over a two-week window, more than half of every automatic recurring charge we attempt in Boston fails. This is not a collections effort problem. The money is being asked for and the card is saying no.
We checked every one of the 41 against their full invoice history in Square — every payment they have ever been asked for, and whether they paid it.
| Who they actually are | People | Due now | Total owed |
|---|---|---|---|
| Chronic — 3 or more misses behind | 25 | $4,408.78 | $36,156.81 |
| Never paid a single invoice, and long-running | 7 | $1,238.50 | $8,237.50 |
| Brand new — first invoice ever, missed it | 4 | $774.15 | $774.15 |
| Second miss | 2 | $217.80 | $435.60 |
| Good payer, genuine first slip | 3 | $274.50 | $274.50 |
| TOTAL | 41 | $6,913.73 | $45,878.56 |
Every failed attempt comes back with a decline reason code from the issuing bank. That means we can sort people into the right conversation before anyone replies to us — we know whether it's an admin problem or a money problem on the day it fails.
| Reason the card was declined | People | Value | What it actually means |
|---|---|---|---|
GENERIC_DECLINE | 11 | $1,709.57 | Bank won't say why. Genuine unknown. |
TRANSACTION_LIMIT | 11 | $1,565.30 | Amount too high / credit limit reached. Money. |
INVALID_ACCOUNT | 8 | $1,462.03 | Bank can't find the account. Card is dead or closed. |
| No attempt made at all | 7 | $1,391.83 | We hold no card for them. Nothing was ever charged. |
PAN_FAILURE | 2 | $315.00 | Card number invalid. |
CARDHOLDER_INSUFFICIENT_PERMISSIONS | 1 | $250.00 | Card restricted by the issuer. |
INSUFFICIENT_FUNDS | 1 | $220.00 | No money in the account. Money. |
| TOTAL | 41 | $6,913.73 |
CARD_EXPIRED appears zero times — and only 4 times in all 309 failures across the fortnight. Building the process around "your card expired" would address 0 of 41 cases.
The decline code routes each person to a different opening message. Same debt, four completely different asks:
| Bucket | People | The opening message |
|---|---|---|
| MONEY | 12 | Limit reached or no funds. Skip the card question entirely — open with the bad-month framing and offer a smaller instalment. |
| DEAD CARD | 8 | The account is closed. They need to add a new card — not correct an expiry date. Low friction, no discount conversation needed. |
| UNKNOWN | 11 | Bank gave no reason. Use the either/or message — "is this a card problem or a timing problem?" — and let them self-sort. |
| NO CARD ON FILE | 7 | We never had a card. Never tell these people their payment was declined — it didn't happen, and they'll know. The ask is to set up payment for the first time. |
| ADMIN | 3 | Bad card number or a restricted card. Quick correction, no money conversation. |
The existing daily missed-payments report can't support this process yet. Two defects, both found while pulling this data:
| Problem | Impact |
|---|---|
| "Miss number" is not the miss count. The report reads the sequence number off the invoice (invoice 12 of a plan) and calls it "12th miss". | Wrong on 29 of 41 rows — and wrong in both directions. One customer shown as a 9th miss was on her first; another shown as 12th was on her 15th. The entire escalation ladder is keyed off a number that is close to random. |
| The report only reads 6,000 invoices. Boston Recurring alone holds 32,343. | It doesn't just drop rows — it corrupts each customer's history. At a partial read the arrears totalled $36,696 and 15 people looked like they'd never paid; at a full read it was $38,747 and 11. |
Both are a single change to one script. Once fixed, the daily report can carry the true miss number and the decline reason side by side, and the collections team gets a routed call list every morning instead of a flat chase list.