Payouts
The Payouts page (Apps, then Sprout Affiliate, then Payouts) is where commission stops being a number and becomes money. It does two jobs: approving referral orders, and paying the affiliates behind them. This page covers the paying half; approving is covered in Referral orders.
The affiliate sees: Affiliate commission Aug 19, 2026
Payout methods
Each affiliate chooses how they want to be paid in their own portal, under Settings and then Payouts. You do not set this for them, though you do control the shortlist: each program has a Payout methods offered section, and an affiliate only sees the methods their program offers. A program with none ticked offers all five: PayPal, Venmo, bank transfer, check, and store credit. If you later narrow a program, an affiliate keeps the method they already saved.
PayPal and store credit are both sent by Sprout Affiliate itself. Venmo, bank transfer, and check you pay outside the app and then record.
| Method | Sent by Sprout Affiliate | What you do |
|---|---|---|
| PayPal | Yes, through PayPal Payouts | Connect PayPal, then use "Send all via PayPal" or a schedule |
| Venmo | No | Pay the username they gave you, then "Mark paid" |
| Bank transfer | No | Pay from your bank, then "Mark paid" |
| Check | No | Post the check, then "Mark paid" |
| Store credit | Yes, to their Shopify customer account | Keep "Issue store credit automatically" on in Settings, then use "Send all via PayPal" or a schedule |
Venmo is worth calling out, because the app collects a Venmo username and it looks like an automatic method. It is not. A PayPal batch only ever includes affiliates whose method is PayPal. Store-credit affiliates are settled by the same run, in a separate pass that adds the credit to their Shopify customer account. Venmo, bank transfer, and check affiliates stay in your to-pay list until you record them.
Sending through PayPal at all, whether by hand or on a schedule, needs the Growth plan or higher. On the free plan the "Send all via PayPal" button does not appear and the schedule controls are visible but disabled. Marking payouts paid by hand works on every plan. Automatic store credit does not: it is issued by the same run as the PayPal batch, so it needs Growth as well. On the free plan, issue the credit in Shopify yourself and use "Mark paid".
Store credit is the only method with nothing for the affiliate to fill in (there is no PayPal address, Venmo username, bank account, or postal address to collect), so those affiliates are never held back for missing details. Sprout Affiliate issues the credit in Shopify for you. "Send all via PayPal" credits every store-credit affiliate first, then sends the PayPal batch, and records both. Three things have to be in place: "Issue store credit automatically" ticked in Settings, the store-credit permission granted (open the app from your Shopify admin once), and the affiliate existing as a customer in your store under the same email. When one of them is missing, the run names the affiliate, leaves the commission payable, and you issue the credit yourself and use "Mark paid".
An affiliate with no payout details on file cannot be paid or marked paid at all. Their row shows a red "No payout option" tag in place of the pay controls. They fix it themselves in their portal.
Affiliates missing a tax form (a W-9 for US affiliates, a W-8BEN for everyone else) are held the same way when you have turned on "Require a tax form before payouts" in Settings (see Tax on payouts). Open an affiliate's own page and run the payout there to see the full text naming who is held and for how much.
The minimum payout
Settings has a Minimum payout field, which starts at 5. The field is labelled with your store's currency symbol, and the number is read in that currency. On every run, Sprout Affiliate adds up each affiliate's approved commission plus any unpaid bonuses, applies your payout tax if you use one, and then compares that total to the minimum.
Anything under the line is not paid and is not lost. It carries to the next run, and the run's own text names each affiliate it applies to, in the form "Casey: $3.40 below $5.00 minimum, carrying to next run". The commission stays in your to-pay total until it clears the line.
Three details that surprise people. Tax is applied before the minimum is checked, so a withholding rate can push a small balance under the line and a VAT-on-top rate can push one over it. A negative balance (a refund clawback larger than what the affiliate has earned since) always carries, because you cannot send negative money. And your ledger always records the commission earned, not the amount sent, so with withholding on, the totals in "Paid referrals" are the gross figures.
The payout schedule
The "Automatic PayPal payouts" panel sits in the To pay card. It has three frequencies (Off, Every week, Every month), plus a day (a weekday for Every week, a day of the month for Every month) and a time. It needs the Growth plan and PayPal connected (see Connecting PayPal).
- Any time of day, to the minute. The time is typed, not picked. It reads "2:30 PM", "2:30pm", "14:30" and "2pm". If it cannot read what you typed it shows "Try 2:30 PM" and puts the saved time back rather than saving something broken.
- The clock is your shop's timezone, the one set in Shopify. The zone name is printed next to the schedule so you can check it.
- Monthly runs on days 29 to 31 fall back to the last day of shorter months.
- Turning the schedule on never pays immediately. If you set "Wednesday at 9 AM" at 4 PM on a Wednesday, the first payout is next Wednesday, not in the next few minutes.
- A missed run still happens. The schedule is checked every minute, so a payout set for 2:00 PM goes at 2:00 PM. A run that was due but did not happen at all (a deploy, an outage) is picked up by an hourly background check, up to seven days after its scheduled moment. Older than that, it waits for the next occurrence, on purpose: a week-old payout should be a decision, not a surprise. A run that already failed is not picked up again: it had its attempt.
- One run per day. A shop that has already run today in its own timezone will not run again, so editing the time does not trigger a second payout.
A scheduled run pays PayPal and store-credit affiliates. Venmo, bank transfer, and check affiliates are left in the to-pay list, and the run says how many.
The memo on the payment
The memo is the note the affiliate sees on the PayPal payment. The field appears under the schedule, with a preview underneath showing exactly what an affiliate would see, filled in with a sample name, 5 orders, and a sample amount. Leave it blank and Sprout Affiliate uses "Commission for {orders} referred order(s)", or "Bonus from {brand}" when the payment is all bonus and no referred orders. If you write your own memo it is used for every PayPal payment, bonus or not, with the variables filled in.
| Variable | Becomes |
|---|---|
{brand} | Your store name, or "our store" if it is unset |
{affiliate} | The affiliate's name |
{orders} | How many referred orders this payment covers (bonuses do not count) |
{amount} | The amount being sent, in your store's currency, after any tax |
{date} | The day the payout is sent, in your shop's timezone |
{date} is one date for the whole run, so every memo in a batch agrees. It is your shop's day, not the server's, which matters for an evening payout that would otherwise be stamped tomorrow. The memo saves when you click out of the field, and is capped at 4000 characters because that is PayPal's own limit and a longer note fails the entire batch.
One limitation: the memo field is only shown while a schedule is set to Every week or Every month. A memo you saved earlier is still used by manual "Send all via PayPal" runs, but if you switch the schedule to Off you can no longer see or edit it. Set a frequency, edit the memo, then set it back.
The memo only applies to PayPal payments. Marking paid by hand moves no money, so there is nothing to write a memo on.
Marking paid by hand
You can record a payout you made outside the app in two places. Each affiliate row has a "Paid them" tick box and a "Mark paid" button, which records only that affiliate. Above the list, "I've paid these affiliates outside Sprout" and "Mark all as paid" record everyone who is approved, over the minimum, and not held. Both need the tick first, so a single click can never settle your whole to-pay list by accident.
Recording a payout writes the referrals to your ledger, stamps any included bonuses as paid, and moves those orders to Paid. "Mark all as paid" also clears a scheduled-failure banner, because it settles the same commission the schedule was failing to send. A single affiliate's "Mark paid" leaves the banner up, because the rest of that run is still owed.
Undoing a batch
In "Paid referrals", batches you recorded by hand have an Undo button. Undo deletes that batch's ledger rows, puts its bonuses back to unpaid, and removes its payout-tax records, so the orders return to To pay exactly as they were. You also get a one-click undo bar straight after marking paid.
PayPal batches cannot be undone, and neither can store-credit batches. With PayPal the money has already left your account, and with store credit the credit already sits on the customer's Shopify account. Un-recording either would make every one of those commissions look payable again, which is how an affiliate gets paid twice. Both show "Sent via PayPal" instead of a button, even when the batch paid in store credit. If a PayPal payment genuinely needs reversing, do it in PayPal.
When PayPal accepts a batch and a payment still fails
This is the most important part of PayPal payouts to understand. When PayPal accepts a batch, it has accepted the request, not delivered the money. Each payment then settles on its own and can still end up returned, blocked, refunded, reversed, denied, cancelled, or simply failed, sometimes days later.
Money that is pending, on hold or unclaimed is treated as still moving, not as a failure. Unclaimed money can sit for about 30 days before PayPal returns it, and only then does it count as failed.
Sprout Affiliate keeps watching. It re-checks open batches when you open the Payouts page (each batch at most once every ten minutes, so reloading does not slow the page down) and once an hour in the background, for up to 45 days after the batch was sent. When a payment has failed for good, that affiliate's referrals are un-recorded, their bonuses restored, and their tax row removed, so they reappear in your to-pay list. Affiliates in the same batch who were paid are left alone.
You then see a red banner naming the batch, how many payments failed, and each PayPal address or phone number the money did not reach with the status PayPal gave it, telling you to check the payout details on those affiliates and pay again. The banner stays for 30 days from the batch date, then stops, because after that it is no longer something you can act on.
One limitation to know: if PayPal reports a failure that Sprout Affiliate cannot match back to an affiliate, nothing is returned to your to-pay list. The batch is deliberately not marked clean, and its banner drops the usual line about the commission being back in your to-pay list. Instead it reads "Unmatched failures:", then the address and status PayPal gave, then says in so many words that nothing has been returned to your to-pay list. Look the batch up in PayPal and settle it by hand rather than assuming it went through.
When a scheduled run fails
A failed scheduled payout shows a red banner in the To pay card with the time of the last attempt in your shop's clock, and PayPal's reason underneath. The wording is deliberate: nobody was paid, nothing was marked as paid, and the money is still owed.
A scheduled run is attempted once. It is not retried by itself, because the same attempt an hour later fails the same way: whatever blocked it, a permission PayPal has not granted, a missing payout address, a currency PayPal refuses, needs you. Fix the cause and press "Send all via PayPal" to send it straight away, or leave it for the next scheduled run. You get one email and one push notification for that run, no more. Changing the scheduled time makes a different run, which is attempted at the new time and reported on its own.
The email goes to your notification email (or your support email if you have not set one), and the push goes to the Sprout Affiliate admin app on your paired phone. The two are independent, so no email address on file still gets you a phone alert.
Dismissing the banner acknowledges it, it does not fix it. The next failed run raises it again, and dismissing cannot cause a second notification for the run you just dismissed.
Some outcomes are not failures and raise nothing: a run where nothing was approved and payable, a run where no affiliate uses PayPal, and a run that finds another payout already in progress. Alarming you every week about a store whose affiliates all take store credit would train you to ignore the alarm that matters.
Successful runs are reported too, but only when PayPal actually accepted a batch. A run that had nothing to pay sends no "payout sent" message, because that would be a false statement about your money.
Times Sprout Affiliate refuses to send
Three guards can stop a payout, and all three are protecting you from a duplicate payment.
- A payout is already running for this store. Only one runs at a time, across the web admin, the phone app, and the schedule. Wait for it to finish and reload the page to see what was paid.
- A previous batch was started and never recorded. If Sprout Affiliate cannot tell whether an earlier batch left, it sends nothing and says so. Check that batch in your PayPal account. If it went through, use "Mark as paid" on those referrals. If it did not, email support@sproutaffiliate.com and it will be cleared.
- PayPal sent a batch but recording it failed. This is the worst case. The affiliates have been paid. Do not run the payout again. Use "Mark as paid" on those referrals, or email support@sproutaffiliate.com with the batch id. If this happens during a scheduled run, Sprout Affiliate also switches your automatic payouts off by itself and emails and pushes you, so the next scheduled tick cannot send the same money again.
Separately, PayPal itself rejects batches from accounts that do not have Payouts switched on, which is every business account by default. Valid credentials and ticking Payouts under Features in the PayPal Developer Dashboard are not enough: only PayPal support can enable Payouts on the account itself. See Connecting PayPal for what to ask them for. Until it is on, pay another way and use "Mark as paid".
The free plan's 200-order limit is not a payout problem
On the free plan only the first 200 referral orders in a calendar month are attributed, meaning matched to the affiliate who referred them. Anything past that gets no commission calculated, and the Payouts page shows a warning saying how many were affected. Those referrals never reach your to-pay list, so no payout setting will recover them. Upgrading is the only way to include them.
Connecting PayPal, and getting Payouts enabled
Connecting PayPal takes two separate permissions, and having only the first is the usual reason a first payout fails.
- Your app may ask. In the PayPal Developer Dashboard, switch to Live, create an app, tick Payouts under Features, and paste the Client ID and Secret (PayPal's username and password for that app) into Settings. You do this part yourself, and it takes effect the moment you save.
- Your account may send. PayPal does not switch Payouts on by default for any business account. You have to request it, and only PayPal support can grant it.
Check it first, in one place
Open developer.paypal.com/dashboard/accountStatus and look at the Permissions table. There is a Sandbox column (PayPal's test mode, where no real money moves) and a Live column (real payments). Find the Payouts row and read the Live column.
| Permission name | Description | Sandbox | Live |
|---|---|---|---|
| Invoicing API | Email detailed invoices that include an online payment button. Manage invoices through search, reminders, and more. | ✓ | Denied |
| Subscriptions | Initiate and manage regularly scheduled payments from customers. | ✓ | ✓ |
| PayPal payments | Accept Payments from PayPal members and issue Invoices using PayPal payment experience. | ✓ | ✓ |
| Log in with PayPal | Identity service that enables your customers to log in with their PayPal account. | ✓ | ✓ |
| Payouts | Payout up to 15000 recipients in one API Call. | ✓ | Denied |
Read the Live column on the Payouts row. A green tick means it is enabled, and Denied means it is not. Sandbox is ticked either way, which is why a sandbox test succeeds and going live does not, and every other permission can be green while payouts still fail.
To get it: contact PayPal support from the business account that owns those credentials and ask them to enable Payouts on the account. Ask for Merchant Technical Support if the first person cannot act on it. They will ask what you are using it for, which is paying affiliate commissions to your own affiliates from your own balance, and roughly how much and how often.
If a payout has already failed, quote the PayPal reference shown in the error on your Payouts page, printed as "PayPal ref" followed by a code. It is the fastest way for them to find the exact refused call.
Nothing needs changing in Sprout Affiliate afterwards. Once PayPal has enabled it, press "Send all via PayPal" on the Payouts page to send what is owed straight away, or wait for the next scheduled run, which goes through on its own.
Tax on payouts
Three options, and most stores want the first, no tax:
- No tax. The affiliate is paid exactly what they earned. The default, and what most US stores use.
- Affiliates pay it. The tax comes out of what they earned, so a $100 commission at 10% pays out $90 and you hold back $10.
- You pay it on top. A $100 commission pays out $110 at 10%. Use this when an affiliate invoices you for their commission plus a tax they are required to add, so the payout covers the whole invoice.
| Setting | Affiliate receives | Leaves your account | Recorded as earned |
|---|---|---|---|
| No tax | $100.00 | $100.00 | $100.00 |
| Affiliates pay it | $90.00 | $90.00 | $100.00 |
| You pay it on top | $110.00 | $110.00 | $100.00 |
The commission the affiliate earned is always $100 in the ledger. Only the payout changes.
The rate applies when a payout runs, not when a commission is earned, and withholding runs before your payout minimum, so it can push a small balance under the line and carry it to the next run.
The shop rate covers everyone by default, and any affiliate can be given their own rate on their profile. Leave that field blank and they use the shop rate; enter 0 and they are taxed nothing. That is how you handle affiliates in different tax jurisdictions without paying them all by hand.
Sprout Affiliate does not decide whether any tax applies. It records the amount and adjusts the payout; it does not file or remit anything. Whether tax is due, who accounts for it, and at what rate depends on where you and the affiliate are, and cross-border rules differ from domestic ones. Ask your accountant before switching either option on.
Tax forms are separate from the tax setting. Sprout Affiliate can collect a W-9 from US affiliates, or a W-8BEN from foreign ones, in their portal, and totals each affiliate’s paid commissions for the year so you can file a 1099-NEC. Those totals are on the Professional plan.