Skip to main content
A reseller is a customer who buys your products at a discount and sells them on. You set the discount tiers and choose which products a reseller can buy. Pricing stays global: you never negotiate per partner. Find it in the dashboard under Customers → Resellers.

How the money works

Resellers do not check out with a card. They keep a prepaid balance in your shop, top it up themselves, and every wholesale order is charged against that balance instantly. Nothing is invoiced, nothing is on credit, and an order that goes over the balance is rejected. Two things to know before you set this up:
  • A reseller order settles immediately, so their codes or files are delivered right away.
  • Reseller top-ups earn no wallet bonuses or reward credits, even if you run a top-up bonus campaign. A bonus on money already spent at a discount amounts to a second discount.

Setting the program up

The Overview tab shows a three-step checklist until you finish it.
1

Enable the program

Go to the Settings tab and switch Reseller Program on. While it is off, existing resellers keep their status but cannot place wholesale orders or use the reseller API.Then pick an Enrollment Mode:
  • Manual — only you invite resellers. Customers cannot request access.
  • Application — customers apply from their account and you approve or reject each request. You can add an Application Message that explains what you expect, and you can require applicants to write a note.
  • Open — any customer becomes a reseller instantly and lands in your default tier.
Open enrollment requires a Default Tier. Nobody reviews the signup, so you must decide the new reseller’s price in advance. The dashboard blocks the switch until you set one.
2

Create a tier

A tier holds the wholesale discount. On the Tiers tab, choose Create Tier and set a Name and a Discount Percent: the percentage off your regular price on every enrolled product.You can also set Auto-Advance: a Lifetime Revenue threshold, a Completed Orders threshold, or both, to promote resellers into this tier automatically as they grow. By default, a reseller only needs to reach one threshold. Tick “Require both thresholds instead of either one” if you want both required.Tiers are ordered from entry level to top tier. When an order pushes a reseller past several thresholds at once, they land in the highest tier they qualify for, not the next one up.Need an exception for a single product? Use Overrides on the tier row. An override replaces the tier discount for one product, or for one specific variant.
3

Enroll products

On the Products tab, flip the Enrolled switch for every product resellers can buy. Enrolled products are the wholesale catalog. Everything else stays invisible to them.This page never sets a separate reseller price. Resellers always pay your regular price minus their tier discount, so a price change on the product flows through automatically.Disable Volume Discount on a row stops your normal quantity discounts from stacking on top of the wholesale discount for that product.

Bringing resellers in

Invite Reseller (top right of the page) takes an email and an optional tier. If that email is new to your shop, the customer account is created for you. Without a tier, the reseller pays your regular price until you assign one, so pick one unless you have a reason not to. The invitation email carries a link that expires after 14 days. Until it is accepted, the relationship sits in Invited. In Application mode, requests land on the Applications tab. Each shows the applicant’s note and the date. Approve lets you pick the tier they start in. Reject takes an optional reason for your own records. It is not emailed automatically. A rejected applicant keeps their customer account and can apply again later. Every relationship is in exactly one state: Invited, Applied, Active, Suspended, or Rejected. You can suspend an active reseller and reinstate them later. Suspending pauses wholesale pricing and their API access but keeps their order history. Relationships are never deleted. Only an unaccepted invitation can be withdrawn.

What your resellers see

In the customer portal of your shop, an approved reseller gets a Reseller tab with:
  • their tier, lifetime revenue, lifetime orders, and balance, with Add funds to top up
  • the Wholesale catalog — your enrolled products at their tier prices, with a running order summary that shows the total, the saving versus retail, and their balance after the order
  • Reseller orders — past wholesale purchases with the delivered keys and a Copy all button
  • API keys — up to 5 active keys for ordering from their own system
The API keys are for the Reseller API, which lets a reseller automate catalog reads, balance checks, and ordering. You do not have to do anything to enable it. It works for every active reseller.

Dynamic delivery: reselling someone else’s stock

The relationship also works in the other direction. If you are an active reseller in another Shoppex shop, you can sell that shop’s products in your own store without holding any stock. When a customer buys, Shoppex buys the item from your supplier automatically and hands the supplier’s codes straight to your buyer. Set it up per product, in the product editor’s Supplier source section:
  1. Save the product first, then pick the Supplier. Only shops where you are an active reseller with an enabled program are listed.
  2. Pick the Supplier product to buy from, and a Supplier variant if the supplier’s product has variants. Otherwise, leave it on “Whole product”.
  3. Check the margin readout: Your price, Purchase price, Margin. It warns you if the sale price is below the wholesale price you pay.
  4. Leave Automatic fulfilment on. Turning it off pauses supplier purchases for that product without losing the configuration.
A product can have a supplier source or a dynamic webhook delivery URL, not both. Only one automatic fulfilment mechanism can own a delivery. If you need to switch, remove the webhook URL under Delivery & Stock first.
The purchase is paid from your reseller balance at the supplier, so keep that balance funded. If the supplier cannot deliver (out of stock, the program disabled, your account suspended, or your balance too low), Shoppex refunds your buyer for that line automatically and reports it. Watch the reseller:supplier_order.delivered and reseller:supplier_order.failed webhooks if you want to be alerted. Supply chains can nest: your supplier can itself be reselling, but only three shops deep. A shop can never be its own supplier.

Reading the numbers

The Overview tab tracks the program: total, active, invited, and applied counts. It also shows Revenue · 30d and Revenue · All Time, calculated from completed wholesale orders with refunds excluded. You can see the spread of resellers across tiers, and your five biggest active accounts by lifetime revenue. Suspended and rejected accounts are deliberately kept out of the leaderboard.

Automating it

Everything on the enrollment side is available in the Developer API: list resellers, invite, suspend, reinstate, and read or update the program settings. See Resellers for the endpoints. Tier authoring and product enrollment stay in the dashboard on purpose, so the price cascade has one source of truth.