Skip to content

ON — Bank Fee Analysis from Palm Data

Metadata

  • Customer: ON
  • Date: 2026-03-05
  • Data source: Palm prod (transactions category = "Cash out: Bank Fees")
  • Period analyzed: 2020-10 through 2026-03-05 (focus on full year 2025)
  • Source: Notion
  • Parent workflow: Bank Fee Analysis

1. Executive Summary

ON has 124 bank accounts across 16 banks, 31 entities, and 21 countries. In 2025 alone, Palm captured ~11,850 fee transactions categorized as bank fees. The data is rich enough to support an AI-driven fee analyzer, but several caveats apply (see Section 5).

This document covers:

  • What Palm currently contains on bank fees (Sections 2-4)
  • Data quality issues that need fixing first (Section 5)
  • What an AI fee analyzer could realistically deliver (Section 6)
  • Recommended next steps (Section 7)

2. Fee Spend by Bank (2025, full year)

Excludes suspected miscategorized CNY transactions (see Section 5).

Bank CHF EUR USD GBP Other CCY Fee Txns
UBS -32,775 -24,153 -103,436 -4,828 -357,589* 5,796
JP Morgan Chase -238,694 -97,216 96
Deutsche Bank -1,402 -92,004 -10,361,920** 2,445
Commerzbank -8,655 -84,396 116
Bank of China -73,099 (HKD) 3,202
Commonwealth Bank -20,173 (AUD) 57
Sumitomo Mitsui (SMBC) -1,485,721 (JPY) 36
ASB Bank -39,318 (NZD) 5
BNP Paribas -472 7
Citi -771 -4,847 (KES) 61
ICBC -1,175 (CNY) 15

UBS Other CCY = mostly SEK (-143K), NOK (-118K), DKK (-74K) — Nordics via Switzerland. Deutsche Bank Other CCY inflated by miscategorized CNY payment transactions (see Section 5).

Top fee relationships by materiality (2025)

Bank Country Currency Total Fees Avg Fee Largest Single Fee
JP Morgan Chase US USD -238,694 -7,956 -22,272
UBS CH USD -103,436 -33 -14,833
Deutsche Bank UK GBP -91,585 -3,158 -40,951
Commerzbank UK GBP -84,396 -1,534 -9,540
JP Morgan Chase CA CAD -83,277 -2,313 -4,084
UBS CH SEK -143,615 -391 -11,498
UBS CH NOK -117,701 -454 -8,750
UBS CH DKK -73,810 -289 -4,808
Bank of China CN HKD -73,099 -218 -1,500
ASB Bank NZ NZD -39,318 -7,864 -38,339
UBS CH CHF -32,775 -30 -1,424

3. Fee Type Sub-Classification (2025)

Using keyword-based classification on transaction descriptions. "Other/Unclassified" is large because bank fee descriptions are inconsistent across banks and languages.

Fee Type Txns Banks CHF EUR USD GBP
Account Management 276 3 -7,117 -9,644 -248,106 -4,657
SWIFT/Wire Fee 2,278 2 -472
Collection/DD Fee 3 1 -85,685
FX Commission 20 1
EB/Wire Fee 4 1
Tax on Commission 48 2 -54
Transaction Fee 21 1
Platform Fee 3 1
Other/Unclassified 9,185 11 -25,658 -24,567 -94,741 -90,886

Key observations:

  • Account Management is dominated by JP Morgan US (USD 248K). Likely a bundled monthly service charge — the single largest fee line item.
  • SWIFT/Wire fees (2,278 txns) are almost entirely from Deutsche Bank CN — small per-transaction wire fees (CNY 1-15 each).
  • Collection/DD fees at Deutsche Bank UK (GBP 85,685) are suspicious — see Section 5.
  • FX commissions are identifiable at SMBC Japan but likely underreported because most banks embed FX costs in spreads.

4. Monthly Fee Trend (2025)

Month Txns CHF EUR USD GBP
Jan 782 -2,248 -2,401 -27,173 -5,277
Feb 760 -2,356 -1,671 -26,588 -5,448
Mar 777 -1,857 -2,541 -24,802 -6,591
Apr 811 -1,240 -2,189 -39,358 -4,412
May 930 -1,720 -1,780 -27,530 -6,343
Jun 834 -1,761 -3,421 -28,084 -9,832
Jul 1,132 -2,392 -3,803 -26,811 -50,858
Aug 752 -1,920 -2,334 -24,731 -10,687
Sep 1,108 -4,799 -2,711 -27,292 -11,150
Oct 1,113 -4,407 -2,332 -28,998 -49,453
Nov 1,175 -2,662 -2,359 -27,831 -12,523
Dec 1,667 -5,414 -7,141 -33,703 -8,656

