People send you customers; you pay them a share. Deliberately smaller than the suites: a referral link, a ledger you can explain, and a page in My Account.
Four rules, and they are the reason to choose this over the alternatives.
A commission is decided once, when the order is placed, and frozen onto it. The affiliate, the rate and the amount are written at that moment and never worked out again. A plugin that recomputes later has you lowering your rate and silently shrinking every pending payout in the shop — including for sales made under the old terms, which is a promise broken to the person who made them.
Only the goods count, and only a paid order earns. Commission is worked out on the line items, net of refunds — not on shipping, and not on tax, because paying a share of the VAT is paying the tax authority's money to an affiliate, and you find that out in a quarter-end reconciliation. A commission is *waiting on payment* until the order is actually paid.
One order is one commission — in the schema. UNIQUE (order_id) is not an optimisation; it is the guarantee. WooCommerce fires its status hooks more than once in ordinary operation, and a check-then-insert in PHP loses that race. Paying somebody twice for one sale is money out of the shop and a reconciliation nobody can do by hand.
An affiliate is never paid for their own order. Checked two ways — the account that placed it, and the billing address on it — because the second is how somebody gets round the first.
Also
* First-referral-wins or last-referral-wins, as a decision rather than a silent default, with what each one means said out loud * A rate for the shop, and a rate for one person * A commission is reversed, never deleted, when an order is refunded — so the answer to "what happened to the £40 I could see last week?" is on the page * An affiliate's own dashboard on the Affiliate tab of My Account: their link, their visits, and their figures — and nobody else's * Applications approved by a human, or automatically if you say so
What it deliberately does not do
It does not move money. Recording a payout marks what is owed as paid. This plugin has no gateway, cannot send anybody anything, and never asks for a credential that could — a bug in that would be somebody's wages. You pay by whatever means you already use, and tell the ledger.
Every license includes
- One year of updates and priority support, delivered straight to your WordPress dashboard.
- Use on 1, 5 or 25 sites depending on your license — local, staging and development sites are always free.
- 30-day money-back guarantee — full refund, no questions asked.
- Keeps working after expiry — if you choose not to renew, the plugin keeps running exactly as installed; it simply stops receiving updates and support until you do.
Requires WordPress 6.4+ · PHP 7.4+ · tested up to WordPress 7.0. Works with the classic and block checkout alike.

Stephen W. (verified owner) –
Sound plugin. Minor gripes only. Nothing about Affiliates is flashy, and nothing needs to be. Happy enough.
Gonzalo H (verified owner) –
Sustituyó a un plugin enorme que hacía la mitad de esto. Ya he puesto Affiliates en tres webs de clientes. Nada que objetar.
Niklas G. (verified owner) –
Ich habe es auf drei Shops ausgerollt, überall problemlos.
Jessica Sawyer (verified owner) –
Got through the January sale without a squeak. Affiliates plays nicely with the rest of my plugins.
James W. (verified owner) –
Good, and I suspect it will be very good in a version or two. Affiliates sits fine alongside my other plugins. I am satisfied.