WorkflowTreasury & Cash Management

Bank Fee Analysis

Bank fee analysis that checks every statement line against the agreed price, and claims each overcharge back with proof

Every bank fee checked against the agreed price, every overcharge claimed with proof.

See one case, screen by screen ↓
demo$21,974found to claim back from four banks' September statements, five findings, each re-checked
demo343linesread from four statements in three formats — X12 822, camt.086 and a 28-page PDF
estimated$137,510a yearfrom one pricing review, asking a bank for prices the group already pays another bank
target100%of statement lines at every bank checked against the agreed price and our own volumes each month
In short

What is Bank Fee Analysis?

Bank Fee Analysis audits bank account analysis statements against the pricing treasury negotiated. Seven agents read each bank's monthly statement in any format, map every line to an AFP service code, check prices, volumes and the earnings credit against the agreements and your own records, re-check every finding and draft a cited claim letter. The treasury manager approves and signs every claim.

How to choose AI solutions for back-office and enterprise work →

Updated

The problem

Why bank fees go unchecked

Every bank sends treasury an account analysis statement each month: a hundred lines or more of ACH, wires, lockbox, positive pay and account maintenance, each with a volume and a unit price, offset by an earnings credit on balances. One bank sends an X12 822, another a camt.086, a third a PDF. Each uses its own service codes. The agreed prices sit in a treasury services agreement exhibit, pricing letters and side letters, and nobody has the week it takes to re-price every line in a spreadsheet.

So the errors get paid. A bank's billing system drops your pricing and goes back to its standard rate card. A batch of wires is billed twice after a re-run on the bank's side. Maintenance runs on accounts closed months ago. The earnings credit is applied below the fixed rate. A new fee appears with no agreed price, and a proposed price rise becomes the new baseline because no one answered. Checking volumes against your own payment hub needs data from other teams, so it rarely happens at all.

typical5–10%of bank fees billed in error, by published estimates
typical64%of corporates have no tool to analyse their account analysis statements
typical21%of treasurers benchmark their bank service fees
Where a month's bank fee review hours goestimated
By hand42 days
With the solution4 days
  • Collecting statements from portals, files and email4 → 0.5 d
  • Mapping each bank's codes to AFP service codes8 → 0.5 d
  • Finding the agreed price in agreements and letters6 → 0.5 d
  • Re-pricing every line and the earnings credit12 → 0.5 d
  • Checking billed volumes against our own records6 → 0.5 d
  • Writing claims and chasing the credits6 → 1.5 d

Estimated split for a group with four banks and about 60 accounts, by hand and with the solution. The hours after are the people's time to review, decide and sign.

How it works

How a statement becomes a claim

Seven agents read every statement, map it to service codes, check prices and volumes, re-check each finding and draft the claim; a person signs.

What comes in
Statements inevery bank, every month · 822, camt.086, PDF, agreements, our own records
Agents at work
Reading agentany format
Then
Code mapping agentto AFP codes, asks when unsure
Then
Pricing agentagainst the agreement
Volume agentagainst our records
Benchmark agentacross banks
Then
Checker agentre-computes blind
Claim agentevery line cited
A person decides
Treasury managerapproves and signs every claim
What comes out
Claims sent with proof
Credits confirmed
Pricing review ready
One case, step by step

One month, from four statements to a signed claim

