All articles

What to do when your PSP overcharges you: a dispute workflow for fintech teams

A step-by-step dispute workflow for fintech teams: confirm and categorize the overcharge, assemble evidence-grade support, submit inside the window, and recover what you are owed.

What to do when your PSP overcharges you: a dispute workflow for fintech teams

Finding an overcharge is the easy part. Getting the money back is a workflow, and the teams that recover reliably are the ones that run it deliberately instead of firing off an angry email. A dispute lives or dies on evidence, timing, and follow-through, and each of those is a step you can do well or badly. This is the workflow, stage by stage, from the moment you suspect a charge is wrong to the moment the credit lands and you make sure it does not happen again.

TL;DR

  • A dispute is won with evidence, not indignation. Before you contact the provider, assemble the transaction, the contract clause, the expected figure, the actual figure, and the variance.
  • Categorize the overcharge first. Knowing whether it is a rate deviation, an FX markup, a duplicate, or a timing violation tells you what evidence the provider will demand.
  • Submit through the contract's dispute channel, inside its dispute window. A valid claim raised too late is usually unrecoverable.
  • Track every dispute through its states, from submitted to resolved or rejected, with an owner and a follow-up date, or it will stall.
  • When a credit lands, reconcile it against the claim, then fix the root cause so the same error does not recur next period.
  • At scale this cannot be run by hand per discrepancy, which is why continuous verification and assisted dispute preparation exist.

Short answer

When a PSP overcharges you, work the dispute as a sequence rather than a one-off complaint. First confirm the charge is genuinely wrong and categorize it. Second, gather evidence-grade support: the specific transaction, the contract clause it breached, the expected versus actual amount, and the variance. Third, build a clear dispute package and submit it through the channel and within the window your contract specifies. Fourth, track the claim through its states with an owner and follow-up dates. Fifth, when the credit is issued, reconcile it against the claim. Finally, fix the underlying cause so the overcharge does not repeat. Evidence and timing decide the outcome; the rest is disciplined follow-through.

Step 1: Confirm the charge is actually wrong, and categorize it

Before anything else, establish that the charge is genuinely incorrect against the contract rather than merely higher than you expected. The two are different, and providers will dismiss a complaint that confuses them.

Confirming means comparing the charge to what the contract says it should have been for that specific transaction, on that date, in that corridor, under the version of the contract that was in force. If they differ, you have a discrepancy. If they do not, you have a price you dislike, which is a renegotiation rather than a dispute.

Once confirmed, categorize it, because the category determines the evidence you will need. Almost every overcharge is one of six types: a rate deviation, a fee overcharge, an FX markup, a missing fee or rebate, a duplicate fee, or a timing violation. A duplicate needs the two charges and the single event behind them. An FX markup needs the mid-market reference rate at the moment of conversion. A timing violation needs the charge date and the clause defining the window. Naming the category up front tells you exactly what to collect next.

Step 2: Gather evidence-grade support

This is the step that decides the dispute, and it is where most internal attempts fall short. A provider does not act on "this looks too high." It acts on a specific, sourced claim. For each disputed charge, assemble five things:

  • The underlying transaction or event, identified unambiguously.
  • The contract clause that governs the charge, quoted and referenced.
  • The expected amount, calculated from that clause.
  • The actual amount charged.
  • The variance, in both absolute and percentage terms, with dates.

Together these are an evidence-grade record: the charge, what it should have been, the clause that says so, and by how much it was wrong. If you cannot assemble all five, the dispute is not ready, because the gap you cannot evidence is the gap the provider will reject.

Step 3: Build the dispute package

With the evidence gathered, package it so the provider can verify it quickly. A dispute that is easy to confirm is a dispute that gets paid sooner. A clean package contains:

  • A short summary: what is being disputed, the category, and the total amount claimed.
  • A line-by-line list of the affected transactions or charges.
  • For each, the expected versus actual figures, the variance, and the governing clause.
  • The contractual basis for the claim and the remedy you are requesting (credit, refund, or correction).
  • A clear point of contact and the date.

Keep the tone factual. You are not arguing that the provider behaved badly; you are showing that a charge did not match an agreement you both signed, and asking for it to be corrected.

Step 4: Submit through the right channel, inside the window

Send the package through the dispute or billing-query channel your contract specifies rather than a general support address, and address it to the right counterpart, often your account or relationship manager plus the billing team.

Timing is not negotiable. Most provider contracts set a window within which charges can be queried or disputed, frequently a quarter, sometimes two. A valid claim submitted after that window has usually expired, regardless of how strong the evidence is. This is why detection latency matters so much: an overcharge found at year-end close may already be past the point of recovery. Submit promptly, and log the submission date.

Step 5: Track the dispute to resolution

