> ## Documentation Index
> Fetch the complete documentation index at: https://docs.joinmarkt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Resellers

> Sell license keys in bulk to trusted partners at a private wholesale price.

The reseller program lets trusted partners buy license keys from your store **in bulk**, at a discount you control. Keys come straight from your normal stock and are delivered the moment an order is paid.

> [!NOTE]
>
> The program is **private**. It is never listed or searchable outside your store. A partner can only join with your invite code, or by applying on your own storefront.

> [card] Private by design
>
> Only partners you invite or approve can buy.

> [card] Tiered discounts
>
> Partners move up automatically as they buy more.

> [card] Instant delivery
>
> Keys arrive at once, with CSV and TXT export.

## Set up the program

**1. Turn the program on**

Open Dashboard → **Resellers** → **Settings** and switch on **Reseller program**.

**2. Choose who can join**

Pick **Invite only**, **Apply and approve**, or **Open**. See [Who can join](https://docs.joinmarkt.com/guides/resellers.md#who-can-join).

**3. Create tiers**

In the **Tiers** tab, add at least one tier with a discount. See [Tiers and discounts](https://docs.joinmarkt.com/guides/resellers.md#tiers-and-discounts).

**4. Pick the products**

In the **Catalog** tab, choose which products and variants resellers can buy.

**5. Invite partners**

Share an invite code, or let partners apply from **Account → Reseller** on your store.

## Who can join

| Mode | How a partner joins | Status after joining |
| - | - | - |
| **Invite only** | With an invite code you give them | Active |
| **Apply and approve** | Sends a request from your storefront; you decide | Pending until you approve |
| **Open** | Any signed-in buyer joins in one click | Active |

The **Invite codes** switch works with every mode. Turn it off to hide the code box on your storefront. The server then refuses code joins too.

### Apply form

In **Apply and approve** and **Open** modes, you shape the form partners fill in.

> [accordion] Question on the apply form
>
> One free-text question, for example *Where will you sell our products?* When set, an answer is required.

> [accordion] Extra fields
>
> Add more questions. Each one has a label, an optional hint, and a **required** switch.
>
> | Type | Use it for |
> | - | - |
> | Text | Short answers like a Discord name |
> | Text area | Longer answers |
> | Dropdown | One choice from a list |
> | Radio buttons | One choice, all options visible |
> | Checkbox | Yes / no |
> | Number | Counts, like expected monthly sales |
>
> Every answer is checked on the server. Answers appear with the request in **Applications** and on the reseller's page.

> [accordion] Reseller terms
>
> Text partners must accept before they join, by code or by applying. Leave it empty for none.

## Applications

Requests appear in the **Applications** tab, each with the partner's email, date, and answers.

* **Accept** — pick a tier. The partner becomes active and can buy.
* **Reject** — optionally add a note. The partner sees it and can apply again.

## Invites

Create invites in the **Invites** tab.

| Field | Purpose |
| - | - |
| Code | Custom (4–32 letters, numbers, dashes) or generated, e.g. `ABC-1234` |
| Label | Private name so you know who it is for |
| Tier | Tier the partner starts on |
| Email | Optional — only this email can use the code |
| Max uses | Optional limit on how many partners can join |
| Expires | Optional end date |

Send the code, or the invite link that fills it in for them.

## Tiers and discounts

Each tier has a **discount**, and can have a **minimum spend** and a **minimum order count**.

**1. Partners start on a tier**

The tier from their invite, the one you pick on approval, or your default tier.

**2. They move up automatically**

After each order, a partner who meets every threshold of a higher tier moves up.

**3. They never move down**

A tier is kept even if spending slows later.

You stay in control:

| Control | Where | Effect |
| - | - | - |
| Lock a tier | Reseller → **Edit** → Tier | Fixes the tier; automatic moves stop |
| Personal discount | Reseller → **Edit** | Replaces the tier discount for one partner |
| Per-tier price | **Catalog** tab | Overrides the price of one product for one tier |

The partner sees their current discount at the top of their reseller page.

## Catalog

Choose the products and variants resellers can buy. Each item can be shown to **all tiers** or only to the tiers you pick.

> [!NOTE]
>
> Keys come from the product's normal key stock. You never manage a second stock, and a key is never sold twice.

## Payment

Under **Settings → Payment**, each way to pay has its own switch.

| Method | Shown when |
| - | - |
| **Store balance** | Always available |
| Each connected gateway | It is connected in Dashboard → **Payment methods** |

> [!WARNING]
>
> Reseller orders are paid with **store balance** today. Other connected methods are listed as *coming soon* on the reseller page.

Add balance to a partner from their page with **Change balance**. Every change is logged with a reason.

## Orders

Partners order on **Account → Reseller**: set a quantity per product, then **Buy**.

* **All or nothing.** If stock or balance runs short, nothing is charged.
* **Daily key limit.** Set a default in Settings, or per partner. Empty means no limit.
* **Full record.** Each order stores every key, the price, the currency, and an access log of who viewed the keys.
* **Export.** Partners download their keys as **CSV** or **TXT** at any time.

## Sale currency

Each partner can see prices and pay in their own currency, such as **EUR** or **GBP**. Set it in Reseller → **Edit** → **Sale currency**.

Prices convert at the live exchange rate. The partner's balance always stays in your store currency.

## Manage a reseller

Open a partner from the **Resellers** list to see their balance, spend, products bought, recent orders, and balance history.

| Action | Effect | Undo |
| - | - | - |
| **Edit** | Change tier, personal discount, daily limit, sale currency, private notes | Edit again |
| **Change balance** | Add or remove balance, with a reason | Reverse the amount |
| **Suspend** | Pauses buying; history is kept | **Reactivate** |
| **Block** | Suspends and adds the email to your blacklist | **Unblock** |
| **Remove** | Ends the membership | Invite again |

## Related

> [card] [Payments](https://docs.joinmarkt.com/guides/payments.md)
>
> Connect payment gateways for your store.

> [card] [Plans & billing](https://docs.joinmarkt.com/guides/plans-billing.md)
>
> Plan limits and upgrades.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.