Kestrel & Vane Group pays $386,420 in bank fees in September 2026 across four banks and 61 accounts. On Wednesday 14 October the treasury manager opens the working solution. Here is how he works with the agents, screen by screen.

  1. 01Wednesday, 08:12

    The fee team has already done the month

    Owen Price · Treasury manager

    All four banks' September statements are in and checked. Owen's Today screen shows $21,974 to claim back from five findings, each re-checked, and four items waiting for him, ranked by due date: the First Harbor claim, a new Halvard fee, an Osterly price change and an overdue Vantmoor claim. Beside them, the fee team talks to him in plain words, and every answer cites its source.

    Claim agent: “Morning, Owen. September is checked: 4 statements, 343 lines, $386,420. I drafted three claims; one is yours to approve.”

  2. 02One click

    First Harbor's statement as one price sheet

    Owen Price · Treasury manager

    The X12 822 arrived on Saturday: 112 lines across 14 accounts, checked against the Treasury Services Agreement, Exhibit B, by seven agents in four minutes. Each service sits on its AFP service code, with First Harbor's own code beneath it, the volume, the agreed and charged price, and a bar for the overcharge. Charged $142,860.00; should have been $125,466.00; $17,394 over the agreed price.

    “You approve claims up to $25,000 (TP-07 4.2). Nothing is sent before a person signs.”

  3. 03The evidence

    $0.12 charged, $0.08 agreed, on 412,050 ACH debits

    Pricing agent

    Owen opens the ACH debit line. The bank charged 412,050 × $0.12, $49,446.00; Exhibit B agrees 412,050 × $0.08, $32,964.00. That is $16,482 over. Each citation opens the exact passage: Exhibit B fixes prices for the term, and changes need 60 days' written notice and Kestrel & Vane's written agreement. The drawer shows how each agent got there, and lets Owen keep the line in the claim or dismiss it with a reason.

    Pricing agent: “$0.12 is First Harbor’s standard rate card, so their system lost our pricing on 1 Sep.”

  4. 04He asks

    “Show me the wires billed twice”

    Volume agent

    First Harbor billed 2,184 outgoing domestic wires; the payment hub sent 2,088. The volume agent answers Owen with both sources and filters the sheet to that line. ACH returns rose 38% on August, but the payment hub received the same 1,210 returns, so the agent cleared the line and left a note instead of raising noise.

    Volume agent: “Batch WB-0917-B, 96 wires, released once on 17 Sep and billed again on 18 Sep after a re-run on the bank’s side. 96 × $9.50 = $912.”

  5. 057.5 seconds

    Every finding re-computed, blind

    Checker agent

    Owen presses Re-check with the agents and watches all seven work in turn, each in about a second: read the 822, map the codes, compare prices to Exhibit B, compare volumes to the payment hub and account register, compare prices with the other three banks, re-compute every finding, update the claim. The checker agent starts from the raw line and the passage and never sees the others' working.

    “Same findings as this morning. Nothing changed; the run is in the audit trail.”

  6. 06A question for a person

    A fee with no agreed price is never guessed

    Code mapping agent

    Halvard's camt.086 carries a new line, LQR-MTH, liquidity reporting, €1,400 ($1,520). It is not in price list HB-2026, and the mapping agent is only 71% sure of its service code. No one can tell whether someone ordered it, so it comes to Owen as a decision with three plain choices: claim it back, ask the bank first, or accept it as a new fee. He signs whichever he picks.

    Code mapping agent: “One fee at Halvard has no agreed price. I would rather ask than guess.”

  7. 07The draft

    Claim CLM-0931, every line cited

    Claim agent

    The claim agent has drafted the letter to Martin Hale, Treasury Management Officer at First Harbor: a request for a credit of $17,394 against Exhibit B, with each line tied to the statement, the agreement and Kestrel & Vane's own records. Owen asks it to also have the bank fix the price in its billing system; the agent adds the paragraph and the total stays $17,394.

    “The statement lines, our records and the agreed prices are attached. Please confirm the credit within 30 days.”

  8. 08Signed

    Approved with a reason code and his signature

    Owen Price · Treasury manager

    The claim sits inside Owen's band under treasury policy TP-07 §4.2, so he approves it himself. He picks reason code CLM-PR, price above the agreed schedule, ticks that he has read the evidence and signs. The letter, the statement lines and the agreed prices are signed together. Only then does Send appear, and after sending the claim agent reads the October statement line by line for the credit.

    “I have read the evidence. Sign as Owen Price, Treasury Manager.”

  9. 09Follow-up

    Late and disputed claims, on a clock

    Claim agent

    On Claims, $44,752 is open across six claims and $128,053 has been credited this year. Asked which claims are late or disputed, the claim agent filters the list to two: CLM-0917 to Vantmoor, $16,215, with no reply in 54 days against a 30-day clock, and CLM-0924 to Halvard, $4,843, which the bank disputes. A reminder to Vantmoor is drafted for a person to send.

    “The agent drafts and follows up; it never sends a claim or a reminder without a person.”

  10. 10Before the review

    A pricing review built from our own data

    Sofia Marchetti · Bank relationship lead

    Exhibit B allows a pricing review by 1 Mar 2027. The benchmark agent has built it: ask First Harbor for ACH debits at $0.065, outgoing wires at $8.00, incoming wires at $5.00 and checks paid at $0.12, all prices Kestrel & Vane already pays another bank. At September volumes × 12 that is an estimated $137,510 a year, with four billing errors in twelve months, $23,059, as leverage. Sofia presents it; Owen approves the letter.

    “Asks are the lowest price we already pay another bank for the same service.”