A submitted dispute is not a resolved one, and disputes stall when no one owns them. Track each through its lifecycle, the same way the dedicated tools do: draft, submitted, in progress, and then resolved or rejected. For every open dispute, record an owner, the amount claimed, the date submitted, the provider's last response, and a follow-up date.

Chase on the follow-up date if you have not heard back. Providers are not always quick to act against their own revenue, and a polite, scheduled follow-up is often what moves a claim from in progress to resolved.

Step 6: Escalate when it stalls or is rejected

If a dispute stalls past a reasonable period or is rejected without a sound reason, escalate. Bring in your relationship manager, reference the contractual basis again, and if necessary invoke the contract's dispute-resolution provisions. A rejection is not always final; it is often a request for clearer evidence, which is why the quality of your Step 2 work pays off again here. Keep the same factual, evidence-led posture.

Step 7: Recover, then reconcile the recovery

When the provider agrees, the credit or refund has to actually arrive and match the claim. Confirm the amount, check it was applied to the right account and period, and reconcile it against the original dispute. A credit issued for less than the claimed amount, or applied to the wrong line, is a partial loss hiding inside a win. Close the dispute only when the recovered amount matches what was owed.

Step 8: Fix the root cause

Recovery without prevention means disputing the same overcharge again next month. Every confirmed discrepancy points to a cause: a misconfigured tier on the provider's side, a stale contract version, an FX reference problem, a duplicate-billing bug. Feed that back. Flag the pattern to the provider so they correct it at source, and watch the same category and corridor in the next period to confirm it stopped. The goal is not to win disputes forever; it is to need fewer of them.

A dispute package template

Use this as a starting structure:

  • Dispute reference and date
  • Provider and account
  • Category (rate deviation, fee overcharge, FX markup, missing fee, duplicate fee, timing violation)
  • Total amount claimed
  • Affected transactions (table: transaction ID, date, corridor, expected, actual, variance)
  • Governing contract clause(s)
  • Requested remedy (credit / refund / correction)
  • Contact and follow-up date

Doing this at scale

The workflow above is entirely doable for one overcharge. The problem is that a cross-border platform does not have one. It has a steady stream of small discrepancies across many providers, corridors, and contracts, and running eight manual steps for each, inside its dispute window, is not realistic by hand. This is why detection and evidence assembly are increasingly automated: continuous verification surfaces the discrepancy with its evidence already attached, and assisted dispute preparation drafts the package, leaving a human to review and submit. Platforms such as Bluefyn are built to run exactly this flow, so the workflow scales from one dispute to thousands without scaling the headcount to match. The steps do not change. What changes is how many of them a person has to do by hand.

The bottom line

When a PSP overcharges you, recovery is a process, not a reaction. Confirm the charge is wrong against the contract and categorize it. Assemble evidence-grade support: the transaction, the clause, expected versus actual, and the variance. Package it cleanly, submit it through the right channel inside the dispute window, and track it to resolution with an owner and follow-ups. Reconcile the recovery when it lands, then fix the cause. The teams that recover the most are not the ones that complain the loudest. They are the ones that run this workflow every time, with the evidence to make the provider's own numbers do the arguing.

Frequently asked questions

How do I dispute a PSP overcharge?

Confirm the charge is wrong against your contract and categorize it, gather evidence-grade support (the transaction, the contract clause, the expected and actual amounts, and the variance), build a clear dispute package, and submit it through your contract's dispute channel within its window. Then track the claim to resolution, reconcile the credit when it arrives, and fix the root cause.

What evidence do I need to dispute a provider fee?

For each disputed charge: the specific underlying transaction, the contract clause that governs it, the expected amount calculated from that clause, the actual amount charged, and the variance with dates. Without all five, the claim is not evidence-grade and is more likely to be rejected.

How long do I have to dispute a PSP charge?

It depends on your contract, but dispute and billing-query windows are commonly a quarter, sometimes two. A valid claim submitted after the window has usually expired regardless of evidence, which is why finding overcharges quickly matters as much as finding them at all.

Why do disputes get rejected?

Most often because the evidence is incomplete or the claim is framed as a complaint rather than a sourced discrepancy. A rejection is frequently a request for clearer evidence, so a well-assembled package, transaction, clause, expected versus actual, resolves many rejections on resubmission.

How do I track multiple disputes?

Give each a reference and a state, draft, submitted, in progress, resolved, or rejected, and record an owner, the amount claimed, the submission date, the provider's last response, and a follow-up date. Chase on the follow-up date. Disputes stall when no one owns them.

Can dispute handling be automated?

The detection and evidence assembly can. Continuous verification surfaces discrepancies with their evidence attached, and assisted tools can draft the dispute package, leaving submission and judgment to a person. This is what makes the workflow viable at the scale of thousands of small discrepancies rather than one at a time.

DisputesPSP overchargesFee recoveryProvider economics
BF
Bluefyn Team
Bluefyn

Operators and engineers building the economic control plane for fintech infrastructure.