Skip to content

Affiliates

Let other people sell for you

Give bloggers, podcast hosts and happy customers a link to your store, a coupon code, or both. Their sales are credited to them, each commission waits out your refund window, and one batch pays everyone at the end of the month.

Version 1.1.2 Released

Cookie consent
The referral cookie is listed with the Consent plugin as a marketing cookie. Without consent, the partner is remembered for that visit only. In strict mode, those visitors can only be credited by coupon.
Privacy
Clicks are kept as a count per partner per day. The store keeps no IP address, no browser details and no row per click.
Own orders
An order placed by the partner themselves isn't credited, unless you switch that on.
By hand
A customer heard about you on a podcast but forgot the code? Credit the partner from the order's Affiliate panel. Each change goes in the order's history.

Commissions

Rates that fit what you sell

Set one rate for the whole program, then give a partner, a category or a single product its own. Each line of an order uses the most specific rate that applies to it.

  • A rate is a percent or a flat amount. The program default is 20%.
  • A commission is worked out on what the customer paid for the goods, after discounts. Tax is left out, and so is shipping unless you choose to pay on it.
  • Gift card purchases earn nothing by default. The order that spends the card earns instead.
  • When a customer a partner referred renews a subscription, the partner earns again. Pay on every renewal, a set number of them, or none, at the first sale's rate or a renewal rate of its own.
yourshop.com/admin/plugin/kahunacart#/section/affiliates
The Commissions tab listing sales on hold, two subscription renewals, a sponsored-video adjustment and a clawback after a refund
Sales, renewals, adjustments and clawbacks in one list
Rounding
Every line keeps its exact share, and the total is rounded once. Three lines that earn 0.333 each pay 1.00, not 0.99.
Product and category rates
Set through the REST API for now. A partner's own overrides are listed on their page, where you can remove them.
Currencies
A commission is in the order's currency. Balances and payouts are kept per currency, and nothing is converted.

Holds and refunds

Balances that stay honest

A commission waits out your refund window before it can be paid. A refund takes back exactly what the refunded items earned, even after the partner has been paid.

  • New commissions are held for 30 days by default, your refund window plus a week. The job worker approves them when the hold ends, or you can approve each one yourself.
  • Refund one of two identical items and the commission on them is halved. A full refund or a reversed order takes all of it.
  • Already paid the partner? The refund writes a negative clawback that comes off their next payout.
  • A partner whose balance drops below zero is left out of payouts until their next commissions bring it back up.
  • When a buyer disputes a payment with their bank, an unpaid commission is held until a refund settles it or you release it.
yourshop.com/admin/plugin/kahunacart#/orders/66
An order's Affiliate panel naming the partner and their link click, with a paid commission and the amount taken back after a partial refund
A partial refund after payout takes back its share
Statuses
Pending, Approved, Paid, Rejected or Reversed. While one waits, the list says On hold, Needs approval or Disputed.
No doubles
The same refund delivered twice takes back once.
Shipping
A refund of shipping alone changes nothing, unless you pay commission on shipping.

Payouts

One batch pays everyone

At the end of the month, build a batch. The preview lists everyone who is owed enough and says why anyone is left out. Untick anyone you'd rather skip, then run it.

  • Store credit goes straight into the partner's credit account, ready to spend at checkout. Add an optional bonus for choosing it, since credit costs you no fees.
  • By hand, you pay outside the store and mark each item paid. The batch gives you a plain CSV for your bank, a PayPal Payouts upload file and a Wise batch payment file.
  • PayPal Payouts sends the money from your own PayPal account. The add-on has its own PayPal client, so it works even if you don't take PayPal at checkout.
  • Partners choose their method in their account, or you set it for them. Pay everyone their own way and you get one batch per method.
  • Every amount is worked out again when the batch is created, so a late refund is counted. Two people building batches at once can never pay the same commission twice.
yourshop.com/admin/plugin/kahunacart#/section/affiliates
A new payout batch preview grouped into store credit with a bonus, manual and PayPal, with partners below the minimum left out and the reason shown
Everyone paid their own way, and the reason for anyone left out
Minimum
50.00 by default. Partners below it wait for a later batch.
Failures
A failed or returned PayPal payout goes back into the partner's balance. Retry makes a new batch and never sends again under the old ids.
Unclaimed
A partner with no PayPal account yet is emailed, and reminded a week before PayPal sends the money back.
Your money
The add-on never holds partner money. PayPal pays from your account, credit is a balance in your store, and you pay a hand-paid batch yourself.

