Household money
How much did your bank charge you? Total fees and refunds separately
To find what your bank charged, total confirmed fee debits for the period and subtract confirmed fee refunds, which need their own total. Keep unidentified entries beside the result so they don't quietly disappear as zero.
By AnyStatement
Published , 9 min read
Searching for “fee” gives you a review list, not a finished total. This worksheet turns a bank CSV into a total you can trace to individual statement rows. It doesn't decide whether a fee was lawful, whether the bank should refund it or whether your documents are authentic. For a particular charge, you'll need the account's fee schedule and the bank's explanation. The US consumer guidance linked here comes from the CFPB.
Give the total a period and an account
A total needs an account alias, currency and exact reporting period to mean much. “Household checking, USD, January 1 through December 31, 2025” tells you more than “annual bank fees,” so write those details down before combining files. Use the bank's native transaction export if it covers your dates, keeping the original statements alongside it.
Statement periods tell you whether you have full coverage; the first and last transaction dates don't. If March is missing, your total is partial, even if the spreadsheet looks finished. Review overlapping exports so each posted row enters once. A fee shown in both a statement's summary and its transaction list is not two charges.
Keep accounts and currencies in separate worksheets, using posted transactions rather than a mixture of posted and pending app entries. In this bank-account layout, money leaving is negative and money entering is positive. An export with separate debit and credit columns needs normalizing first; the signed-amount guide explains how. Don't apply this sign assumption to a credit-card export without checking it.
Find likely fees, then read the actual rows
Banks use different fee names and abbreviations, so these are search prompts, not a universal dictionary. A match isn't proof of a bank fee. Search the full description and compare likely matches with the statement's fee section and account terms, keeping the original wording for reference.
| Category | Possible wording | What to check |
|---|---|---|
| Maintenance | Monthly service, maintenance | Account charge, not a merchant subscription |
| Overdraft | Overdraft, OD fee | Fee amount, not the payment that caused it |
| NSF | NSF, returned item | Bank fee versus a merchant's returned-payment fee |
| Foreign transaction | Foreign, international, FX fee | Explicit fee, not the whole converted purchase |
| ATM | ATM fee, non-network, surcharge | Fee amount and who charged it, not cash withdrawn |
| Refund | Fee refund, rebate, reversal | Actual credit and the fee it relates to |
Overdraft and NSF labels need to stay separate: an insufficient-funds entry doesn't always mean the same thing. The CFPB's overdraft guidance, last reviewed December 18, 2024, distinguishes overdraft charges, NSF fees and merchant returned-item fees. Even when a merchant penalty appears on the same statement, it falls outside a total of charges made by your bank.
An ATM charge raises another question: who charged it? The CFPB's ATM fee explanation, last reviewed January 31, 2024, identifies both the account provider and the ATM owner as possible fee sources. Your report needs to say whether it covers only your bank's charges or all identified ATM costs. If an operator fee is included within a withdrawal and you can't establish the fee portion, leave it unresolved. Counting the entire withdrawal would count cash as a fee.
For foreign transactions, Chase's credit-card fee explainer says a fee can appear in the fees section or as a separate transaction line. That page had no editorial date when checked on October 17, 2026. It isn't your account agreement: use your own terms, and don't infer a fee just because a purchase was converted from another currency.
“FEE STREET CAFE” could be lunch, while an unexplained “ACCOUNT ADJUSTMENT” might deserve a question even without the word fee. That's why unmatched rows and any statement fee totals still need a human review. For repeatable labels, use the reviewable categorization worksheet. Recurring merchant payments belong in a separate subscription review, not automatically in bank fees.
A fictional year: $175 charged, $10 returned
This synthetic example assumes complete statements for one USD checking account from January 1 through December 31, 2025. The CSV is a selected review list, not the full account ledger. It contains twelve $10 maintenance fees, eight $2.50 ATM fees charged by the account provider, one $35 overdraft fee and a $10 maintenance-fee refund. These are invented amounts, not a named bank's rates.
Import the CSV below into A1:G25 on a blank worksheet. For the calculations to work, amounts in column D must be numeric values, not text; dates should import as dates. Save the working file as an Excel workbook, keeping the untouched source CSV separately. Each source ID below identifies one row. Your own sheet also needs the source filename and row reference so you can trace an entry back.
SourceID,PostedDate,Description,Amount,Category,Review,ReversesID
F01,2025-01-31,MONTHLY SERVICE FEE,-10.00,Maintenance,Confirmed,
F02,2025-02-10,NON-NETWORK ATM FEE,-2.50,ATM,Confirmed,
F03,2025-02-28,MONTHLY SERVICE FEE,-10.00,Maintenance,Confirmed,
F04,2025-03-10,NON-NETWORK ATM FEE,-2.50,ATM,Confirmed,
F05,2025-03-31,MONTHLY SERVICE FEE,-10.00,Maintenance,Confirmed,
F06,2025-04-10,NON-NETWORK ATM FEE,-2.50,ATM,Confirmed,
F07,2025-04-30,MONTHLY SERVICE FEE,-10.00,Maintenance,Confirmed,
F08,2025-05-10,NON-NETWORK ATM FEE,-2.50,ATM,Confirmed,
F09,2025-05-31,MONTHLY SERVICE FEE,-10.00,Maintenance,Confirmed,
F10,2025-06-10,NON-NETWORK ATM FEE,-2.50,ATM,Confirmed,
F11,2025-06-30,MONTHLY SERVICE FEE,-10.00,Maintenance,Confirmed,
F12,2025-07-10,NON-NETWORK ATM FEE,-2.50,ATM,Confirmed,
F13,2025-07-31,MONTHLY SERVICE FEE,-10.00,Maintenance,Confirmed,
F14,2025-08-10,NON-NETWORK ATM FEE,-2.50,ATM,Confirmed,
F15,2025-08-31,MONTHLY SERVICE FEE,-10.00,Maintenance,Confirmed,
F16,2025-09-10,NON-NETWORK ATM FEE,-2.50,ATM,Confirmed,
F17,2025-09-30,MONTHLY SERVICE FEE,-10.00,Maintenance,Confirmed,
F18,2025-10-15,OVERDRAFT FEE,-35.00,Overdraft,Confirmed,
F19,2025-10-31,MONTHLY SERVICE FEE,-10.00,Maintenance,Confirmed,
F20,2025-11-30,MONTHLY SERVICE FEE,-10.00,Maintenance,Confirmed,
F21,2025-12-02,FEE STREET CAFE,-6.00,,Not fee,
F22,2025-12-04,ACCOUNT ADJUSTMENT,-4.00,,Review,
F23,2025-12-05,SERVICE FEE REFUND,10.00,Maintenance,Confirmed,F20
F24,2025-12-31,MONTHLY SERVICE FEE,-10.00,Maintenance,Confirmed,Here, Confirmed means you have identified a bank fee or fee refund, not that a tool has authenticated it. The other statuses are Not fee for reviewed exclusions and Review for unresolved entries. Before reporting, every row needs a review status and every confirmed row needs a category. The cafe is excluded, while the $4 adjustment stays unresolved; neither is silently absorbed into the fee total.
| Category | Charged | Refunded | Net |
|---|---|---|---|
| Maintenance | $120.00 | $10.00 | $110.00 |
| ATM | $20.00 | $0.00 | $20.00 |
| Overdraft | $35.00 | $0.00 | $35.00 |
| Total confirmed | $175.00 | $10.00 | $165.00 |
Report this as $165.00 net confirmed fees, plus one unresolved $4.00 debit. The possible fee content of that debit is unknown. Don't call $169.00 the total unless the bank confirms that the whole adjustment was a fee.
Use SUMIFS to keep charges and refunds apart
Separate totals show what left the account and what came back. Label H2:H6 as gross charges, refunds, net fees, unresolved debits and unresolved credits, then enter these formulas in I2:I6. They use English function names and comma separators and apply to the 24 data rows above.
I2: =-SUMIFS($D$2:$D$25,$F$2:$F$25,"Confirmed",$D$2:$D$25,"<0")
I3: =SUMIFS($D$2:$D$25,$F$2:$F$25,"Confirmed",$D$2:$D$25,">0")
I4: =I2-I3
I5: =-SUMIFS($D$2:$D$25,$F$2:$F$25,"Review",$D$2:$D$25,"<0")
I6: =SUMIFS($D$2:$D$25,$F$2:$F$25,"Review",$D$2:$D$25,">0")The expected results are 175.00, 10.00, 165.00, 4.00 and 0.00. The minus sign before SUMIFS converts negative charge totals into positive reporting amounts; it does not change the source rows. Don't turn every amount positive first, because that would add the refund to the cost instead of subtracting it.
For a category breakdown, put Category, Charged, Refunded and Net in H9:K9. Enter Maintenance, ATM, Overdraft, NSF, Foreign transaction and Other fee in H10:H15, then enter:
I10: =-SUMIFS($D$2:$D$25,$F$2:$F$25,"Confirmed",$E$2:$E$25,$H10,$D$2:$D$25,"<0")
J10: =SUMIFS($D$2:$D$25,$F$2:$F$25,"Confirmed",$E$2:$E$25,$H10,$D$2:$D$25,">0")
K10: =I10-J10Copy I10:K10 down through row 15. The first three categories should match the table; the others return zero because this example has no confirmed entries in them. Column E needs those same category labels for the formulas to pick up the rows. Any categories you add also belong in the summary, whose charged, refunded and net columns should agree with I2:I4.
Microsoft's SUMIFS reference, with update metadata dated July 7, 2026, documents the multiple-criteria syntax and equal-sized ranges. It also documents wildcards, which is why * and ? don't belong in category labels. A category shouldn't start with a comparison operator either:<>ATM means “not ATM,” not a literal category name. When you add transactions, extend every range ending at row 25 to the new last row. These formulas don't filter by date or ignore hidden rows, so the worksheet must contain only the chosen account, currency and reporting period. Unknown entries need to stay marked Review, not blank, or they won't appear in I5:I6.
Keep the original fee when a refund arrives
F23 is a posted $10 credit linked to the November maintenance fee, F20, so both stay in the worksheet. Deleting F20 and also subtracting F23 would count the benefit twice. If you deleted both instead, you'd hide the fact that a charge and a refund occurred.
Once you've established the connection, keep a refund in the original fee category and record the related source ID. A matching amount alone isn't enough. You might know a credit is a fee refund without knowing which fee it reverses; in that case, include it once in the confirmed refund total under Other fee and note “original fee not identified.” If you don't know whether it is a fee refund at all, leave it in Review.
A promise to refund is a note, not a posted credit. If the bank says it corrected a charge without a separate credit, get the corrected record or explanation to reconcile that change with your saved original. Don't invent a refund row to make the totals agree.
This report uses posting dates, so a refund arriving after the year-end belongs in the next period's posted-refund total, even if it refers to an earlier charge. Keep that cross-period link in your notes rather than changing its date. A period that receives more refunds than new charges can have negative net fees. Don't force that result to zero or present it as future savings.
A fee total is a better question, not a refund verdict
Today's account marketing page may not tell you which terms applied when a maintenance fee posted. You need the fee schedule and any change notices in force at the time. The CFPB's maintenance-fee guidance, last reviewed September 13, 2024, describes account-specific requirements such as minimum balances and direct deposits. A worksheet that totals charges doesn't test those terms.
Nor does a positive balance in an app settle an overdraft question. Chase's transaction-posting explanation distinguishes pending transactions affecting available balance from its nightly posting process. No editorial date was shown when checked on October 17, 2026. That is one bank's process, not a rule for every account; ask your bank which transactions, balances and terms it used.
You can ask about an unresolved row without asserting that the charge was wrong. For the fictional example: “Please explain the ACCOUNT ADJUSTMENT debit of $4.00 posted on December 4, 2025, and identify the applicable fee-schedule entry if it is a fee.” Keep the answer, contact date and reference beside the row for later review.
For US consumer-account questions that remain unresolved, the CFPB complaint page, last modified October 5, 2026, explains its process and asks for relevant dates, amounts, communications and supporting documents. It includes checking and savings accounts. This worksheet is not a legal assessment or a promise that a complaint will produce a refund.
Share the summary, not every purchase
For the fictional account, a useful handoff reads: “USD checking, January 1 to December 31, 2025: $175.00 confirmed charges, $10.00 posted fee refunds, $165.00 net. One $4.00 debit needs explanation; the $6.00 cafe purchase is excluded. Statements cover the full period.” Keep the detailed source references privately so another account holder can ask about a number without receiving your entire spending history.
If you'd rather review fee rows without building a workbook, the bank fee finder gives you that option. You still need to decide what each row represents and resolve gaps with the bank, because a total can't find a charge missing from the supplied records.
With PDF-only statements, first ask the bank for a native export. A short fee list may be worth transcribing with its source references; for a longer archive, AnyStatement can convert PDFs into reviewable Excel or CSV data. The extracted rows still need checking against the statements before this calculation. Conversion doesn't identify refund entitlements or replace the bank's fee schedule.
What we checked
We opened the linked CFPB, Chase and Microsoft pages on October 17, 2026. Dates above are the displayed review or modification dates, except Microsoft's explicitly identified update metadata; the two Chase pages showed no editorial date. We parsed the fictional CSV and recomputed its charges, refunds, category totals and unresolved amounts with Python Decimal, testing logic equivalent to the supplied SUMIFS formulas. We did not run Excel, test a live bank export or verify a real account's fees. The totals depend on the fictional classifications supplied in the example; they do not establish what any real entry represents, reconcile bookkeeping records or authenticate a document.