← All docs

Referral orders

Every order Sprout Affiliate has connected to an affiliate appears on the Referral orders page. It is in the app's left-hand navigation, under Payouts. The page is the full list: orders waiting for your approval, orders approved and waiting to be paid, orders approved with no commission to pay, orders you rejected, orders already paid, and history you imported from a previous app. Click an order name to open its detail page, which is where you approve, reject, or send it back to pending.

The states an order moves through

StateWhat it means
PendingAttributed to an affiliate and waiting for your decision. It cannot be paid out.
To payApproved. It joins the affiliate's balance on the Payouts page and goes out with the next payout.
RejectedPays nothing. The order is kept on the list rather than deleted, so you can find it and restore it if you rejected it by mistake.
PaidNothing is owed on it. Either a payout has been recorded, through a PayPal batch or a manual "mark as paid", or the commission was $0 so there was nothing to send. A $0 referral never enters the payout queue, and stays on the list so it does not look like it vanished.
ImportedHistory you brought in from another affiliate app. Sprout Affiliate never moved this money, so it is labelled separately and its row does not link to a Shopify order.

Filtering and exporting

You can filter by state, by affiliate, by a minimum sale amount, and by a text search that matches the product title, the order name, or the customer name. The list shows 10 rows per page. Once more than 10 rows match, a Per page control appears under the list offering 10, 20, 50, or 100.

Two things to know. First, Paid and Imported rows are read from the payout ledger, which stores the order name, affiliate, sale, and commission but not the products or the customer, so a text search finds those rows by order name only.

Second, the Sort control offers Newest first, Oldest first, Highest commission, and Lowest commission, and it reorders every row matching your filters, not just the ten on screen. Export CSV is always newest first whatever Sort is set to. The export covers every row matching your filters, not just the page you are looking at, with columns for date, order, affiliate, customer, products, sale, commission, and state.

Approving and rejecting

Which buttons you get depends on where the order is. A pending order shows Approve and Reject. An approved order shows Move back to pending and Reject.

A rejected order shows a single Restore to pending button, so putting a rejection right is a two-step job: restore it, then approve it. Each action shows an undo bar for 10 seconds, and Cmd/Ctrl+Z triggers the same undo. An order that has already been paid shows no buttons.

The Payouts page approves in bulk. The Approve button next to an affiliate approves all of that affiliate's pending orders at once, and Approve all approves every pending order in the store. To decide one order on its own, open that order. Approving and rejecting are available on every plan.

The order detail page also shows the products, order totals, the commission, the customer (only if you have granted the app the customer-data permission), how the order was attributed (discount code, referral link, or the Web Pixel, the script Sprout Affiliate installs on your storefront to report a referral when checkout completes), a Timeline giving the time the link was opened, the time the order was placed, and the gap between the two, and a Fraud checks card.

That card runs one check, Self-referral by name, and shows it only if you ticked "Hold orders where the buyer's name matches the affiliate" in Settings. The referring page under Source and the Pages they visited list both come from page-visit tracking and need the Growth plan or higher. Those rows are collected on every plan, they are just not shown on Free. They also depend on the click being carried by the affiliate link, so a referral tracked only by discount code has neither.

There is no hold or clearing period

Sprout Affiliate has no hold-days or clearing timer. An approved order is payable straight away.

The approval step is the delay mechanism. If you want commission to wait until your refund window has passed, leave auto-approve off and approve orders once you are comfortable with them. If you turn auto-approve on, expect to pay commission on orders that could still be refunded, and read "Refunds and clawbacks" below.

Auto-approve, and how the three settings resolve

Auto-approve can be set in three places, and the most specific one wins:

  1. The affiliate. On their detail page, "Approve their referral orders" can be set to Automatically, Always review manually, or Use program / store default.
  2. The program. "Approve referral orders" offers Automatically (no review), Always review manually, or Use store default.
  3. The store. "Auto-approve referral orders" in Settings, also shown on the Payouts page as "Automatically approve new referral orders".

The app reads the affiliate setting first. If it says Automatically or Always review manually, that decides the order. If it says Use program / store default, the program decides. If the program also says Use store default, the store checkbox decides. That order of reading is why turning auto-approve on at store level does not change an affiliate you have explicitly set to "Always review manually".

One action always beats auto-approve: click Move back to pending on an order and it stays pending, whatever the affiliate, program, and store settings say. That is the only way to pull one order out of an auto-approving program.

Orders the app will not auto-approve

Four kinds of order never auto-approve, even with auto-approve on. They sit in Pending with a badge giving the reason, and you can still approve them by hand:

Test orders, cancelled orders, and orders whose payment has not settled are also exempt from the transaction fee, so you are not charged a percentage of a sale the app refuses to attribute. A held self-referral is different: it is a real, paid sale, so its fee stands unless you reject the order.

Refunds and clawbacks

For an order that has not been paid out yet, no action is needed. The app re-reads the order and works from its current value, so a refund lowers the commission the next time the figures refresh, which is the next page load after the cached copy is more than 30 seconds old, and a partial refund on one line lowers only that line's share. A fully refunded order drops to $0.

That shrinking applies to percentage programs. On a flat-per-order program a partial refund does not reduce an unpaid order's commission, because the flat amount does not follow how much of the order survives. A full refund does: with nothing left of the sale there is no referred order to pay for, and the commission drops to $0. The same happens on a program scoped to particular products when every one of those lines is returned. Reject the order if you do not want to pay a partially refunded flat commission.

Once an order has been paid, the money is already gone, so the app raises a clawback. It appears as its own row named "order name refund" with a negative commission, and it goes through the same approval flow as any other referral, including auto-approve.

Approve it and it nets against that affiliate's next payout. Reject it and you have waived that amount. If a second, deeper refund happens later, a fresh clawback is raised for the new difference, because waiving $10 is not the same decision as waiving $40.

Why the rate is locked when the order arrives

The first time the app works out commission for a referral order it writes down the rate for that order and never changes it. Flat programs lock their dollar amount the same way. The lock is what makes editing a program's rate apply to future orders only. Without the lock, raising your rate would quietly reprice every order still sitting in Pending, including ones from last month.

The rate written down is, in order: the program's tier rate for that affiliate's order number if the program uses commission tiers, then the affiliate's own rate if you set one (including one from a CSV import), then the program's rate.

Locking the rate does not freeze the money. The locked rate is applied to the order's current value, which is what makes refunds shrink commission correctly. What the commission is calculated on (the discounted subtotal, and whether shipping, tax or discounts are added back) comes from the Commission calculation checkboxes in Settings (Discounts, Shipping, Tax) and is read live, so ticking one re-prices every order that has not been paid yet.

$0 commission orders

An order worth $0, for example a free product ordered through an affiliate link, still shows up for approval. On a percentage program, 0% of nothing is $0, and approving it closes the referral as Paid, because there is nothing to send. On a flat-per-order program it is $0 as well, because a flat amount only pays when there is money left on the order.

A different case: an order with real money on it that calculates $0 commission (usually because none of its products fall inside the program's scope) is not listed at all. It is treated as out of scope for that program rather than shown as a $0 row.

Limits worth knowing