Who it’s for

Built for everyone who answers for bank fees.

The same month of statements, seen by five of the people in treasury and audit — what the work looked like, and what it looks like now.

OP
Owen PriceTreasury Manager · approves claims to $25,000
Treasury manager
Before
Wants to see where a bank charged more than agreed, and the clause that says so, but the statements were re-priced by hand for two US banks only, a quarter late.
Now
Opens one price sheet per bank and month, asks the fee team about any line, and approves each claim with a reason code and his signature.
LB
Leah BrandtCash Manager · approves claims under $2,500
Cash manager
Before
Watches balances and the earnings credit, and wants to know a credit is short before month-end, not after.
Now
Approves the small claims, such as Osterly's $1,890 earnings credit, and sees every claim's clock and whether the credit arrived.
RM
Ravi MenonTreasury Analyst · statements, codes and letters
Treasury analyst
Before
Spent a week a month getting statements in and re-pricing spreadsheets, mapping each bank's codes by hand.
Now
Confirms only the codes the mapping agent is unsure of, three this month, with its reasoning beside each.
SM
Sofia MarchettiBank Relationship Lead · pricing reviews and RFPs
Bank relationship lead
Before
Needed the volumes and the asks before every bank review, and built them once a year in a spreadsheet.
Now
Takes a review pack to the bank with the asks, the saving at our volumes and the record of billing errors, and downloads RFP volumes in one click.
HL
Hugo LaineInternal Audit · reads everything, exports evidence
Internal audit
Before
Asks who decided, on what evidence and when, for every claim and every dismissed line.
Now
Reads one trail of every person and agent action with what it relied on, and exports the evidence pack.
Built on the engine

7 agents. Each with one job, and hard limits.

Seven agents read every statement, map it to service codes, check prices and volumes, re-check each finding and draft the claim; a person signs.

Reading agent

Reads each account analysis statement the hour it arrives — X12 822, BAI2, camt.086, TWIST BSB, CSV or PDF — into service lines, balances and the earnings credit, and checks that the lines add up to the statement total.

  • Never guesses an unreadable page; it stops and drafts a request to the bank
  • Totals must agree to the cent
Code mapping agent

Maps each bank's own service code to an AFP service code from the bank's description, the price schedule and past statements, with a confidence and the reason, so the same service can be compared across banks.

  • Below 90% confidence it asks a person
  • Never maps a new fee silently
Pricing agent

Compares every line and the earnings credit rate with the schedule in force for the statement month, reading every agreement, pricing letter and side letter, and costs any proposed price change.

  • Never changes a price or accepts a proposed change
  • A fee with no agreed price goes to a person
Volume agent

Compares billed volumes with what really happened: wires and ACH from the payment hub, accounts from the account register. Finds items billed twice and charges on closed accounts, and clears volume moves our records confirm.

  • Clears a line only when our records agree
  • Never claims a volume it cannot match to a reference
Benchmark agent

Compares the same service across banks by AFP service code, converting currencies at month-end, and builds pricing reviews and RFP volume files from twelve months of our own volumes.

  • Like for like only; other markets are marked as reference
  • Never contacts a bank
Checker agent

Re-computes every finding from the raw statement line and the source passage, without seeing the other agents' working, before anyone sees it.

  • Cannot create findings
  • A disagreement goes to a person, never into a claim
Claim agent

Drafts one claim per bank per month with every line cited, routes it to the right approver, and after sending chases it on the 30-day clock and reads the next statement for the credit.

  • Never approves, sends or dismisses
  • Nothing leaves before a person signs
Treasury manager and assistant treasurer

Approve by band with a reason code; two signatures above $25,000. The agents propose; a named person decides.

Ask in plain words

Ask the fee team about any line

Ask about any bank, fee, price or claim, or tell the agents what to do. Every answer cites the statement line, the agreement passage or our own record.

Why is the ACH debit price wrong?

