Why "Vampire" Subscriptions Are Hard to Spot
Subscription services are engineered to stay invisible. They charge small amounts, use obscure billing descriptors (ever seen APNITMN*SERVICES on your statement?), and time renewals to your paycheck so they blend in with normal spending. The average person has 3-5 subscriptions they've completely forgotten about.
Traditional budgeting apps require Open Banking access β handing a third party your bank credentials 24/7. CSV Auto Import offers the same detection power with zero data exposure.
Step-by-Step: Export and Analyze Your Bank Statement
Export a CSV from your bank
Log into online banking β Statements β Download / Export β Select CSV format. Chase, Revolut, Wise, MUFG, Shinsei, Rakuten Card β all support this. Choose a 3-month window to catch quarterly charges.
Drop the file into the upload zone
Drag and drop your CSV onto the tool, or click "Browse Files." The file is parsed locally by PapaParse β no network request is made. Your banking data stays in your browser's RAM.
Review the detected matches
The tool flags every row containing a subscription keyword. Check each match β you may find services you forgot existed. Uncheck false positives (like "RENEWAL" appearing in a non-subscription transaction).
Export to Incinerator
Click "Bulk Add to Incinerator" to send your confirmed subscriptions to the Incinerator audit suite for ongoing tracking and cancellation planning.
How the Keyword Detection Works
The tool matches each CSV row against a curated database of 200+ global patterns:
- Branded names: Netflix, Spotify, Adobe, AWS, OpenAI, Midjourney, Notion, Figma, Canva, GitHub
- Generic patterns: "Subscription," "Membership," "Recurring," "Premium," "Renewal," "Annual"
- Japanese banks: δΈθ±UFJ, δΈδΊδ½ε, γΏγγ», ζ₯½ε€©γ«γΌγ, Revolut
The detection is case-insensitive and works regardless of column order in your CSV.
// Detection logic (simplified): const row = "2024-03-15, SPOTIFY PREMIUM, -14.99, USD" const match = KEYWORDS.some(k => row.toUpperCase().includes(k)) // β true (matches "SPOTIFY")
Tips for Better Detection
- Use a 3-month window to catch quarterly subscriptions that won't appear in a single month.
- Check the "Unknown Date" rows β these are matches where date parsing failed, but the subscription keyword was still detected.
- Review small amounts (under $5) β trial conversions often start at minimal prices before escalating.
Frequently Asked Questions
Is my bank CSV data safe?
Yes. PapaParse reads the file in your browser's RAM. No server upload occurs. Refreshing the page clears everything β nothing is persisted.
Which bank formats are supported?
Any standard CSV. The smart-detection algorithm handles varying column orders automatically β Date, Amount, and Description can be in any position.
What if my subscription uses an obscure billing name?
The generic patterns ("Subscription," "Membership," "Recurring") catch most non-branded charges. For anything unusual, scan the "Potential Match" list for unfamiliar recurring amounts.
Can I detect annual or quarterly charges?
Yes β upload a 12-month statement to catch annual renewals. The keyword match doesn't depend on charge frequency.
Find Your Hidden Subscriptions Now
Drop your bank CSV and get a full subscription audit in under 30 seconds.
Open CSV Auto Import β