emfasemfas

Importing data with CSV

Import product and variant data into Emfas from CSV files

Need to bring product data into Emfas from a spreadsheet? The CSV import feature lets you upload data from any CSV file and map it to your product catalog. Whether you're updating existing products or creating new ones, this guide walks you through the process.

File size limit

CSV files can be up to 300MB in size. If you have larger files, consider splitting them into smaller chunks.

Accessing CSV import

To start importing data:

  1. Go to the Products or Variants catalog
  2. Click the Import CSV button in the top right corner
  3. Select your CSV file to upload

Once uploaded, you'll be taken to the column mapping screen where you'll tell Emfas how to interpret your data.

Import CSV button in the top right corner of the product catalog

Example CSV files

Not sure how to structure your CSV file? Emfas provides example templates you can download to see the correct format. Click the Download CSV Templates button on the upload screen to access them.

CSV upload screen showing the Templates button

Import data to existing entities

Use these templates when you have Shopify or Centra connected and want to import data to existing products:

TemplateWhat it demonstrates
Existing products (Shopify)Importing data to existing products using Shopify product handles
Existing products (Centra)Importing data to existing products using Centra product numbers
Existing products and variants (Centra)Importing data to both products and variants using Centra product numbers and variant codes

Using the templates

These templates show the correct ID formats and column structure. Download one, add your own data following the same pattern, and use it for your import.

Creating new entities (CSV-only mode)

Use these templates when you're using Emfas without an ecommerce platform connected and managing your catalog entirely with CSV files:

TemplateWhat it demonstrates
Creating new productsCreating new products in CSV-only mode
Creating new products and variantsCreating new products with variants in CSV-only mode

Importing to existing products in CSV-only mode

When importing data to existing products in CSV-only mode, it works the same way as when importing products with an ecommerce store connected.

Understanding the column mapping screen

After uploading your CSV, you'll see the column mapping interface. This is where you connect your CSV columns to fields in Emfas. The screen is organized into three main sections to help you review your data and set up the correct mappings.

CSV column mapping screen showing three sections: CSV columns on the left, field selectors in the middle, and example data on the right

The column mapping screen has three sections:

SectionWhat it showsPurpose
Left columnColumn names from your CSV fileShows the headers from your uploaded file
Middle columnField selectorsWhere you choose which Emfas field each CSV column maps to
Right columnExample dataShows actual data from your CSV to help you verify mappings

You'll also notice an Import Settings panel at the top of the screen. This lets you configure how the import handles unknown IDs and blank cells - see Import settings for details.

Reviewing example data

Before you start mapping columns, it's helpful to look at the actual data from your CSV file. The example data column on the right shows real values from your file, which helps you:

  • Confirm which CSV column contains which type of data
  • Verify data formats (especially for IDs)
  • Make sure you're mapping the right columns to the right fields

You can browse through different rows in your CSV by clicking the arrow keys next to the "Example data" header. This lets you see how data varies across multiple rows, giving you confidence that your mappings are correct.

Import settings

Before mapping your columns, you can configure how the import should behave using the Import Settings panel. Click on the panel header to expand it and see the available options.

Entity creation mode

This setting controls what happens when your CSV contains IDs that don't exist in Emfas:

ModeWhat happensWhen to use
Skip rows with unknown IDs (default)Rows with IDs not found in Emfas are skippedWhen you only want to update existing products and ignore any unrecognized IDs
Create new entities for unknown IDsNew products or variants are created for IDs not found in EmfasWhen you want to add new products to your catalog via CSV

Creating new entities

When using "Create new entities" mode, you'll need additional columns mapped:

  • For new products: Map a column to Product Name so Emfas knows what to call the new products
  • For new variants: Map columns to both Product ID (to associate with a product) and Variant Name

If these required columns are missing, you'll see a validation error in the confirmation dialog.

Blank cells handling

This setting controls how empty cells in your CSV are treated:

ModeWhat happensWhen to use
Keep existing values (default)Blank cells are ignored - existing data stays unchangedWhen you're updating specific fields and want to preserve other data
Clear field valuesBlank cells will clear the corresponding field in EmfasWhen you intentionally want to remove data from fields

Be careful when clearing

When you choose "Clear field values when CSV cell is blank," any blank cells will remove existing data. This cannot be undone through the CSV import feature.

Example: If you have a product with a description and you import a CSV with the product ID but a blank description cell:

  • Keep existing values: The existing description stays intact
  • Clear field values: The existing description is removed

Choosing fields to map to

Click on a field selector to select where in Emfas to import columns to.

Combining multiple columns

You can map multiple CSV columns to the same Emfas field. When you do this, the contents from all mapped columns will be combined together into that field.

A common workflow is to map several columns with raw or unstructured data (like specs, notes, or descriptions from different sources) to the Product Input field. This dumps all that information into one place, which you can then use later to generate AI content for your other fields like Description, Title, or Meta Description.

When you click on a field selector, you'll see all available fields organized into three sections:

System fields

These are special fields Emfas uses to identify and organize your products:

