Product redemptions
Approved affiliates can spend their commission balance on your store's products at a discount you set (default 50% off retail). Affiliates pay discount × retail from their balance; you absorb the remainder as a program cost and ship the product. It's a popular alternative to cash payouts for product-based brands — affiliates of skincare, apparel, supplements, etc. often prefer the merch.
Enable for your merchant
- Go to
/m/<your-slug>/settings/redemptions. - Toggle Enable product redemptions.
- Set your default discount rate (between 0.01 and 1; 0.5 = 50% off).
- Optionally set a minimum balance and a per-affiliate monthly cap.
- Save.
The Redeem tab now appears in the affiliate portal sidebar.
How it works
- An affiliate visits
/a/<slug>/redemptions, sees their available balance, fills in the product name + reference (SKU or WC product id) + retail price, submits. - We compute
retail × discount_rateand reserve that amount from their available balance. Their Reserved card on the same page goes up; Available to redeem goes down. - Your team gets a Slack ping (if Slack is configured) and the row appears in
/m/<slug>/redemptionsunder To fulfill. - You create the WooCommerce order yourself (free shipping, comp'd in WC, however you handle internal comp orders), ship the product, and click Mark fulfilled on the row, optionally entering the WC order # and a tracking note.
- The affiliate sees the row flip to Fulfilled in their history, with your notes.
Balance math
Available redemption balance is calculated as:
- Approved commissions in the affiliate's primary currency
- minus sum of redemptions in
requestedorfulfilledstatus
Cancelled redemptions are excluded from the debit, so balance becomes available again when a request is cancelled. The math is point-in-time on every page render — no batch job, no stale cache.
product_redemptions ledger. Both pools draw from the same approved commissions. An affiliate who has $100 approved can either redeem $100 of products at the discount, get a $100 cash payout, or split the difference — but not both. Available balance always reflects what hasn't been claimed by either pool.Cancellation
- Affiliate cancels a request (only allowed while status =
requested) — the reservation is released and balance becomes available. - Merchant cancels a request (e.g. product out of stock, ineligible) — same effect, plus the reason you provide is shown to the affiliate on their history page.
- You can't cancel a fulfilled redemption — once you mark it shipped, the debit is permanent. If you need to undo, refund the WC order separately and consider issuing a manual commission credit.
Fulfillment options
Today, fulfillment is manual / out-of-band — you control the WooCommerce order yourself. The most common pattern:
- In WC admin: create a new manual order for the affiliate's shipping address.
- Add the product line item.
- Apply a 100%-off coupon (or skip pricing entirely; mark order as paid).
- Process + ship as normal.
- Back in Cobalz, mark the redemption fulfilled and paste the WC order # for your records.
On the roadmap: a one-click coupon push that creates a per-redemption single-use 100%-off coupon scoped to the requested product, so the affiliate can self-serve checkout.
API + webhooks
- Public REST API exposure of
/api/v1/redemptionsis on the roadmap. - The audit log captures every
redemption.requested,redemption.fulfilled, andredemption.cancelled_*event today. - An outbound
redemption.requestedwebhook event will land in a follow-up; subscribe via your existing webhook endpoint.
Caveats
- Currency: redemptions use the affiliate's primary commission currency (the most common currency among their approved commissions). We don't FX-convert across mixed-currency commissions for redemption balance.
- Tax forms: redemptions don't bypass the W-9 / W-8BEN gate. If you have
require_tax_form_before_payouton, an affiliate without an approved tax form can still request a redemption; you should reject it via the cancel flow until they file. (A future setting will let you enforce the gate at request time.) - 1099 reporting: in the US, the value of merchandise transferred at a discount is reportable income equal to the discount amount. Consult your accountant on whether your redemption discounts need to be added to the 1099-NEC totals — Cobalz does not auto-add them.