| 开发者 | herapress |
|---|---|
| 更新时间 | 2026年10月11日 19:46 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
hera-referral-coupon-reports-for-woocommerce folder to /wp-content/plugins/, or upload the zip via Plugins > Add Plugin > Upload Plugin (older WordPress versions call the menu item Add New Plugin).No. It gives customers no referral link and rewards no one for inviting friends. It reports on the coupon codes you hand to affiliates, influencers and partners, and on the commission you owe them for the orders those codes bring in. An order is credited to an affiliate when it carries one of their coupon codes.
Open the coupon under Marketing > Coupons and use the "Affiliate" tab inside the coupon data box. Enter a name, optionally an email address, then update the coupon. The coupon's past orders are credited to that affiliate straight away, and so is every order placed with it from then on. The coupon and its affiliate appear in the Coupons and Affiliates reports at once, with no orders until a customer uses the code. There is no separate affiliate screen to fill in first.
Yes. Coupons are grouped into one affiliate by email address, or by name when a coupon has no email. Give all of a person's coupons the same email and the Affiliates report adds them up into one row, while the Coupons report keeps the per-coupon breakdown.
Every order that used a coupon lands in exactly one of them. Orders of coupons with no affiliate are counted too, as Unassigned. Confirmed orders are in a status you count as confirmed, Processing and Completed out of the box. Cancelled and refunded orders are in the statuses you count as cancelled or refunded. An order cancelled or failed before it was ever paid, such as an abandoned checkout or a declined card, is counted as never paid. Everything else, such as Pending payment or On hold, is pending. All three status lists are editable under Affiliate Reports > Settings, so custom statuses added by other plugins can be counted too.
WooCommerce moves a cash on delivery order to Processing before any money has been collected, so the plugin waits until it is Completed before confirming it. Untick "Keep cash on delivery orders pending until they are Completed" in the settings if you would rather count it at Processing. A developer can add another gateway that collects on delivery through the hrcr_cod_payment_methods filter.
Cancelled orders divided by finished orders, which are the confirmed, cancelled and refunded ones. Pending orders are left out because their outcome is not known yet, and never paid orders are left out because nothing was ever sold. Refunded orders have their own column.
Commission is off until you tick "Track commission" under Affiliate Reports > Settings. Once it is on, every coupon with an affiliate earns the default rate set there, a percentage or a fixed amount per order, unless its own Affiliate tab sets a different one. A percentage is worked out on the order's product totals after coupon discounts, less any refunds. You can add shipping, fees and tax to that base in the settings. Commission counts as earned once the order is confirmed and as pending before that, and a cancelled, never paid or refunded order earns nothing. If one order used two coupons belonging to the same affiliate, that affiliate is paid once for it.
A full refund moves the order to Refunded and its commission goes to zero. A partial refund stays on the order: the refunded amount comes off the order's sales, and the refunded products, shipping or fees come off the commission base. A refund of a plain amount, with no items picked, comes off every part of the order in proportion.
Open Affiliate Reports > Payouts and pick the affiliate. Their statement lists every confirmed order that has not been paid, up to the date you choose. Pay them your usual way, then record the payment with the date, the method and an optional note. The orders it covers are marked as paid and drop off the amount due, and you can email the affiliate a summary. A payment recorded by mistake can be deleted from its own screen, as long as it is the affiliate's most recent one. Payments can only be recorded once the report index has been built, so orders placed before the plugin was installed are never missed.
It shows up on the affiliate's next statement as a negative amount, which is taken off their next payment. Nothing you have already recorded is changed.
Affiliates are told apart by email address, or by name when a coupon has none. If you add or change the email on a coupon after paying its affiliate, the orders you already paid stay under the old name or address, so the person shows up twice. Open the older statement and use "Merge into another affiliate" to bring the two together; anything owed or owing on the old record then counts toward the next payment.
Orders that have not been paid yet do. Saving a new rate on a coupon's Affiliate tab, or a new store default or commission base under Affiliate Reports > Settings, restates them straight away. Orders already covered by a payment keep the rate and the base they were paid on, and they stay with the affiliate who was paid even if the coupon is later given to someone else. If you edit coupons some other way, such as a bulk edit or an import, click "Sync affiliates from coupons" under Affiliate Reports > Settings to bring the reports back in line.
They are not in the report index until you build it. Go to Affiliate Reports > Settings and click "Rebuild index". It reads your orders in small batches with a progress bar, so it finishes on shared hosting without timing out. You only need it once: orders placed afterwards are recorded as they come in. Rebuilding never touches your record of payments.
No. An affiliate here is a name, and optionally an email address, stored on a coupon. No user is registered and no login is created. The emails carry no wp-admin link and no customer personal data: only order numbers, dates, statuses and amounts, the coupon code, and the commission if you choose to show it.
Not by logging in, because affiliates get no account. They can get the new order email for each order that uses their coupon and the payment email when you record a payment, and you can download or print any affiliate's statement and send it to them. Only orders that carry their coupon code are counted, so a customer who heard about you from an affiliate but did not use the code is not credited to them.
The new order email only goes out for coupons where you ticked "Email this affiliate when a new order uses this coupon", and it needs an email address on that coupon. You choose in the plugin settings whether it is sent when the order is placed, when it reaches Processing, or when it reaches Completed, and each affiliate is emailed once per order. At that point the email is handed to WooCommerce's scheduler and goes out in the background a moment later, so changing the status of many orders at once is not slowed down by these emails. The payment email only goes out when you tick its box while recording a payment. Both can be edited or turned off under WooCommerce > Settings > Emails.
The reports add amounts together as the orders recorded them and do not convert between currencies, so the totals are meaningful for a store that sells in one currency.
Yes. The plugin declares HPOS compatibility and reads orders through the WooCommerce order API, so it behaves the same on HPOS and on legacy post-based order storage.
The "Export PDF" and "Print" buttons open a print layout and call your browser's print dialog. Choose "Save as PDF" (or "Microsoft Print to PDF" on Windows) as the destination. The plugin bundles no PDF library and sends nothing to an external converter.
The report index table, the plugin's own settings and the settings of its emails are always removed. The affiliate details and commission rates you typed on each coupon, and your record of payments, are kept, because you entered them by hand. If you want those gone as well, tick "Also delete the affiliate details and commission rates saved on each coupon, and the record of payments" under "When deleting the plugin" in the settings before you delete the plugin.