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

# Migrating to Komerza

> Import your products, orders and customers from another platform

Komerza can import your store data from another platform in one guided step. The migration tool supports **Sellhub**, **SellAuth**, **SellApp** and **Shoppex**. Coming from anywhere else - Sellpass, Sell.sn, Paylix or another platform - contact support and we will advise on the best path.

You start the import, watch it run live, and get an email when it finishes. A large catalogue can take twenty minutes or more, and you can close the tab while it works.

## What imports

Every platform brings across products and their variants, serials and license keys, reviews, orders and customers. What differs is the detail each platform's API is willing to hand over.

| Platform     | Source store           | Notable gaps                                     |
| ------------ | ---------------------- | ------------------------------------------------ |
| **Sellhub**  | Single store           | -                                                |
| **SellAuth** | Pick from a list       | Hidden, pending and disputed reviews stay hidden |
| **SellApp**  | Type your store handle | Product images, store credit balances            |
| **Shoppex**  | Single store           | Delivery files, subscriptions                    |

**Never migrated, from any platform:** coupons, categories, payment gateway configuration, custom domains, balances and funds, and subscriptions. Plan to set those up on Komerza after the import.

The dashboard shows the full list for the platform you pick - both what will come across and what will not - before you press Start. That list is the authoritative one; the table above is the summary.

