All articles

Payments 101

Duplicate charges: causes, fixes, and the apology that works

A duplicate charge is the same sale authorized twice. At a small store it almost always comes from one cause: a transaction that looked like it failed, was re-run, and had in fact succeeded the first time. The receipt printer jammed, the screen froze, the connection dropped between authorization and confirmation — and the cashier, correctly trying to complete the sale, ran it again.

The customer experiences this as being charged twice. Whether it stays a two-minute problem or becomes a chargeback depends almost entirely on what happens in the next few minutes.

How do you tell a duplicate from a pending authorization?

Look at the batch, not at the customer's phone. A customer's banking app frequently shows a pending authorization alongside the completed sale, which looks exactly like a double charge and is not — it is one transaction in two states, and the pending entry drops off.

Your batch report is the source of truth. Two settled transactions of the same amount, same card, same minute is a duplicate. One settled transaction plus a customer seeing two lines is usually a pending entry that will resolve on its own.

What should the counter do immediately?

Check the batch before re-running anything. That single habit prevents most duplicates. If a transaction's outcome is unclear, the terminal's own last-transaction lookup or the batch list answers it faster than guessing does.

When a duplicate has already happened, void it if the batch is still open. A void removes the transaction before settlement and is cleaner for everyone than a refund, because the customer's money never leaves. After the batch closes, a refund is the only path and it takes days to appear.

Why does the timing matter so much?

Because a customer who is told "I see it, I've voided it, it will drop off" behaves completely differently from one who is told to call their bank. The first is a story about a store that handled it. The second becomes a chargeback, which costs you the fee whatever the outcome.

The difference is not the money. It is whether the customer leaves believing somebody is dealing with it.

What should a cashier actually say?

Something short and specific: "That went through twice, I'm voiding the second one now, and here's the receipt showing it." Give them paper. A voided-transaction receipt in a customer's hand is worth more than any verbal assurance, and it is what they will look at when the pending entry has not cleared by dinner.

Avoid the two failure modes: pretending it did not happen until the customer proves it, and over-apologising to the point that the customer concludes the store is a mess.

How do you stop it recurring?

Find the mechanical cause, because there usually is one. A terminal that times out on a slow connection. A printer whose jam looks like a failed sale. A point-of-sale integration that does not report authorization results reliably. Those are fixable, and they will keep producing duplicates until they are fixed.

Track how often it happens. One duplicate a quarter is a busy counter; one a week is a piece of equipment or a connection telling you something. The usual cure is the connection rather than the staff.

What should the store keep as a record?

The voided or refunded transaction receipt, the batch report for that day, and a one-line note of what happened. Three pieces of paper, filed together, and they turn a possible dispute into a two-minute response.

Stores that skip this usually do so because the problem felt resolved at the counter. It was — until a chargeback arrives six weeks later and nobody can find the void.

Frequently asked questions

Is a void better than a refund?

Yes, when the batch is still open. A void prevents settlement, so the funds never move and the transaction never appears as a completed charge. A refund after settlement returns money the customer already paid and takes days to land, which feels much worse to them.

How long does a pending authorization take to drop off?

That is the issuer's timing, not yours, and it is commonly a few business days. You cannot release it, which is worth saying plainly to a customer rather than promising something you do not control. Investopedia's explanation of a chargeback is a reasonable thing to point a persistent customer toward.

What if the customer has already left?

Void it anyway if the batch is open, keep the receipt, and try to contact them if you can. A duplicate you fixed before they noticed is the best outcome available, and the documentation protects you if a dispute arrives anyway.

Can a duplicate charge become a chargeback?

Easily, and it is one of the more winnable ones if you have the void or refund documented. The fee still applies, which is why fixing it at the counter is cheaper than winning the dispute.

Does this happen more with contactless?

Not inherently. It happens more wherever the transaction result is ambiguous to the cashier, which is a function of the terminal's feedback and the network connection rather than the card interface.

Should staff be allowed to void without a manager?

Voids need a control, because a void is also how register theft is hidden. A reasonable middle is allowing voids with the reason recorded and reviewing them weekly, rather than either blocking them entirely or leaving them unwatched.