FieldWhat it's forWhen to use it
Product IDIdentifies which product to updateRequired when updating existing products
Variant IDIdentifies which variant to updateRequired when updating existing variants
Product NameNames the product in EmfasRequired when entity creation is enabled and new products are being created
Variant NameNames the variant in EmfasRequired when entity creation is enabled and new variants are being created
SKU IDIdentifies which SKU to updateUsed when importing SKU-specific data. Can update existing SKUs by ID alone, or create new SKUs when combined with Variant ID
SKU NameNames the SKU in EmfasOptional when creating new SKUs

What format should IDs be in?

The format for Product ID, Variant ID, and SKU ID depends on your setup. See With an e-commerce platform connected for Shopify and Centra ID formats, or Without an e-commerce platform if you're using CSV-only mode.

Working with SKUs

SKUs are always associated with a variant. When importing SKU data:

  • To update existing SKUs: Use just the SKU ID column - Emfas will automatically find the associated variant
  • To create new SKUs: Include both Variant ID and SKU ID columns. The variant must already exist in Emfas
  • To update SKU fields on existing products: Include SKU ID along with any SKU-level fields you want to update

Product, variant, and SKU fields

Below the system fields, you'll see all your regular product attributes (like Description, Price, Category, etc.), variant attributes if you're using variants, and SKU attributes if you're working with SKUs.

Simply select which Emfas field you want each CSV column to populate.

Numeric field operations

Only available in proposals

Numeric field operations are only available when using Create proposal from CSV on the Proposals screen. They are not available in the regular CSV import from the product catalog.

When creating a proposal from CSV and mapping a column to a numeric field (like Price, Number, or Weight), you can choose how to apply the values:

OperationWhat it doesExample
Set (replace)Replaces the existing value with the CSV valueSet price to exactly 99.00
Increase byAdds the CSV value to the existing valueAdd 5.00 to current price
Decrease bySubtracts the CSV value from the existing valueSubtract 10.00 from current price
Increase by %Increases the existing value by the CSV percentageIncrease price by 15%
Decrease by %Decreases the existing value by the CSV percentageDecrease price by 20%

Bulk price adjustments

This is useful for applying percentage-based price changes across your catalog. For example, create a proposal from a CSV with a column containing "10" and map it to Price with "Increase by %" to raise all prices by 10%.

Selecting language for localized fields

Some fields in Emfas support multiple languages - these are called localized fields. Text fields like Description, Title, or custom text attributes often have different values for different languages.

When you map a CSV column to a localized field, you'll need to select which language the data is in. For example, if your CSV contains English descriptions, select "English" when mapping to the Description field.

Importing multiple languages at once

You can import multiple languages in a single CSV import as long as each language is in its own column. For example, have one column for English descriptions and another for Swedish descriptions. Map each column to the Description field and select the appropriate language for each mapping.

Importing images via URL

When mapping a CSV column to a Media field (image attribute), you can provide external image URLs instead of uploading files. Emfas will automatically create assets from these URLs and link them to your products.

FormatExample
Single imagehttps://cdn.example.com/product-front.jpg
Multiple imageshttps://cdn.example.com/front.jpg,https://cdn.example.com/back.jpg

Supported formats include JPG, PNG, GIF, WebP, SVG, and MP4 video.

Multiple images

For multi-value media fields, separate URLs with commas. Each URL will create a separate asset linked to the product.

The Product Input field

Emfas has a special field called Product Input that's designed specifically for importing unstructured or raw data. This is one of the most commonly used fields during CSV import.

The typical workflow:

  1. During import: Map multiple CSV columns with raw data - like supplier descriptions, specifications, notes, or any unstructured information - to the Product Input field. The contents of all these columns will be combined together.

  2. After import: Use this combined information as source material to generate AI content for your structured fields like Description, Title, Meta Description, and more.

This approach keeps your data organized:

  • Raw, unprocessed data lives in Product Input
  • Clean, AI-generated content lives in your customer-facing fields
  • You maintain the source information without cluttering your actual product fields

Why use Product Input?

  • It only exists in Emfas (not synced to external platforms like Shopify or Centra)
  • Perfect for temporary data that feeds AI generation
  • Keeps your structured fields clean and ready for proper content

Creating new fields

You can create new fields while importing if you need to add data to fields that don't exist yet in Emfas. This is useful when your CSV contains data that doesn't map to any existing product attributes.

When you click on a field selector, you'll see options to create new fields at the bottom of the dropdown. You can create two types of fields:

Field TypeWhat it storesBest for
Text fieldFree-form text of any lengthDescriptions, notes, specifications, or any text-based data
Category (Select) fieldPredefined options from your CSVTags, statuses, types, or any categorical data with specific values

When creating a new field, you'll need to specify where it should live and what to call it:

Choose the field level:

  • Product level: The field will be associated with the product (for example "Brand" or "Care Instructions")
  • Variant level: The field applies to individual variants (for example "Size" or "Color")
  • SKU level: The field applies to individual SKUs (for example "Barcode" or "Warehouse Location")

If your catalog doesn't use variants or SKUs, you'll only create fields at the product level.

