I tracked 17 credit cards across 5 banks for 30 days: the wallet bloat test
For 30 days I logged every transaction from every card with my name on it: 17 cards across 5 banks, personal and business, physical and virtual. The goal was not spending less, it was finding out whether one app can actually tell you which bank a charge came from. Twelve of 17 cards attributed cleanly on the first upload. Five needed a manual nudge.
I did not set out to own 17 cards. Like most people who have moved country, started a company, and kept a couple of dormant cards around for the credit history, the number crept up. Somewhere between the fourth virtual card and the second country, I stopped being able to say with confidence which bank a given charge came from without opening five different apps. So I audited it properly for a month, on the product I build, to see what actually breaks when a wallet gets this bloated.
How many credit cards does the average person actually carry?
Experian and WalletHub both put the 2026 US average between roughly 3.5 and 3.9 active credit cards per person, well below the often-quoted 7.1 total cards once dormant and canceled ones are excluded. Add a business card, a partner's card on a joint account, and a card from a second country, and 5 to 6 active cards is common for anyone earning across borders.
Those national averages undercount a specific group: freelancers, founders and expats who hold a personal card and a business card in one country, plus a card in a second country for a client who pays in a different currency. That is closer to my own situation, and it is why the 17-card number, while unusual, was not really a stunt. It was closer to an honest count of everything active in my name.
What is wallet bloat and why does it break expense tracking?
Wallet bloat is the point where the number of active cards outpaces any single bank's ability to show you the full picture, because every bank app only shows its own cards. A budgeting app that only connects live bank feeds inherits the same blind spot: it shows totals per connected account, not one merged view of where the money actually went and which physical card touched it.
The practical failure is not the total spend number, which most apps get right. It is the second question that comes right after: which card was this on, and does that card need paying down before the statement closes. With 17 cards, that question stops being answerable from memory, and most trackers do not store the answer as a first-class field at all.
How did the 30-day, 17-card test work?
Every card statement, CSV or PDF, got uploaded to Capi as it closed over the 30 days: 5 from Nubank, 4 from Banco Inter, 3 from Mercado Pago, 2 from XP, and 3 from a US-issued Chase account. The mix covered personal, business, joint and virtual cards, plus one backup card kept active purely for the credit history.
Total spend across the 17 cards and both currencies came to the equivalent of roughly $3,180 for the month. That is not the interesting number. The interesting number is what happened when 17 separate statements landed in one inbox and needed to become one ledger without me retyping any of it.
Which banks caused the most tracking errors?
Twelve of the 17 cards attributed to the correct bank automatically on the first upload, and every miss traced back to one of two causes: a statement format the detector had not seen before, or a bank the detector does not know at all. Nothing was silently wrong, every gap showed up as a card sitting under the wrong bank until I fixed it once.
The breakdown: all 5 Nubank cards tagged correctly, since Nubank's CSV export and the word "Nubank" itself appear consistently across every statement type it issues. Banco Inter got 3 of 4 right; the fourth was a dormant card's annual summary PDF, exported in an older template that did not carry the usual "Banco Inter" marker text. Mercado Pago got 2 of 3 right; the business card's statement bundled personal and business transactions into a single PDF, so the split needed a manual pass. XP got both cards right, both statements coming from the same "XP Investimentos" export format. The 3 Chase cards needed a manual bank selection every time, because Chase, like most non-Brazilian issuers, is not in the automatic detector's list of known formats yet.
What is bank attribution and how does it fix multi-card chaos?
Bank attribution means the app tags every transaction with the bank or card issuer it came from, not just the amount and category, so you can filter spend by bank instead of only by month. Capi reads the file name and the first page of text on every uploaded statement, matches it against known formats for Nubank, Banco Inter, Mercado Pago and XP, and stamps the source bank on each transaction as it imports.
The first time a bank is not recognized, the app asks once and remembers the choice for that account going forward, which is exactly what happened with the 3 Chase cards. After that first manual pass, every later Chase statement attributed correctly without asking again. The honest limitation is that the automatic side of this only covers a specific, mostly Brazilian list of issuers right now. A wider net of automatically recognized banks, especially US and EU issuers, is the obvious next step and not yet shipped.
How does Capi compare to Monarch and Mobills for tracking multiple cards and banks?
Monarch connects live to most US banks through Plaid, MX or Finicity and shows a combined view, but has no separate concept of source bank on a statement upload; household sharing sits behind the same $99.99-a-year Core plan. Mobills supports statement import for Brazilian banks well but, like Monarch, does not stamp or aggregate by issuing bank once the data lands.
| App | Auto-detects issuing bank from a statement | Per-bank spend view | Best coverage | Price (2026) |
|---|---|---|---|---|
| Capi | Yes, from file name and text | Yes, filter by bank | Nubank, Inter, Mercado Pago, XP + manual fallback | $9.90/mo or $69.90/yr |
| Monarch | No, live feed only | Per account, not per bank | Broad US bank-feed coverage | $99.99/yr; Plus $199/yr |
| Mobills | No stamping after import | Per account, not per bank | Strong Brazilian bank import | R$99.90/yr |
If every card sits at one bank with a solid live feed, that gap does not matter much, Monarch's aggregation already answers "how much did I spend." It starts to matter the moment cards are split across banks and countries, because "how much" stops being the hard question and "which bank, and does it need paying down before the due date" becomes the one that actually costs money in late fees and duplicate reads. The wider comparison of multi-currency setups sits in Capi vs Monarch, and the full field is ranked in the 2026 money tracker guide.
The same 17 statements are also where duplicate transactions show up most, since a card and its virtual sub-card sometimes both list the same charge in different formats. That problem and Capi's fix for it are covered separately in the 11-bank statement upload test, and the related currency-mislabeling failure mode from the same underlying multi-account mess is broken down in why budget apps show the wrong currency.
Is tracking 17 credit cards across 5 banks actually worth it?
Yes for the specific question it answers, which bank owns a given charge, and no as a way to reduce the number of cards itself. Nothing about better tracking made the wallet smaller. What it did was turn 17 separate mental tabs into one filtered view, and it surfaced two cards, the Inter dormant card and one Mercado Pago virtual card, that had not been used in months and are now closed.
The honest number to remember is 12 of 17 automatically, 5 with one manual fix each, and zero silently wrong. A detector that recognizes most of your banks and asks once for the rest beats a live feed that recognizes everything but cannot tell you which bank a charge belongs to at all.
Upload your first statement.
See which bank Capi detects automatically, and which one it asks about.
Free to start, Core unlocks statement import at $9.90/mo or $69.90/yr.
Frequently asked questions about tracking multiple credit cards
How many credit cards do people carry on average?
Experian and WalletHub both put the 2026 US average between roughly 3.5 and 3.9 active credit cards per person, well below the often-quoted 7.1 total cards once dormant and canceled ones are excluded. Add a business card, a partner's card, and a card from a second country and 5 to 6 active cards is common for anyone earning across borders.
What is bank attribution in a budgeting app?
Bank attribution means the app tags every transaction with the bank or card issuer it came from, not just the amount and category. Capi's version reads the file name and the first page of text on every uploaded statement to detect the source bank automatically, then lets you filter and view spend by bank.
Can one app track cards from five different banks?
Yes, if the app supports statement upload rather than only live bank-feed sync, because upload works for any bank that issues a CSV or PDF statement. In this test, Capi tracked 17 cards across Nubank, Banco Inter, Mercado Pago, XP and a US-issued Chase account from uploaded statements alone.
How much does Capi cost to track multiple cards and banks?
Statement upload and bank attribution require Capi Core, $9.90 a month or $69.90 a year. The free plan supports voice, text and photo entry up to 30 transactions a month but does not include file imports, so multi-bank attribution is a Core-tier feature, not a free one.
What is the easiest way to track multiple credit cards without spreadsheets?
Upload each bank's CSV or PDF statement to an app that auto-detects the issuing bank and merges duplicates, rather than manually retyping totals into a spreadsheet every month. That removes both the data entry and the guesswork of which card a charge belongs to.