Handling product returns and cancellations
Discover the most-read articles
A returned, cancelled or refunded order should not earn the affiliate a commission. For each conversion, you have three possible decisions: accept it, refuse it or lower its amount. This page tells you which one to take, in what order, and with which tool.
Which decision for which order
| THE ORDER | YOUR DECISION | FOR THE AFFILIATE |
|---|---|---|
| Kept by the customer | Accept | The commission is due |
| Cancelled, unpaid, refunded or fully returned | Refuse, with the reason Order returned, cancelled or refunded | No commission, and they can see the reason |
| Partly returned | Lower the amount to the amount kept, then accept | The commission is recalculated on the amount kept |
| Still within the return period | Wait, the conversion stays pending | Nothing changes for now |
The amount to enter is the amount the customer keeps, excluding tax, after discounts and excluding shipping costs, like the amount your tracking sends. If the rule’s commission is a percentage, it goes down in the same proportion. If it is a fixed amount per sale, it does not change.
A full return is always handled by a refusal, never by lowering the amount.
In what order
- Wait until your return period is over, without going past your validation period on the 2026 plans (see below)
- First lower the amount of the partial returns
- Then accept these conversions and the orders that were kept
- Refuse the cancelled or fully returned orders
The rules to know
- Lowering an amount: downwards only, once per conversion, on a pending conversion or an accepted one that is not locked yet
- Refusing: possible on a pending conversion, or on an accepted one as long as it is not locked
- Going back on a refusal: a refused conversion can be accepted again as long as it is not locked
- Locked conversion: a padlock appears next to its status and nothing can change any more. As long as the mention Will be locked on is shown, you can still act
- Conversion Under review: it has been contested and is waiting for Affilae’s decision, no action is possible until then
On the 2026 plans
- Immediate and final decision: the grace period is managed by Affilae, and accepting or refusing locks the conversion straight away
- Validation period: a conversion still pending 30 days after it was recorded is accepted automatically, at its original amount (default period, your contract may set another one). Handle your returns before this deadline
- Returns after validation: a return, a cancellation or an unpaid order can only be handled during the validation period. It is not a ground for contesting a conversion that has already been validated: contesting is reserved for fraud, tracking errors and breaches of the program rules
- Invalidation threshold: once you have refused 15% of the conversions recorded in a given month (default threshold, your contract may set another one), you can no longer refuse other conversions from that month. The month’s rate is shown in the validation banner. Beyond it, when you refuse conversions from the conversions list, the refusal is blocked and the Request a review button lets you send a request with your reasons and supporting details (order references, dates). Affilae reviews it within 15 days. During the review, these conversions are Under review and are not accepted automatically. This request can only be made from the interface
With which tool
| TOOL | ACCEPT, REFUSE | LOWER AN AMOUNT | BEST FOR |
|---|---|---|---|
| Conversions list | Yes | No | A moderate volume, on screen |
| CSV file import | Yes, one file per action | No | A large volume prepared in a spreadsheet |
| API | Yes | Yes | Automatic processing from your own system |
| AI assistant (Claude, ChatGPT) | Yes | Yes | An order export to process, with no development |
Lowering an amount is not possible from the interface: use the API or the AI assistant.
From the conversions list or with a CSV file
Filter on the Pending status, select the conversions or import the file of their order numbers, then click Accept or Refuse. For a refusal, choose the reason Order returned, cancelled or refunded. The details are in How to automatically validate large volumes of conversions through a .csv batch-file?
With the API
Find the ID of each conversion with GET /advertiser/conversions.list (filters status=pending, from, to, externalId), then:
| CASE | CALLS, IN THIS ORDER |
|---|---|
| Order kept | POST /advertiser/conversions.accept with program and id |
| Partial return | 1. POST /advertiser/conversions.update with id, amount (new amount excluding tax, in cents) and reason2. POST /advertiser/conversions.accept |
| Full return, cancellation | POST /advertiser/conversions.refuse with program, id and reason = return_or_cancel |
The other refusal reasons are self_purchase_or_brand_order, test_order_or_technical_error, fraud and incorrect_attribution, the last one with a mandatory comment, visible to the affiliate. The details are in Automating conversion tracking via API.
With the AI assistant
Connect Claude or ChatGPT to your account with Read & write access (Connect an AI assistant to Affilae), then give it your orders, for example an export from your back office. You can ask it for example:
- Here are my October orders: accept the delivered ones, refuse the cancelled ones and adjust the partial returns
- List my conversions pending for more than 20 days on program X
The assistant matches your orders with the conversions by order number, then shows you a plan: how many conversions it will accept, refuse or adjust, for which amounts, and what it leaves aside. It only acts once you have approved this plan, in the order described above, then reports back line by line. If your amounts include tax, say so: Affilae expects amounts excluding tax.
The assistant acts when you ask it to. For automatic daily processing with no intervention, use the API.
Good practices
- Set a regular slot, for example every week, after the end of your return period and before the validation deadline
- Always match on the order number, the ID column of the conversions list
- Test on three to five orders before processing a full batch
- Keep a dated record of your files or plans, useful if an affiliate has a question
Related articles
- Understanding conversion statuses
- How to automatically validate large volumes of conversions through a .csv batch-file?
- Automating conversion tracking via API
- Connect an AI assistant (Claude, ChatGPT) to Affilae
Frequently asked questions
On the 2026 plans, a pending conversion is accepted automatically 30 days after it was recorded (default period), at its original amount, and the return can no longer be taken into account. On the other plans, it stays pending and the affiliate is not paid.
If the mention Will be locked on is still shown, refuse the conversion, or lower its amount for a partial return. If a padlock is shown, it is locked and can no longer change. This is always the case on the 2026 plans, where accepting locks straight away: wait for the end of the return period before accepting.
No. The amount of a conversion can only be changed once. Check the amount kept before saving it.
No, the amount can only go down. To pay an affiliate more, add a commission manually.
Three possible reasons: the conversion is locked, it is Under review, or, on the 2026 plans, the month’s invalidation threshold has been reached. In that last case, our support team is informed, and you can ask for these refusals to be reviewed with the Request a review button, shown in the conversions list when the refusal is blocked.
Yes. They see the status of each conversion and, for a refusal, its reason. For a lowered amount, the commission shown is updated.