Set the field properties:

  1. Field name: What users will see in the Emfas interface

    • Defaults to your CSV column name
    • Can be changed to something more readable (e.g., "prod_desc" → "Product Description")
  2. Unique key: Internal identifier Emfas uses to reference this field

    • Must be unique across all your fields
    • Used in the API and internal systems
    • Cannot be changed later, so choose carefully
Create new field dialog showing field name and unique key input fields

Naming your fields

Keep field names clear and descriptive for your team. For the unique key, use lowercase with underscores (like product_description or care_instructions) to follow standard naming conventions.

Category fields

When creating a category field, Emfas automatically detects all unique values from your CSV column and creates those as the available options. For example, if your "Status" column contains "Active", "Draft", and "Archived", those three options become available in the new field.

Import modes: With or without an e-commerce platform

How you map your columns depends on whether you have an e-commerce platform connected to Emfas.

With an e-commerce platform connected

If you have Shopify or Centra connected, Emfas uses specific identifiers to match CSV data to existing products:

Shopify setup

For Shopify: Map your CSV column containing the product handle to the Product ID field in Emfas. The product handle (like summer-dress-2024) is what Emfas uses to identify and match Shopify products.

Centra setup

For Centra: Map your CSV column containing the product number to the Product ID field.

If you're importing variant data, use the format product_number-variant_number (for example: 12345-001) in the Variant ID column.

Required mappings:

  • One column mapped to Product ID (with the correct identifier type)
  • Additional columns for any product data you want to import (optional)

Without an e-commerce platform (CSV-only mode)

If you don't have an e-commerce platform connected, you need to provide names so Emfas knows what to call your products.

Required mappings:

  • One column mapped to Product Name (so products have a name in Emfas)
  • If importing variants: one column mapped to Variant ID and one mapped to Variant Name
  • If importing SKUs: one column mapped to SKU ID (and optionally SKU Name). Note that the variant must already exist
  • Additional columns for any product data you want to import (optional)

Confirming your import

Once you've mapped all your columns and are ready to proceed, click the Import button. Before the import runs, Emfas analyzes your data and shows you a confirmation dialog.

The confirmation dialog

The confirmation dialog shows you exactly what will happen based on your import settings:

In "Skip rows with unknown IDs" mode:

  • Shows how many products/variants will be updated (IDs found in Emfas)
  • Shows how many IDs were not found and will be skipped

In "Create new entities for unknown IDs" mode:

  • Shows how many products/variants will be updated (IDs found in Emfas)
  • Shows how many products/variants will be created (new IDs)

Before proceeding, verify that the numbers match your expectations. If you're updating existing products, the "updated" count should match the number of unique product IDs in your CSV file. If you see unexpected numbers, it likely means your IDs don't match what's in Emfas.

Validation errors

The confirmation dialog may show errors if your column mappings are incomplete for the selected import mode:

ErrorCauseSolution
Cannot create new products without a Product Name columnYou're in "Create new entities" mode but haven't mapped a Product NameGo back and map a column to Product Name
Cannot create new variants without a Variant Name columnYou're in "Create new entities" mode with new variants but no Variant NameGo back and map a column to Variant Name
Will skip creating variants because there is no Product ID columnVariants need to be associated with a productMap a column to Product ID if you want to create variants

Accidentally created products?

If you confirm the import and realize you created products by mistake, you can remove them from your catalog:

  1. Go to the product catalog
  2. Select the unwanted products
  3. Click the three dots in the action button overlay
  4. Click Delete

Common mistakes to avoid

Using the wrong ID format

The most common issue is mapping the wrong type of identifier to the Product ID field in Emfas:

  • Shopify users: Use the product handle (like summer-dress-2024) and map it to the Product ID field in Emfas. Do not use the numeric product ID from Shopify.
  • Centra users: Use the product number for products, and product_number-variant_number format for variants

If your IDs don't match Emfas's expected format, rows will show as "not found" in the confirmation dialog.

How to catch this before importing: When you click Import, check the confirmation dialog. If you're trying to update 100 products but the dialog shows "100 product IDs not found (will be skipped)", cancel and verify your ID format is correct.

Accidentally creating duplicates

If you're in "Create new entities for unknown IDs" mode and your IDs don't match existing products, Emfas will create new products instead of updating existing ones. This can lead to duplicate products in your catalog.

How to avoid this: Use "Skip rows with unknown IDs" mode (the default) when you only intend to update existing products. This way, mismatched IDs are safely skipped rather than creating unwanted new products.

Best practices for CSV imports

Prepare your CSV file

Before uploading:

  • Make sure your file is under 300MB
  • Verify column headers are clear and descriptive
  • Check that ID columns contain the correct format
  • Remove any test or dummy rows

Start small

If this is your first time importing, try a small test file with just a few products first. This lets you verify your column mappings are correct before importing hundreds or thousands of rows.

After importing

Once your import is complete, your data will be available in the product catalog. You can:

Verify your import

After importing, it's a good idea to filter your catalog to review the imported products. Check that:

  • Products were matched correctly (no unexpected duplicates)
  • Data landed in the right fields
  • New products have appropriate names