<AccordionGroup>
  <Accordion title="SellAuth">
    **Imports:** products with images, descriptions, pricing, slugs and visibility; variants with their own price, stock, delivery setup and descriptions; serials and license keys per variant; checkout questions; volume pricing tiers, and whether a coupon cancels them; product badges with their wording and colour; delivery setup including instructions, dynamic URLs and blocked payment methods; reviews with ratings, messages, replies and original dates; orders with line items, statuses, delivered goods and payment references; customers folded together by email, with their store credit.

    **Left behind:** reviews that were hidden, pending or disputed on SellAuth stay hidden here too; custom field validation rules and prefilled defaults; quantity deals and bundle offers, because Komerza prices bulk by tier rather than buy-one-get-one; coupons, categories, whitelists and downloadable files.

    SellAuth supports multiple stores, so you pick the source store from a list after entering your key.
  </Accordion>

  <Accordion title="SellApp">
    **Imports:** products with descriptions, slugs and visibility; variants with their own price, stock and delivery setup; serials and license keys per variant; checkout questions; bulk pricing tiers, and minimum and maximum order quantities; reviews with ratings, messages and replies; orders with line items, totals, statuses and payment references; customers folded together by email.

    **Left behind:** product images, because SellApp serves them from its own storage - re-upload those; store credit balances; coupons, sections, groups and blacklist rules.

    SellApp has no way to list your stores from an API key, so you type the **store handle** instead of picking from a list. It is the handle in your SellApp dashboard URL.
  </Accordion>

  <Accordion title="Shoppex">
    **Imports:** products with images, descriptions, pricing, custom fields and visibility; variants as first-class products, each with their own price and stock; serials and license keys for both base products and variants; delivery setup including instructions, dynamic webhooks and service text; reviews with ratings, messages and replies; orders with line items, statuses and delivered goods; customers with their join date and store credit balances.

    **Left behind:** delivery files, because Shoppex's API has no download endpoint for them - re-upload those manually; subscriptions, since recurring billing cannot be transferred between platforms; coupons, categories and quantity deals.

    Shoppex rate limits hard. See [If the migration stops early](#if-the-migration-stops-early).
  </Accordion>

  <Accordion title="Sellhub">
    **Imports:** products and their variants, reviews, orders and customers.

    A Sellhub API key belongs to one store, so there is nothing to pick.
  </Accordion>
</AccordionGroup>

<Note>
  A migration stops at 1,000 products, which is the ceiling on every plan including Free. Anything past
  it is not imported, and both the completion screen and the email tell you exactly how many were left
  out. Almost no genuine catalogue reaches this.
</Note>

## Before you start

If you are new to Komerza, create your account at [dashboard.komerza.com](https://dashboard.komerza.com) - signing up creates your account and your first store together, on a free `yourstore.mykomerza.com` URL. Confirm your email, and your account starts on the Free plan.

Already have an account? You don't need another one. Add a store from the sidebar store selector → **Create New Store**, within your plan's store limit: one store on Free, five on Premium, unlimited on Business.

You need to be the store's owner to run a migration.

## Running the migration

<Steps>
  <Step title="Open the Migration tab">
    In the dashboard, open the store selector → **Store settings → Advanced →
    Migration** ("Import your store data from another platform").
  </Step>

  <Step title="Pick the platform and paste your key">
    Select the source platform and paste that platform's API or authorization
    key, then press **Continue**. The key is used for the import and is not
    stored permanently. Generate a fresh key on the source platform rather than
    reusing one from an old email or note.
  </Step>

  <Step title="Choose the source store">
    SellAuth gives you a list to pick from. SellApp asks you to type your store
    handle. Sellhub and Shoppex are single-store, so this step is skipped.
  </Step>

  <Step title="Review what will be migrated">
    The screen lists what comes across for that platform and what does not. Read
    the second list - it is where the surprises are.
  </Step>

  <Step title="Start the migration">
    Press **Start Migration**. The import runs on our side, so you can close the
    tab. You will get a "Migration completed" email with counts of what was
    imported, or a "Migration failed" email.
  </Step>
</Steps>

## Watching it run

Once started, the tab shows live progress: the phase it is in (products, reviews, orders, customers, then saving to your store), a running count, the item it is working on, and a rough estimate of the time left once there is enough to base one on.

**"Next in line" or "3 migrations ahead of yours"** means the run is queued. Only one migration runs at a time across the whole platform, so you can genuinely be waiting behind other merchants' shops. The queue shows your position but never an estimated wait, because the run ahead of you might be fifty products or fifty thousand.

**"Connection lost" or "Live progress unavailable"** is about the picture, not the migration. The import keeps running on our side and the email still arrives. The dashboard reconnects on its own, and there is a **Try again now** button if you would rather not wait.

Refreshing the page or reopening the tab rejoins a run in progress.

## How it can finish

A finished migration is not simply pass or fail, and the screen colour tells you which of three you got.

<CardGroup cols={3}>
  <Card title="Migration complete">
    Everything that could be imported was. The screen shows how many items are
    now in your store.
  </Card>

  <Card title="Finished with warnings">
    The import ran, but something is worth knowing about. The warnings are
    listed in full on screen and in the email.
  </Card>

  <Card title="Migration failed">
    Nothing further will be imported. Your existing store data has not been
    changed.
  </Card>
</CardGroup>

Warnings are specific and worth reading. Typical ones are "12 product(s) could not be imported from SellAuth and are missing from your store", "4 review(s) could not be matched to a product and were left out", or "Shoppex sent 40 product(s) but none could be imported, including 40 subscription product(s), which cannot carry recurring billing across". A count of products that quietly failed is exactly the thing you want to see before you open for business.

If a phase returned nothing at all, the email says so plainly rather than reporting a successful migration of zero - so "Sellhub reported no products for this store, so there was nothing to import" means the key or the store was wrong, not that the importer broke.

## How conflicts are handled

* **Duplicate product slugs** are de-duplicated with `-2`, `-3` suffixes, both within the import and against products already in your store.
* **Customers with the same email address** are merged into one customer record. A customer who already exists in Komerza gains a relationship to this store rather than being duplicated.

## If the migration stops early

**"Migration could not start: ..."** means the source platform rejected the key. The fix is nearly always the same: generate a brand-new API key on the source platform and run the migration again. Keys copied from old emails or notes are frequently expired or revoked. If you are on a multi-store platform, check the key belongs to the store you meant.

**"Migration stopped - rate limited"** means the source platform throttled us past what we could wait out. Nothing is wrong with your key and there is nothing to fix - come back later and run it again. Anything imported before the limit was hit has been kept. Shoppex is the strictest of the supported platforms, so this is most likely there; retrying immediately can keep the key blocked, so leave it a while.

**Anything else** is a failure on our side. Contact support with your store name and roughly when it ran.

## After the import

Migration brings your catalogue; it does not bring your storefront or your ability to take money. Work through these:

<CardGroup cols={2}>
  <Card title="Check your products" icon={<span className="kicon kicon-box" />} href="/guides/products-and-variants">
    Confirm counts, then check delivery items and stock modes on each variant.
  </Card>

  <Card title="Connect payment methods" icon={<span className="kicon kicon-credit-card" />} href="/guides/payment-methods">
    Gateway configuration never migrates. Nothing sells until this is done.
  </Card>

  <Card title="Build your storefront" icon={<span className="kicon kicon-palette" />} href="/guides/embed-sdk">
    Use the builder, or embed checkout in a site you already have.
  </Card>

  <Card title="Connect your domain" icon={<span className="kicon kicon-globe" />} href="/guides/custom-domain">
    Requires the Premium plan or above.
  </Card>
</CardGroup>

Press **Reload store** on the completion screen to see the imported data, or **Migrate another store** to run a second import.

## When to contact support

* A freshly generated, valid API key from the source platform still fails.
* Imported counts look wrong and the warnings don't explain the difference.
* You are migrating from a platform that isn't listed.
* You need data the tool doesn't cover, such as coupons, categories or subscriptions.
