Skip to content
AffCheck

Affiliate decline reasons: 15 templates to copy

Copy-paste decline and amend reasons publishers accept: full refund, partial refund, cancellation, duplicate claim, voucher misuse, test order.

By The AffCheck team · Updated

A decline with no reason starts an email thread. A decline with the evidence ends it. Awin's own guidance is blunt about the cost of getting this wrong: "Inaccurate or unexplained declines can damage partner relationships."1

This page is the wording. Fifteen reasons you can copy, grouped by what actually happened to the order, in the language networks and publishers already use: Awin declines and amends, CJ corrections, impact.com reversals and modifications, Rakuten cancellations. Two of the fifteen are approvals, because half of a decline policy is knowing when not to decline.

Why the wording matters

A publisher cannot see your Shopify admin. All they see is a transaction that was worth money last week and is worth nothing now, with whatever you typed in the reason box next to it. If that box says "Returned", their only way to check you is to ask you.

Networks put the same point in their own terms. Awin lists the reasons an advertiser may legitimately decline — the order was cancelled or fully returned, the sale came through a different marketing source, the publisher broke programme terms (unauthorised voucher code use, prohibited paid search), the order could not be fulfilled, or the sale was fraudulent — and then warns about unexplained declines in the same breath.1 CJ goes further and makes the reason a required field with a fixed code: RETRN for returned merchandise, DUPO for a duplicate order.2 impact.com requires a Reason on every batch modification or reversal, such as ITEM_RETURNED.3

So the reason is not a courtesy. It is part of the record, and one day it will be read back to you.

The three things every reason needs

Whatever the case, a reason that holds up says:

  1. What happened — returned, cancelled, claimed twice, code not theirs.
  2. When — the date, so the publisher can line it up with their own report.
  3. The number — the refund amount, the other transaction id, the code.

"Order fully refunded" invites a question. "Order #1041 fully refunded on 12 January, refund of £84.00" answers it. Everything below follows that shape.

One rule, applied every month

Publishers notice inconsistency faster than they notice declines. Whatever you decide about store credit, exchanges or which duplicate claim wins, write it into your programme terms once and apply it every cycle. A decline that follows a published rule is an administrative matter; a decline that appears for the first time in February is an argument.

Full refund

The whole order came back. Nothing was kept, so nothing was earned. This is a decline on Awin, a full correction with RETRN on CJ, a reversal on impact.com, a cancellation on Rakuten.

1. Order #1041 was returned in full and refunded on 12 January (refund of £84.00). The sale did not stand, so the commission is declined under section 4 of the programme terms.

2. Order #1041 was refunded in full on 12 January. The refund of £91.50 covers the £84.00 sale value plus shipping; no items were kept.

Partial refund: amend rather than decline

Part of the order came back and the customer kept the rest. The sale is smaller than the network thinks, not absent. On Awin you amend the sale amount and the commission is recalculated from it — you cannot change the commission directly.4 On CJ it is a partial correction carrying the new amount; on impact.com a modification.

3. Part of order #1041 was returned on 12 January: £120.00 refunded of a £300.00 sale. Amended to the £180.00 the customer kept, for commission to be recalculated on that amount.

4. Order #1041: one of three items was returned on 12 January (£40.00 of £120.00). Amended sale amount £80.00. The rest of the order stands and the commission on it is approved.

The third one in this group is an approval, and it is the reason to look at partial refunds by hand rather than declining anything with a refund on it:

5. Order #1041 shows a £15.00 refund. That is a goodwill credit for a late delivery, not a return — the customer kept every item. The sale stands and the commission is approved in full.

Cancelled order

The order has a cancellation date. Nothing shipped, nothing was kept.

6. Order #1041 was cancelled on 12 January before dispatch. No goods were shipped and no payment was kept, so there is no sale to pay commission on.

One case hides in here and it catches people out: an order cancelled and immediately re-created — a customer service fix, a payment retry, a changed address. That is one purchase wearing two order numbers, and declining it is unfair.

7. Order #1041 was cancelled on 12 January and the same items were re-entered the same day under a new order number. The customer still bought, so this transaction is approved rather than declined.

Duplicate claim

Two transactions, one order. Either the same network recorded it twice, or two networks each claimed it — and no network can see a competitor's clicks, so cross-network duplicates reach your invoice untouched. The longer version is in affiliate de-duplication across networks.

8. Order #1041 is already tracked on this programme under transaction 553120, dated 12 January. This second claim on the same order is declined as a duplicate; the first claim stands and is being approved.

9. Order #1041 was also tracked through another affiliate network. One commission is payable on this order and it is being paid on the claim closest to the purchase, under our published de-duplication rule. This claim is declined as a duplicate.

The third is the note to send the publisher whose claim you keep, so the two publishers hear the same story:

10. Two claims were recorded for order #1041. Under our de-duplication rule the last click before the order keeps the sale, which is this one. Approved; the other claim has been declined as a duplicate.

Voucher misuse

A discount code turned up on a sale claimed by someone it was not issued to. Awin names this directly: a breach of programme terms, including unauthorised voucher code use, is a legitimate reason to decline.1 The decline is far easier to defend when your terms say which publishers may use which codes — see coupon code leakage.

