The Junk Fees Hiding on Your Processing Statement
They are small on purpose. A field guide to the fee lines that map to no real cost, and the scripts that make them disappear.
There are two kinds of charges on a merchant statement. The first kind pays for something real: interchange to the issuing bank, assessments to the card networks, a margin to the processor for doing the work. The second kind exists because a line on a statement is the cheapest product a processor can sell. This guide is about the second kind.
Junk fees survive on three properties: they are small enough not to justify a phone call, they are named to sound official, and they arrive quietly via a statement message. Individually they are $5 to $40 a month. Across a year, across locations, they routinely add up to four figures, and they are almost always removable, because the processor cannot defend them when asked directly.
The field guide
| Fee line | What it claims to be | What it should cost |
|---|---|---|
| PCI non-compliance fee | A penalty for not completing your annual PCI questionnaire | $0 once you complete the SAQ, which takes an hour |
| PCI compliance fee | A charge for being compliant (yes, both directions get billed) | $0 to a nominal fee if a real scanning service is included |
| Statement / reporting fee | Producing the PDF that bills you | $0 |
| Batch fee | Settling your daily batch | $0 to $0.10; anything more is margin |
| Annual / membership fee | Nothing identifiable | $0, and it is usually waived on request |
| Regulatory / safety / compliance surcharge | Sounds like a government pass-through; is not | $0; no network or regulator charges this |
| Gateway access fee (duplicated) | Access to a gateway you already pay directly | Pay it once, to one party |
| Minimum processing fee | A floor on the processor's monthly take | Negotiable to $0 for any active account |
The three tells of a junk fee
1. It appeared without a conversation
Real pricing changes get negotiated. Junk fees get announced, in six-point type, in the statement-message box: "Effective next month, a Service Reliability Fee of $6.95 will apply." If you did not agree to it, that is the first tell.
2. The name describes a category, not a service
Words like regulatory, compliance, safety, technology and access are doing work in these names. They gesture at an official-sounding obligation without naming one, because there is none to name. Genuine pass-throughs have specific names and published rates.
3. It does not scale with anything
Interchange scales with volume. Per-item fees scale with transaction count. Junk fees are flat, because they are not connected to any underlying cost that could scale.
How to get them removed
Call the processor, name each fee, and ask one question: what specific service or pass-through cost does this line correspond to? Then be quiet. For most of the lines above there is no good answer, and the rep's fallback position, offering to waive the fee going forward, is the outcome you came for. Ask for the waiver in writing, and ask for a refund of the trailing twelve months while you are there. Refunds are granted more often than anyone expects, precisely because the fees are indefensible.
Why they come back, and what to do about it
Here is the uncomfortable part: junk fees regrow. Processors re-introduce them under new names, on new statements, a year later, because the economics of quiet fee lines have not changed. The removal call is not a one-time fix; it is a recurring maintenance task, which is why continuous statement monitoring beats an annual cleanup. That regrowth pattern is not unique to card processing, either; see Vendor Fee Creep for the same mechanics at work across banking, freight and software.
Frequently asked questions
Are any of these fees ever legitimate?
A PCI program fee that includes a real vulnerability-scanning service has some substance. A gateway fee is legitimate when it is the only one and matches your gateway agreement. The rest map to no cost, and the burden of proof belongs to the party that printed them.
Can my processor retaliate by raising my rate?
Your rate is governed by your agreement. This is exactly why fee-removal calls should come after you have compared the statement to the contract, so any quiet drift gets corrected in the same conversation.
What does AIME do differently?
AIME reads every line of every statement, every month, flags anything that maps to no interchange cost, network pass-through or contracted service, and keeps watching so removed fees stay removed. Drop a statement in and see what it finds on yours.
See what your statements are hiding.
Drop a statement into AIME and get a line-item savings analysis in minutes. No retainer, no hourly fees: you pay only when AIME recovers savings.
Run a free live audit