Exhibit B fixes ACH debit originated at $0.08 for the term; the September statement charges $0.12 on 412,050 items. $0.12 is First Harbor’s standard rate card, so their system lost our pricing on 1 Sep. Overcharge: $16,482. I have asked the claim agent to request a fix in their billing system as well as the refund.

What is the new Halvard fee?

A “liquidity reporting” charge of €1,400 ($1,520) on the September camt.086. It is not in price list HB-2026, and §9 says new services need written agreement. I cannot tell whether someone asked for it, so it needs you: claim, ask the bank, or accept.

How did you work out the earnings credit?

Average collected balance $9.2M × (3.10% − 2.85%) × 30/365 = $1,890. Osterly moved to its managed rate on 1 Sep; our 2026 letter fixes the rate, so it does not apply to us.

What does the Osterly change cost us?

Lockbox items from $0.30 to $0.34: at 128,600 items a month that is $5,144 a month, $61,728 a year. The 2026 letter runs to 31 Dec, so a change on 1 Nov needs our agreement. I suggest you do not accept it before the year-end review.

Every screen

The working solution, as it ships.

13 screens from the working solution, on its sample data. Pick one to see it large.

TodayThe month at a glance: fees, what to claim back, what waits for the treasury manager by due date, and the fee team's conversation with its sources.
The price sheetOne row per service by AFP service code: volume, agreed and charged price, the charge, and a bar for the overcharge, with the claim it adds up to.
One line, all its evidenceWhat the bank charged against what we agreed, each cited, how each agent got there, and the person's call on the line.
Ask the fee teamA plain question filters the sheet to the wires billed twice, and the volume agent answers with the payment hub and statement cited.
Re-check with the agentsAll seven agents run again in turn; the checker re-computes every finding without seeing the others' working.
A new fee to decideA fee with no agreed price, brought to the treasury manager with three plain choices and a signature.
The claim letterThe drafted letter to the bank with every line cited, the decision panel, where the claim stands and the claim agent to ask.
Approve and signA reason code, a note for the record and the signature; the letter, statement lines and agreed prices are signed together.
Claims and their clocksEvery claim from draft to credit; asked which are late or disputed, the claim agent filters the list and explains each.
Service codes to confirmThe bank codes the mapping agent is unsure of, with its reasoning and confidence, to confirm or change.
The pricing reviewWhat to ask the bank for, the saving a year at our volumes, the leverage the agents collected and the request letter to approve.
Audit trailEvery action by a person or an agent, with what it relied on; nothing can be edited or deleted.
Rules and thresholdsWhat counts as a finding and what the agents do, changed only with the assistant treasurer's approval.
Governance

Built for treasury control: cited, re-checked, signed.

Every value cites its sourceEvery finding, claim line and answer points to the statement line, the agreement passage with the words highlighted, or our own payment and account records. One click opens it.
Every finding re-checked independentlyThe checker agent re-computes each finding from the raw line and the passage without seeing the other agents' working. If it disagrees, the finding goes to a person, never into a claim.
Approved by band, with a reason and a signatureUnder treasury policy TP-07 §4.2 the cash manager approves claims under $2,500, the treasury manager to $25,000, and above that the assistant treasurer signs too. Every decision carries a reason code.
New fees and price changes go to a personA fee with no agreed price is always brought to the treasury manager as a decision, and a proposed price change is never accepted by an agent. Agents never approve, send, dismiss or change a price.
Rules cannot be loosened quietlyThresholds and rules take effect on the next statement and need the assistant treasurer's approval. The change from a $100 to a $250 smallest claim is on the record with who proposed and who approved it.
An audit trail that cannot be editedEvery action by a person or an agent is recorded with what it relied on, kept for seven years under TP-07, and exported as an evidence pack per claim or for audit.
Configuration

Your thresholds and your approval policy

What counts as a finding and what the agents may do are settings. A change takes effect on the next statement and needs the assistant treasurer's approval.

SettingDefaultChoose from
Flag a price above the agreed price by more than$0.001 per itemAny amount per item
Flag a billed volume above our records by more than0.5%Any percentage
Flag an earnings credit rate below agreed by more than0.05 pointsAny number of points
Look back over3 monthsAny number of months
Smallest claim worth sending$250Any amount; raised from $100 on 2 Oct
Ask a person when the mapping is less sure than90%Any confidence
A fee with no agreed priceAlways ask a personAlways ask a person · Claim it back
Re-check every finding with the checker agentAlwaysAlways
Connections