Tax details

Year-end numbers for whoever files

Partners fill in a W-9 or W-8BEN in their account. At year end you get each partner's totals and the files to hand to your accountant. KahunaCart collects and totals this information. It doesn't file or give tax advice.

  • One question picks the form: a W-9 for US persons, a W-8BEN for people outside the US, and a W-8BEN-E as a signed PDF for businesses outside the US.
  • Full tax ID numbers are stored only when your server has its own key, KAHUNACART_TAX_KEY, which lives outside the database. The numbers are encrypted with it. Without the key, a W-9 keeps the last four digits and the signed PDF.
  • Tax IDs are masked on every screen. The full number appears only in the year-end export.
  • The year-end report totals what each partner was paid, split by store credit, PayPal and manual. US partners who reach the 1099-NEC threshold are flagged.
  • Download a CSV in the layout of the IRS IRIS 1099-NEC upload, the full table, and a statement PDF for each partner.
yourshop.com/admin/plugin/kahunacart#/section/affiliates
The Tax tab's year-end report for 2026 with two US partners, one flagged over the 1099-NEC threshold, and buttons for the IRIS file and the full table
The year-end report, with the 1099-NEC file a click away
Before paying
Ask for a form before paying US partners, which is the default, or every partner, or nobody.
W-8 expiry
Partners are emailed 60 days before a W-8 runs out, and again when it does.
Who sees it
Tax forms have a permission of their own. Someone who can pay partners can't read their tax forms unless you give them that too.
Records
Tax records are kept for 7 years after a partner's last payout by default, even if they ask to be forgotten.

Partner accounts

Partners help themselves

Partners get an Affiliate tab in their customer account. They apply, copy their link, watch their earnings, choose how to be paid and fill in their tax form without writing to you.

  • Turn on applications and customers can apply from that tab. Approve each one yourself, or let everyone in automatically.
  • Partners can pick their own code when they apply, and ask for a new one later. You approve the change, and the old code keeps working.
  • The overview shows what's ready to pay, what's waiting, what's been paid and when the next payout comes.
  • Partners copy their link with one click, or turn any page of your site into a link of their own. Their coupon codes are listed with the links that apply them.
  • Commissions show the order number and date only, never your customer's name or email.
  • Add banners, text snippets and links for partners to copy into their own sites.
yourshop.com/shop/account/affiliate
A partner's Affiliate tab in their customer account showing what's ready to pay, what's waiting, what's been paid and what they've earned
What a partner sees in their own account
Program page
Put a Join our affiliate program block on any page, with your rate, cookie window and payout terms, by shortcode or in a Twig template.
Emails
Application, commission, payout and tax form emails. Each one is on your Notifications screen, to switch off or point at your own template.
No account
Partners with no customer account can get a monthly statement by email instead.

Questions

Common questions

Do I need a separate affiliate service?

No. Partners, commissions and payouts live in your own store, next to your orders and customers. You pay partners from your own PayPal account, in store credit, or by hand.

Does it pay on subscription renewals?

Yes. When a customer a partner referred pays for the next period of a subscription, the partner earns a renewal commission. Choose every renewal, a set number, or none. Subscriptions come with the Subscriptions add-on.

Does it file my 1099s?

No. KahunaCart collects and totals this information. It doesn't file or give tax advice. You get the year-end totals, a CSV in the layout of the IRS IRIS 1099-NEC upload, and a statement for each partner to hand to whoever files.

Does a partner earn on a customer's later orders?

Only when the customer comes through the partner again. A partner earns on the orders they're credited with and on the renewals of those orders' subscriptions. There's one partner per order and no commission on a partner's recruits.

What do I need to run it?

Grav 2, KahunaCart 1.5.2 or later, PHP 8.3 or later, and the store's job worker running. See the Affiliates docs to set it up.

How much does it cost?

Affiliates costs $149 as a one-time purchase for your site. Updates are covered by your site's single renewal. See the store.

Start your affiliate program.

Buy Affiliates once for your site for $149. Give partners a link or a coupon, let refunds settle before you pay, and pay everyone in one batch, with updates covered by your site renewal.

Buy in the store