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

# Products

> What you can sell on Shoppex, and how fulfillment works for each type.

Every product has a **fulfillment mode** that decides what the buyer receives the moment their
payment clears. Pick the mode that matches what you're selling — Shoppex handles delivery
automatically for everything except service-mode products.

<CardGroup cols={2}>
  <Card title="File" icon="file-arrow-down" iconType="duotone" href="/merchants/products/digital-files">
    Upload once, deliver a download link to every buyer.
  </Card>

  <Card title="Serials" icon="key" iconType="duotone" href="/merchants/products/license-keys">
    Upload a pool of codes, each buyer gets a unique one.
  </Card>

  <Card title="Discord roles" icon="discord" iconType="duotone" href="/merchants/products/discord-roles">
    Grant a role on your server when payment clears.
  </Card>

  <Card title="Subscription" icon="rotate" iconType="duotone" href="/merchants/products/subscriptions">
    Charge on a recurring schedule, auto-renew.
  </Card>

  <Card title="Service" icon="hand-holding-heart" iconType="duotone" href="/merchants/products/services">
    Manual fulfillment — you get notified, you deliver.
  </Card>

  <Card title="Dynamic" icon="bolt" iconType="duotone" href="/merchants/products/dynamic">
    Your own webhook returns the delivery payload per order.
  </Card>
</CardGroup>

There's also an **Info card** mode for information-only products that don't need automated
delivery — useful for listings, ads, or "request a quote" placeholders.

## Variants and pricing

Any product can have variants — sizes, tiers, region-specific versions — each with its own
price, stock, and fulfillment payload. Set a single price for the product or per-variant
pricing.

## Stock and inventory

* **File** products have unlimited stock — same file is delivered to every buyer.
* **Serials** are inventoried: Shoppex tracks how many codes remain in your pool and the
  listing automatically becomes "out of stock" when it hits zero.
* **Subscription**, **Service**, **Discord role**, and **Dynamic** products are not
  inventoried — they don't run out.

## Bundles, addons, quantity deals

On top of base products you can configure:

* **Bundles** — sell multiple products as a single SKU at a bundle price.
* **Addons** — optional upsells shown on the checkout page.
* **Quantity deals** — automatic discount tiers (buy 5, get 10% off; buy 10, get 20%).

Configure these from each product's detail page.

## Licenses (advanced)

If you sell software, the [Licenses system](/merchants/products/license-keys#hardware-locked-licenses)
goes further than serials: license objects have status (active / suspended / revoked /
expired), HWID binding to prevent key sharing, IP locks, and a full event audit trail.