Works with the statements and records treasury already has

Account analysis statementsX12 822, ISO 20022 camt.086, TWIST BSB, BAI2, CSV and PDF
Bank connectionshost to host by SFTP, ISO 20022 through the connectivity hub, and a statement mailbox for PDFs
Agreements and pricing letterstreasury services agreements, pricing letters and side letters, with AFP service codes
Payment hubthe wires, ACH files and returns we actually sent and received
Treasury systembank accounts, balances and the account register
ERP general ledger and e-signaturethe bank fee accrual and credits, and signed claim decisions
What it changes

The difference, in numbers.

Every figure is labelled: a target the solution is built to, an estimate, a typical published result, or a proven one.

estimated
$214K–$428K
a year of fees in reach for a group paying $4.28M, at the published 5–10% billing-error range
5% in error$214K
10% in error$428K
estimated
$137,510
a year from one pricing review, at prices the group already pays another bank
TodayAfter the review
target
100%
of statement lines at every bank checked each month, each finding re-checked, every claim signed
4 of 4 banks checked
every month

“demo” = seen in the working solution, on its sample data · “target” = the design goal, measured in the live solution · “estimated” = our estimate: the pricing review saving at September volumes × 12, and the split of a month's hours · “typical” = published figures (Treasury News Network — 5–10% of bank fees billed in error; survey of 200+ treasury professionals, 2018 — 64% of corporates have no tool to analyse account analysis statements; Treasury Strategies survey via Treasury News Network — 21% benchmark their service fees). Kestrel & Vane Group, its banks and the people named on this page are fictional — characters and sample data in the working solution.

Questions

What treasurers ask us.

What is Bank Fee Analysis?

Bank Fee Analysis audits bank account analysis statements against the pricing treasury negotiated. Seven agents read each bank's monthly statement in any format, map every line to an AFP service code, check prices, volumes and the earnings credit against the agreements and your own records, re-check every finding and draft a cited claim letter. The treasury manager approves and signs every claim.

Which statement formats does bank fee analysis read?

X12 822, ISO 20022 camt.086, TWIST BSB, BAI2, CSV and PDF. In the working solution two banks send an 822, one a camt.086 and one a 28-page PDF, and all 343 lines are read. When a statement cannot be read, such as a password-protected PDF, the reading agent stops and drafts a request to the bank instead of guessing.

How does it compare banks that use different service codes?

The code mapping agent maps each bank's own code to an AFP service code, from the bank's description, the price schedule and past statements, with a confidence and its reason. Below 90% it asks a treasury analyst. With every service on the same code, the benchmark agent compares the same service across banks.

Does it check volumes and the earnings credit, not only prices?

Yes. The volume agent compares billed wires and ACH items with the payment hub and billed accounts with the account register, which is how it finds items billed twice and fees on closed accounts. The pricing agent checks the earnings credit rate applied against the agreed rate on the collected balance.

Does the AI send claims to the bank on its own?

No. The claim agent drafts and follows up, but it never approves, sends or dismisses. Each claim is approved by the person in the right band under your treasury policy, with a reason code and a signature, and two signatures above $25,000. Send appears only after a person signs.

Can it help us negotiate bank pricing or run a bank RFP?

Yes. The benchmark agent compares the same service across your banks and builds a pricing review: the asks, the saving a year at your volumes and your record of billing errors with that bank. For an RFP it puts every bidder's price sheet on the same service codes and builds the volume file from your own data.

Do people stay in control?

Yes. A fee with no agreed price and any proposed price change always go to the treasury manager. Every finding is re-checked by an independent agent before anyone sees it, rule changes need the assistant treasurer's approval, and every action is on an audit trail that cannot be edited.

How long does it take to go live?

The Agentic Solution Engine builds and deploys it from your requirements and documents — your treasury policy, your bank agreements and pricing letters, and a few months of past statements — and it goes live once every quality gate has passed. Set-up connects the banks, reads the agreements, confirms the service codes, connects your own records and names the approvers.

See it on
your bank statements.

We'll run Bank Fee Analysis on a few months of your own account analysis statements and the agreements behind them.