ÚvodPlatformaCeníkOtázkyNápovědaKontakt Kivea FlexiKivea PohodaKivea účetnictvíKivea fakturace Vyzkoušet zdarma

Overview

This guide walks you through moving your existing product catalog into {productName}, whether it lives in another e-shop, an ERP system or a set of spreadsheets. The recommended approach is simple: prepare the file, map it once, review the result in a changeset, and only then apply it. When you are happy with the outcome, you can turn the same setup into a scheduled automatic import.


Before You Start

Spend a few minutes on preparation. It saves a lot of cleanup later.

  • Export your data. {productName} accepts CSV, Excel and XML files, or a URL where the feed is published.
  • Decide on a unique identifier. Every record needs a value that never repeats, for example the product code or the ean. This is the Lookup Field that lets {productName} recognise a record on the next import instead of creating a duplicate.
  • Start with a small sample. Cut your file down to 20-50 rows for the first attempt. Fixing a mapping on a small file is much faster.
  • Check your data. Look for empty identifiers, duplicate codes and prices written as text (for example “1 200,-”).
**Tip:** If your data comes from a supplier feed that will keep updating, read [navigate:/help/en/user-flows/supplier-integration|Supplier Integration Pipeline|truck] as well. The migration steps below are the same, only the schedule differs.

Step 1: Upload and Map Your File

[navigate:/products/import|Open Import|upload]

1. Open the **Import** page in the product catalog.
2. Select the **Create template and import** tab.
3. Upload your file or paste the URL of the feed.
4. Click **Confirm** and wait while the assistant suggests how your columns match {productName} fields.
5. Review the suggested matches in the **Import Mapper** and correct any that are wrong.
6. Set the **Lookup Field** to your unique identifier.
**Review the mapping:** Always check the suggested matches before importing. Ambiguous column names, such as "Weight" and "Shipping Weight", can be matched to the wrong field.

The assistant is described in detail in [navigate:/help/en/user-flows/ai-mapping|Automatically map supplier columns|bot]. If you prefer to build the mapping by hand, or need transformations such as splitting a column or calculating a price, see [navigate:/help/en/api/mapper|Mapper Documentation|settings].

Your mapping is saved as an Import Template, so you can reuse it for the full file and for later updates.

[navigate:/importTemplates|Import Templates|file-text]


Step 2: Import a Sample

The Import page writes directly to your live catalog, so run the first import with your small sample file only.

1. Click **Import** in the **Import Mapper**.
2. Open [navigate:/products|Products|package] and check the imported records.
3. Compare a few of them with your source: names, prices, stock, images and categories.
4. If something is wrong, fix the mapping in the template and import the sample again. Because of the **Lookup Field**, records are updated instead of duplicated.

Step 3: Import the Full Data Set

For the complete file you have two options.

Option A: Import directly. Repeat the import on the Import page with the full file. This is the quickest way for a catalog that is still being set up.

Option B: Import with review. If the file is available at a URL and your catalog already contains data you care about, create an [navigate:/automaticImports|Automatic Import|upload] that uses your template and enable Requires Change Set. The import then creates a changeset instead of changing live data.

1. Open [navigate:/automaticImports|Automatic Imports|upload] and click **Create**.
2. Enter a name, the file URL and select your **Import Template**.
3. In the `Operation` dropdown choose how existing records are handled (see the table below).
4. Check **Requires Change Set** and click **Save**.
5. When the import has run, open [navigate:/changesets|Changesets|git-branch] and click the new changeset.
6. Check the numbers of created, updated and deleted records, and click an entity name to see the modified records.
7. Click **Apply** to make the changes live, or **Reject** to discard them and try again.
Operation When to use it
create-only First load into an empty catalog, or when you must not touch records that already exist
create-update New records are created and existing ones are updated
update-only Correcting or enriching records that are already in {productName}, without adding new ones

If your data contains parent-child structures, such as products with variants, use the @loop directive in the mapper to import the child rows together with their parent. Learn more about reviewing and applying changes in [navigate:/help/en/changesets|Changesets: Safe Drafts for Your Data|git-branch].


Step 4: Check the Result

After the full import:

  • Look for empty required fields or missing relations. The article [navigate:/help/en/user-flows/data-quality-management|Managing Data Quality|activity] shows how to find and fix them in bulk.
  • Compare record counts with the source. A difference usually points to rows with an empty or duplicated identifier.

Step 5: Keep the Data in Sync

If the old system remains the source of truth for a while, set up an automatic import using the template you just created.

1. Open [navigate:/automaticImports|Automatic Imports|upload] and click **Create**.
2. Enter the file URL and select your **Import Template**.
3. Choose the frequency: `hourly`, `daily`, `weekly` or `monthly`.
4. Select the **Operation**, usually `create-update`.
5. Click **Save**.

The Handle Missing option decides what happens to records that are in {productName} but no longer in the feed. The default nothing keeps them.

**Be careful with `delete`:** Choosing `delete` removes every record that is missing from the feed. Use it only when the feed always contains your complete catalog, and keep **Requires Change Set** enabled so you can review deletions before they happen.

All options are explained in [navigate:/help/en/user-flows/automatic-imports|Automatic Import Workflows|refresh-cw].


Common Problems

Problem Likely cause and fix
Duplicate records after the second import The Lookup Field is not set or is mapped to a column that is not unique. Set it to a stable identifier such as code or ean.
Nothing was updated The Operation is create-only, or the identifier values in the file differ from the ones already stored (for example leading zeros or extra spaces).
Prices or numbers look wrong The source uses a different decimal separator or contains text such as “EUR”. Use a mapper expression to clean the value.
Related data such as categories is empty The relation was not mapped, or the related record could not be found with the value in your file.

Next Steps

Now that your data is in {productName}, set up the full pipeline with validation, scheduling and notifications.

[navigate:/help/en/user-flows/product-catalog-sync|Continue to Product Catalog Sync|refresh-ccw]

  • [navigate:/help/en/user-flows/automatic-imports|Automatic Import Workflows|refresh-cw]
  • [navigate:/help/en/user-flows/ai-mapping|Automatically map supplier columns|bot]
  • [navigate:/help/en/changesets|Changesets: Safe Drafts for Your Data|git-branch]
  • [navigate:/help/en/api/imports|Import System Documentation|upload]