11. Order #1041 used discount code JANE10, which is issued to publisher 123456 under a creator agreement. This sale is credited to publisher 654321, so it is declined as unauthorised voucher code use under section 4 of the programme terms.

12. Order #1041 used discount code WELCOME15. Our programme terms restrict that code to our own email and SMS channels; voucher and coupon publishers are not eligible to promote it. Declined as unauthorised voucher code use.

Test and internal orders

Real money was never taken, so there is nothing to pay on. Keep the wording about the order, never about the publisher — they did not do anything wrong here.

13. Order #1041 was placed through Shopify's test gateway by our own team. No payment was taken and no goods were shipped, so there is no commission on it.

14. Order #1041 is an internal order, tagged "staff" in our store and placed by an employee rather than a customer. Declined as a test order; nothing to do with your traffic.

Order not found

No order in your records matches the reference. This one is not a decline, and treating it as one is the mistake that costs relationships: by a distance the commonest cause is that your own orders export did not go back far enough.

15. We cannot find an order matching reference 1041 in our records for that date. Before we decide anything, could you confirm the click time, the landing page and the order value you have? If the reference checks out we will approve it.

Widen the export and look again before you go anywhere near the decline button.

What AffCheck writes for you

AffCheck fills the reason box itself, from the Shopify order. The text below is what the product actually writes today — the Awin batch file carries it as the Status Note and the generic CSV as the Reason column, so the reason in your file is the reason in the queue. CJ's correction file is the exception: it takes a code rather than a sentence, so AffCheck sends RETRN for a refund, DUPO for a duplicate and OTHER for the rest, and the sentence stays in the spreadsheet you keep.

CaseRuleSuggestsThe reason text AffCheck writes
Full refundREFUND_FULL (R01)DeclineOrder returned and refunded in full.
Partial refundREFUND_PARTIAL (R02)AmendPart return: the customer kept GBP 180.00 of the GBP 300.00 sale.
CancelledCANCELLED (R03)DeclineOrder cancelled on 2027-01-12.
Claimed twice, one networkDUPLICATE_SAME_NETWORK (R04)DeclineDuplicate: this order is already tracked in transaction 553120.
Claimed on two networksDUPLICATE_NETWORK (R04)CheckThis order was also tracked through another affiliate network.
Code owned by another partnerVOUCHER_NOT_ASSIGNED (R05)DeclineVoucher code JANE10 is assigned to another partner.
Not found in ShopifyNOT_FOUND (R06)CheckNo order with this reference in the store's records.
Test orderTEST_ORDER (R07)DeclineTest order placed by the store, not a customer sale.
Internal or staff orderTEST_ORDER (R07)DeclineInternal order (tagged "staff"), not a customer sale.

The amounts, dates, codes and transaction ids in those sentences are filled from your own files; the wording is fixed, short and about the order rather than the publisher. Two of the nine suggest Check rather than a decline, for exactly the reasons above: a cross-network duplicate needs a human to pick the winner, and a missing order usually means a short export.

Each flag also carries its evidence — the refunded amount, the cancellation date, the competing claim, the code's owner — so the longer sentences on this page can be assembled from what is already on the row. What each code means inside the app is on reason codes.

Take the whole list with you

There is no file to download here, and that is deliberate: a decline reason is three lines of text, and a CSV of three-line strings is a worse way to carry them than a page you can search. Copy the fifteen above straight into whatever you validate in — the network's reason box, a shared doc, a column in your working sheet.

If you want them in a spreadsheet, the useful version is not this list but your own: one row per case, with the wording you settled on and the programme-terms clause it leans on. Build it once, from the fifteen here, and every validation day after that is a lookup rather than a writing exercise.

Network facts checked on 18 Sep 2026 against each network’s own documentation.

FAQ

Questions, answered

What is a valid reason to decline an affiliate commission?

Awin lists cancelled or fully returned orders, a sale that came through a different marketing source, a breach of programme terms such as unauthorised voucher code use, an order that could not be fulfilled, and fraud. Give the date and the amount with it.

How much detail should a decline reason have?

Three things: what happened, when, and the number. “Order #1041 fully refunded on 12 January, refund of £84.00” can be checked by the publisher; “Returned” starts an email thread.

Should a partial refund be declined or amended?

Amended. On Awin you change the sale amount to what the customer kept and the commission is recalculated from it; on CJ it is a partial correction, on impact.com a modification. Decline only full refunds and cancellations.

What do I write when I cannot find the order?

Nothing yet — ask. A missing order usually means your Shopify export did not go back far enough. Widen the export and check again before treating it as a decline.

Does AffCheck write the reason for me?

Yes. Each flag carries a short, factual sentence built from your own files — “Order returned and refunded in full.”, “Part return: the customer kept GBP 180.00 of the GBP 300.00 sale.” — and the exporters put it in the Awin Status Note or the Reason column.

See what you paid for last month.

Two exports, five minutes, a dollar figure for your store. Files never leave your browser.

Run the free check