Observations:

  • USD fees stable ~25-28K/month except April spike (39K) — worth investigating.
  • GBP spikes in Jul and Oct (~50K each) correspond to GBP 40,951 "BICESTERCHGS" transactions at Deutsche Bank UK — likely quarterly collection charges.
  • CHF and EUR spike in Q4/Dec, consistent with annual account management fee billing cycles.
  • Dec transaction count jumps to 1,667 (vs ~800-1,100 avg) — year-end reconciliation billing.

5. Data Quality Issues

5a. Miscategorized CNY Transactions (Critical)

Deutsche Bank Shanghai has large CNY transactions (up to CNY 50.9M) classified as bank fees. These are clearly outgoing SWIFT payments, not fees. Example:

"15.60 NCMS SWIFT 3598901017SH2026022610000089..." Amount: -50,952,115.60 CNY

The "15.60" at the start is the actual fee — the amount field contains the full payment amount. The categorization model misread this.

Impact: Deutsche Bank "Other CCY" fees in the table above are unreliable. The actual Deutsche Bank CN fee load is ~CNY 16K/year (small per-unit SWIFT charges), not the millions reported.

5b. Suspicious GBP Collection Charges

Deutsche Bank UK shows 3 transactions labeled "BICESTERCHGS" at GBP 40,951 each. These reference "BGPSERVCHRGTRUST26" and appear to be direct debit collections flowing through the account, not bank fees charged to ON.

5c. ASB Bank NZD Spike

A single NZD 38,339 transaction at ASB Bank NZ references "BDO New Zealand" (an accounting firm). More likely an audit/advisory payment than a bank fee.

5d. "DEUT" vs "Deutsche Bank"

Two separate bank name labels exist for Deutsche Bank, appearing as separate banks in the data. These should be consolidated. Affects KR and DE accounts.

5e. Missing Fee Types

The current "Cash out: Bank Fees" category does not capture:

  • Financing costs (RCF drawdown interest, commitment fees, guarantee fees) — likely in "Cash Out: IC Financing" or billed separately
  • FX spread costs — not visible as line items; embedded in execution rates
  • Custody / investment fees — if applicable

6. What AI-Based Fee Analysis Could Deliver

6a. Pricing Agreement Comparison

Input needed from ON: Bank fee schedule PDFs (pricing agreements per bank relationship).

Feasibility: HIGH. The main bottleneck is getting the pricing PDFs and building per-bank description parsers. The descriptions in Palm are detailed enough for sub-classification.

6b. Optimization / Routing Analysis

Palm already has: Full payment flow data — not just fees but all 483K+ categorized transactions with counterparty info, entity/bank/country mappings, and currency data.

Cross-border banking patterns detected: ON runs a highly centralized banking model — many European entities bank through UBS Switzerland rather than local banks. AI could:

  • Compare cross-border wire/SEPA fees at UBS CH vs local bank pricing
  • Identify entities where local bank relationships already exist but aren't being used
  • Benchmark unit costs per bank

6c. Anomaly Detection

With 5+ years of history, AI could flag unusual fee spikes, detect new fee types, identify fee-free periods followed by sudden charges, and track fee trends as transaction volumes grow.


Phase 0: Data Cleanup (prerequisite, 1-2 days)

  1. Fix miscategorized CNY transactions at Deutsche Bank Shanghai
  2. Investigate GBP "BICESTERCHGS" transactions
  3. Consolidate "DEUT" and "Deutsche Bank" bank name labels
  4. Review ASB Bank NZD 38K transaction

Phase 1: Fee Sub-Classification (1-2 weeks)

Build a fee type classifier using per-bank regex rules + LLM fallback for the 9,185 "Other" transactions.

Output: Dashboard showing fee spend by type, bank, entity, and month — exceeding what Kyriba provides without BSB files.

Phase 2: Pricing Agreement Ingestion (2-3 weeks)

ON provides bank pricing agreement PDFs → LLM-based PDF parser → match against classified actuals → discrepancy report.

Phase 3: Optimization Engine (4-6 weeks)

Cross-reference fee data with payment flow data for routing optimization, bank consolidation, volume-based renegotiation, FX spread analysis.

What ON Should Provide

  • Bank pricing agreement PDFs (at least UBS, JPM, Deutsche Bank, Commerzbank)
  • Confirmation on whether RCF/guarantee fees appear in bank statements or are billed separately
  • Clarification on the "BICESTERCHGS" GBP charges
  • Any BSB/camt.086 bank service billing files they receive
  • Which bank relationships they want to prioritize

