How to find recurring charges and duplicate subscriptions in a bank or accounting CSV export

A transaction export and an ordinary spreadsheet are enough to list every subscription your business pays for, find the ones paid twice, and see which ones went up. This takes about an hour the first time.

Step 1: Export at least 13 months

Thirteen months catches yearly renewals, which are the easiest to miss. Export from every place money leaves the business:

Menu names change and differ between banks and software, so if you cannot find the export, the provider's help pages or support line will have the current steps.

Privacy: a transaction export shows who you pay and who pays you. Keep it on your own computer or your company's storage. Do not upload it to sites you do not trust, and delete working copies when you are done.

Step 2: Put everything in one sheet with the same columns

Exports differ, but almost all have a date, a description (the merchant text) and an amount. Make one sheet with these columns and paste every export into it:

ColumnWhat goes in it
DateThe transaction or posting date. Make sure the spreadsheet reads it as a date, not text.
SourceWhich account or card it came from.
DescriptionThe merchant text exactly as exported.
AmountMoney out as a positive number. If your export has separate Debit and Credit columns, use the Debit column. If it has one signed column where money out is negative, flip the sign.
MerchantA cleaned-up name (Step 3).
MonthThe year and month, e.g. =TEXT(A2,"yyyy-mm") in Excel or Google Sheets.

Delete transfers between your own accounts and card payments from the bank account, or you will count the same spending twice.

Step 3: Clean the merchant names

The same vendor often appears with changing reference numbers, like ACME SOFTWARE *INV 20931 one month and ACME SOFTWARE *INV 21877 the next. Grouping needs one name per vendor.

Step 4: Pivot by merchant and month

Insert a pivot table: Merchant in rows, Month in columns, sum of Amount in values. Then add a second pivot (or extra value fields) with, per merchant: count of transactions, minimum amount and maximum amount. Read it like this:

Step 5: Turn the list into decisions

Copy every recurring merchant to a short register: vendor, what it is for, owner, monthly or yearly cost, payment method, renewal date, and a decision (keep, cut, downgrade, renegotiate, merge). Then:

  1. For each "keep", find the contract or terms and note the cancel-by date (see auto-renewal notice windows).
  2. For each "cut", cancel through the vendor's own process and keep the confirmation. Watch the next statement to make sure the charges stopped.
  3. For each duplicate, pick one, move the users, and cancel the other at its next cancel-by date.
  4. Repeat the review every quarter. The second time takes a fraction of the first, because the merchant names are already cleaned.

The same export answers a second year-end question: which contractors and landlords need a Form 1099. For 2026 payments the federal line is $2,000 per payee (see the new $2,000 rule). The free Year-End Vendor Check does Steps 2 to 4 above and the 1099 totals from one file, in your browser.

An example of what you are looking for

This is a made-up extract, not real data:

Date,Description,Amount
2026-01-03,ACME SOFTWARE *INV 20931,120.00
2026-01-17,CLOUDBOX STORAGE,15.00
2026-01-17,CLOUDBOX STORAGE,15.00
2026-02-03,ACME SOFTWARE *INV 21877,120.00
2026-03-03,ACME SOFTWARE *INV 22710,132.00

Acme is recurring and rose from $120 to $132 (10%) in March. CloudBox was charged twice on the same day: either two accounts or a billing error, worth a support ticket.

Stopping a charge you did not agree to

First ask the vendor to cancel and refund, in writing. For a card, your card issuer has its own dispute process and deadlines; check your cardholder agreement. For bank debits:

One federal rule is worth knowing if you pay any business costs from a personal account. Regulation E covers "consumer" accounts, which it defines as accounts established primarily for personal, family or household purposes (12 CFR 1005.2(b)); a business checking account generally falls outside it. For a covered account, you can stop a preauthorized electronic transfer by telling your bank, orally or in writing, at least three business days before the scheduled date, and the bank may ask for written confirmation within 14 days (12 CFR 1005.10(c)). If a preauthorized transfer will change in amount, the payee or the bank must send written notice of the amount and date at least 10 days before the transfer, though you can agree to get notice only when it falls outside a set range (12 CFR 1005.10(d)). Stopping a payment does not end the contract; you may still owe the money.

Related

Sources

Sources opened and checked on October 12, 2026.

Not legal, tax or financial advice. These pages explain common contract terms and bookkeeping steps in plain English. Contract wording and state laws vary, so read your own documents and ask a qualified professional before you rely on a deadline or stop a payment.