📁 Finance

Subscription Cost Audit from Bank Export (Cancellation Targets, No Guessed Prices)

Find recurring charges, flag unused and duplicated spend, price the cancellation wins from your own export

0.0
0Reviews
P
October 15, 2026

Prompt

Act as a personal finance analyst who reads only the pasted bank or card export. You build a recurring-charge audit and a cancellation priority list. You never guess a price, a renewal date, a vendor plan, or a usage number that is not in [Export]. You do not invent tax, savings, or investment figures.

You work only from Inputs. Do not invent stats, citations, quotes, URLs, names, IDs, or records that are not in Inputs.

Inputs:
- Bank or card export lines (date, description, amount, account): [Export]
- Export period covered: [Period]
- Subscriptions I already know I use: [KnownUsed]
- Subscriptions I plan to keep no matter what: [Keep]
- Family or shared accounts the spend covers: [Shared]
- Currency: [Currency]
- Household monthly income range, if I share it: [Income]
- Output format: [Format]
- Language: [Lang]

Generate:
1. Recurring ledger: group [Export] lines that repeat by merchant, count of charges, total per month, first and last seen. Print the arithmetic. Mark one-off charges separately. Forbidden: guessed monthly prices, guessed annual prices.
2. Shared and duplicate check: charges split across accounts from [Shared], duplicated vendors on two accounts, and trial-to-paid conversions where a second charge follows a first low amount.
3. Usage test: which recurring charges match nothing in [KnownUsed]. Quote the charges you suspect are unused. Label them SUSPECT, not confirmed.
4. Cancellation priority: ranked by monthly total times no evidence of use. Each row: merchant, monthly total, evidence used or not in Inputs, difficulty (annual contract vs month-to-month, only if the export shows a yearly charge).
5. Savings math: monthly and yearly saving if every row in the [Keep]-free cancellation list is cancelled. Show the equation. No projections beyond [Period] unless the export shows a full year.
6. Price-change flag: same merchant, changing amount, with dates quoted.
7. Gaps: what the export does not show and what you still owe me.

Constraints:
- Every amount traces to a quoted line in [Export]. Quote or drop.
- No guessed prices, no guessed renewal dates, no savings promises, no tax advice.
- Missing-data policy: if a field was blank, write NOT IN INPUTS.
- Honor [Currency], [Format], and [Lang].
- End with a five-bullet list of what the user still owes you.

Instructions

Paste bank or card export lines exactly as exported, one charge per line. Replace every [bracket] with your details before running. Works on ChatGPT, Claude, and Gemini. If a field is blank the model writes NOT IN INPUTS, so include the exact merchant description and amount.

Examples

Example Input

Export:
03/02 STREAMFLIX 15.99 (checking)
03/04 CLOUDSTORE 2.99 (visa)
03/15 STREAMFLIX 15.99 (checking)
03/18 MUSICBOX 10.99 (checking)
04/02 STREAMFLIX 17.99 (checking)
04/03 CLOUDSTORE 11.99 (visa)
04/15 STREAMFLIX 17.99 (checking)
04/18 MUSICBOX 10.99 (checking)
04/20 NEWSPLUS 1.00 (visa)
05/02 NEWSPLUS 9.99 (visa)
05/04 GYMCHAIN 39.00 (checking)
05/15 STREAMFLIX 17.99 (checking)
05/18 MUSICBOX 10.99 (checking)
05/22 CLOUDSTORE 11.99 (visa)
Period: 03/02 to 05/22
KnownUsed: STREAMFLIX, MUSICBOX
Keep: GYMCHAIN
Shared: CLOUDSTORE and NEWSPLUS are shared with my partner's separate card
Currency: USD
Income: NOT IN INPUTS
Format: ledger + cancellation table
Lang: English

Example Output

1. Recurring ledger.
| Merchant | Charges | March total | April total | May total (partial) | First seen | Last seen |
| STREAMFLIX | 5 | 15.99 + 15.99 = 31.98 | 17.99 + 17.99 = 35.98 | 17.99 | 03/02 | 05/15 |
| CLOUDSTORE | 3 | 2.99 | 11.99 | 11.99 | 03/04 | 05/22 |
| MUSICBOX | 3 | 10.99 | 10.99 | 10.99 | 03/18 | 05/18 |
| NEWSPLUS | 2 | 0 | 1.00 | 9.99 | 04/20 | 05/02 |
| GYMCHAIN | 1 | 0 | 0 | 39.00 | 05/04 | 05/04 |
One-off: GYMCHAIN 39.00 appears once in [Period]; treat as single charge, not recurring, until another appears.

2. Shared and duplicate check.
CLOUDSTORE (visa) is in [Shared] with my partner's separate card, so my total of 26.97 is a shared share, not a separate subscription. NEWSPLUS 04/20 1.00 followed by 05/02 9.99 on the same card looks like a trial converting to paid; I flag it as SUSPECT trial-to-paid, not confirmed, because the export does not label it.

3. Usage test.
Charges in [KnownUsed]: STREAMFLIX, MUSICBOX. Recurring charges not in [KnownUsed]: CLOUDSTORE (26.97 in period) and NEWSPLUS (10.99 in period). Both are SUSPECT unused. GYMCHAIN is in [Keep].

4. Cancellation priority.
| Rank | Merchant | My period total | Evidence in Inputs | Difficulty from export |
| 1 | CLOUDSTORE | 26.97 | In [Shared], not in [KnownUsed]. SUSPECT unused | Month-to-month, no yearly charge shown |
| 2 | NEWSPLUS | 10.99 | Not in [KnownUsed]. Successor of a 1.00 charge | Month-to-month |
| 3 | STREAMFLIX | 85.95 | In [KnownUsed]. Keep unless you change your mind | n/a |
| 4 | MUSICBOX | 32.97 | In [KnownUsed]. Keep | n/a |

5. Savings math.
Cancelling CLOUDSTORE and NEWSPLUS saves 26.97 + 10.99 = 37.96 over the period 03/02 to 05/22, about 2.7 months, so a monthly run rate near 14.06 (37.96 / 2.7 months, rounded). A yearly figure would be 14.06 x 12 = 168.72, but that projection assumes the same monthly rate continues, which [Period] does not prove. No savings or tax promise.

6. Price-change flag.
STREAMFLIX: 15.99 on 03/02 and 03/15, then 17.99 on 04/02, 04/15, 05/15. Same merchant, amount changed. Quote dates.
CLOUDSTORE: 2.99 on 03/04, then 11.99 on 04/03, 04/15, 05/22. Same pattern.

7. Gaps.
The export does not show renewal dates, plan names, or whether NEWSPLUS is a separate subscription from CLOUDSTORE.

What you still owe me:
- The export lines after 05/22
- Whether the partner's card pays CLOUDSTORE too
- Whether the 1.00 NEWSPLUS charge was a trial
- Any annual charges outside this period
- Whether STREAMFLIX at 17.99 is a tier you actually use

Reviews (0)

Please login to leave a review.
Loading reviews...