8. CFO-Level Optimization Recommendations

Based on what Palm data shows today, without even seeing pricing agreements.

8a. Renegotiate JP Morgan US Account Analysis (est. savings: USD 50-80K/yr)

ON Inc pays JP Morgan USD 236K/year in monthly "ACCT SERVICE FEE" charges — 12 monthly bundled account analysis statements averaging USD 19,700/month. This is ON's single largest bank fee line item.

Actions: Request full line-item breakdown, negotiate improved ECR, push for consolidated billing across all JPM accounts, benchmark against Citi or Bank of America.

8b. Review Commerzbank UK Pricing (est. savings: GBP 30-50K/yr)

Commerzbank UK charges GBP 75K in fees on GBP 14M of payment flow volume (0.53% fee-to-flow ratio). Deutsche Bank UK handles GBP 471M for GBP 92K (0.02% ratio) — a 25x difference.

8c. Close or Consolidate Dormant Accounts (est. savings: CHF 15-25K/yr)

10 accounts with combined ~140 transactions but likely CHF 15-25K in annual maintenance fees. Includes near-dormant accounts at UBS CH, DEUT VN, Citi GB, BNP Paribas FR, and low-activity ZKB accounts.

8d. Evaluate Nordic Cross-Border Fee Premium

Nordic entities (Sweden, Norway, Denmark) route nearly all payments through UBS Switzerland — ~1,895 cross-border transactions generating SEK 144K + NOK 118K + DKK 74K in fees. Danske Bank NO handles 16 transactions for zero visible fees.

8e. Consolidate China Banking Relationships

ON Running Shanghai has three bank relationships (Bank of China, Deutsche Bank, ICBC). ICBC with 15 fee transactions is nearly dormant.

8f. Benchmark UK Direct Debit Charges

If "BICESTERCHGS" (3 × GBP 40,951) are legitimate DD collection fees, that's GBP 123K/year. UK BACS processing is typically GBP 0.05-0.20 per item.

8g. Request Machine-Readable Fee Files from Banks

UBS, Deutsche Bank, and JP Morgan all offer BSB (camt.086) files. This is the cheapest quick win for any fee analysis program.

8h. Local vs Cross-Border Payment Routing

ON's treasury is heavily centralized through UBS Switzerland. Key opportunities:

Entities WITH a local bank (underutilized):

  • France: Already well-balanced — BNP fees are 1/3 of UBS for comparable volume. Model to replicate.
  • Germany: Commerzbank DE charges EUR 6.9K on 341 txns while UBS CH charges EUR 1.5K on 1,753 txns. Review or close Commerzbank DE.
  • Norway: 494 txns through UBS CH at NOK 65K fees; Danske Bank NO handles 16 for zero fees. Shift volume.
  • Spain: Deutsche Bank ES handles 100 txns with zero visible fees. Shift local EUR payments there.
  • Hong Kong: Deutsche Bank HK handles only 252 of 5,082 transactions. Route local HKD via DB HK.

Entities WITHOUT any local bank:

  • Sweden: 786 txns at SEK 92K fees. Biggest opportunity — local bank could save SEK 60-80K/yr.
  • Denmark: 615 txns at DKK 39K fees. Local bank could save DKK 20-30K/yr.
  • Austria, Netherlands, Belgium: Fees are low (EUR 379-627 each) — SEPA makes cross-border EUR nearly as cheap as domestic. Weak business case for local banks.

Summary of Estimated Savings Potential

Recommendation Est. Annual Savings Effort
Renegotiate JPM US account analysis USD 50-80K Medium (negotiation)
Review Commerzbank UK pricing GBP 30-50K Medium (negotiation)
Close/consolidate dormant accounts CHF 15-25K Low (operational)
China bank consolidation CNY 10-15K Low (operational)
UK DD benchmark (if confirmed) GBP 20-40K Medium (tender)
Open local bank in Sweden SEK 60-80K High (new relationship)
Shift Norway flows to Danske Bank NOK 30-40K Low (re-routing)
Open local bank in Denmark DKK 20-30K High (new relationship)
Route HK flows through Deutsche Bank HK HKD 30-50K Low (re-routing)
Consolidate NZ routing for Oceania NZD 20-30K Medium (re-routing)
Germany: renegotiate/close Commerzbank DE EUR 3-5K Low (negotiation)
Spain: shift local flows to DB ES EUR 500-700 Low (re-routing)
Total estimated ~CHF 300-500K equivalent

These estimates are conservative. Actual savings potential is likely higher because FX spread costs, RCF/guarantee fees, and volume-based tier improvements are not quantified here.