> ## 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.

# Migrate to Shoppex

> Move your shop from Billgang, Sell.app, SellAuth, or Komerza without breaking customer links.

This guide walks through migrating an existing shop from **Billgang**, **Sell.app**,
**SellAuth**, or **Komerza** to Shoppex. The flow is the same regardless of where you're
coming from — only the export step differs per platform.

The whole migration usually takes one to two hours of active work, then a few hours of DNS
propagation in the background.

## What you'll have at the end

* All your products live on Shoppex with the same SKUs.
* Payment gateways connected to your own accounts.
* Custom domain pointing at Shoppex (optional).
* Old shop links redirecting (manual on your side).
* No data lost.

## Step 1 — Export your data from your current platform

You're looking for: **products with prices and descriptions, license keys / serial pools,
and customer order history if available**. Most platforms expose this under "Data Export",
"Backup", or "Tools" in their dashboard — exact menu paths shift over time, so check the
current vendor docs if anything has moved.

The data shape you need is the same regardless of platform. As long as you have a CSV or
JSON dump with one row per product and (separately) one row per remaining serial / license
key, you can re-import everything.

You don't need to re-upload customers — Shoppex creates new customer records as buyers come
in. But save the export anyway; it's your archive.

## Step 2 — Sign up for Shoppex and pick your shop URL

At [dashboard.shoppex.io](https://dashboard.shoppex.io), create an account. Pick a slug for
your default URL (e.g. `yourshop.shoppex.io`).

If you'll be using a custom domain, the slug doesn't matter long-term — buyers will hit the
custom domain.

## Step 3 — Connect payment gateways

This is the biggest difference from your old platform: **you connect your own gateway
accounts**, not Shoppex's. Open **Settings → Payment gateways**. Set up each one you want:

* **Stripe** — paste publishable + secret key from your Stripe dashboard.
* **PayPal SDK** — paste client ID + secret from PayPal Developer Console.
* **PayPal F\&F** — your PayPal Business email.
* **Cash App** — your `$cashtag` + Gmail forwarding.
* **Crypto** — your wallet addresses, or Cryptomus / Oxapay API keys.

See [Payment gateways](/merchants/payments/gateways) for the full per-provider walkthrough.

**Important:** if you were using merchant-of-record on the old platform (some platforms
operate as MoR by default), you'll need to switch to your own gateways now. Shoppex does
not operate as MoR — funds settle directly to your own Stripe / PayPal / wallet accounts.

## Step 4 — Recreate your products

For each product on your old shop:

1. **Products → New product** in Shoppex.
2. Set the same title, description, price.
3. Pick the fulfillment mode that matches:
   * Files → **File**.
   * License keys / activation codes / Steam keys → **Serials** or **Licenses** (Licenses if
     you need HWID-locking).
   * Discord access → **Subscription** + assign a Discord role from the product's Discord
     section.
   * Monthly billing → **Subscription**.
   * Custom service / boost / design → **Service**.
4. If it's a serials product, paste your old key pool into the **Serials** tab.

If you have many products, doing this by hand is tedious. The [Developer
API](/developers/learn/overview) lets you script it — write a small migration tool that
reads your old export and POSTs one product at a time to `/dev/v1/products`. There's no
bulk-create endpoint; loop with reasonable concurrency and respect the rate limit. The
contracts are documented in [API Reference → Products](/api-reference/introduction).

## Step 5 — Move your custom domain

Two strategies depending on how much downtime you can tolerate.

### Cleanest: dual-domain transition

Keep your old shop running on its current domain. Set up Shoppex on a new domain (e.g.
`new.yourbrand.com` or `yourbrand.shop`). Test thoroughly. When ready, swap DNS so the main
domain points at Shoppex.

This means you have two shops live at the same time for a few days while you confirm
Shoppex works for your buyers. No revenue gap.

### Fastest: direct swap

Update DNS on the day you're ready. Old shop goes dark when DNS propagates.

For the actual DNS setup, see [Custom domain](/merchants/account/custom-domain).

## Step 6 — Redirect your old product links

Shoppex URLs look different from your old platform's. Old buyers, old social posts, and
search-engine results will hit dead URLs unless you redirect.

If you control the old platform's domain, set up a redirect rule. For Cloudflare:

1. Add the old domain to Cloudflare.
2. Rules → Redirect Rules → "If URL contains `/product/`, then 301 to
   `https://yourbrand.shoppex.io/product/{path}`".

For domains you can't redirect (third-party platforms hosting old links), there's nothing
to do — you just lose those click-throughs.

## Step 7 — Notify your customers

Send an email or Discord announcement explaining the move. Include:

* The new shop URL.
* That existing subscriptions on the old platform need to be re-subscribed (Stripe / PayPal
  don't transfer between merchants — buyers must re-authorize the recurring charge on
  Shoppex).
* A link to your support channel for questions.

The subscription point is the most painful part of any migration. Be upfront about it.

## Step 8 — Shut down the old shop

After a week or two of monitoring (no support tickets about missing things, search results
updated, social posts pointing at the new shop), close the old account. Hold onto the
export file forever — it's your historical record.

## Common pitfalls

* **Subscriptions don't migrate.** This is the #1 surprise. Buyers must re-subscribe on
  Shoppex with their own payment method. Plan a transition window of a month where you
  message them, ideally with a discount code to ease the friction.
* **License keys you sold but never delivered** (e.g. ones still in the old shop's pool) —
  these go in the Shoppex Serials pool. Once sold and delivered, they stay with the buyer
  forever.
* **Customer wallet balances on the old shop** can't transfer. If buyers had store credit
  on your old platform, you can manually re-credit their Shoppex wallet from the Customers
  page as a goodwill gesture.
* **Disputes filed on old gateway accounts** stay with those gateways. Watch your old
  Stripe / PayPal dashboards for a few months after the cut-over.
