Products import

Modified on Wed, 7 Oct at 10:40 AM

Product Import

Complete dictionary and import template for your products. Data entry rules, product types, variant logic and the business impact of each column.

Before you start

Prerequisite: Stock locations cannot be imported. Create or edit your stock locations in Erplain before the import, then enter them in the file.
Prices: Prices are imported through a separate import file once the products have been imported and the price levels have been created.
Tip: For your first import, create a few products manually to get familiar with the fields. Start with a simple import of 3 products maximum. Data entry errors are common during a first import — a small file is easier to fix.
Important: Importing products will not delete products already saved in Erplain.

Download the template

Download the template directly from the product list:

Download the template from the product list
Warning: We recommend exporting in CSV format.

Understanding the template logic

Boolean values

In the “Taxable” and “Active” columns: 1 = Yes, 0 = No.

Fixed CSV format

The file format cannot be changed. The order and names of the columns must exactly match the template.

Products without variants

Represented on a single row. One unique main SKU and one unique name.

Products with variants

As many rows as there are attribute combinations. The 1st row contains the shared information, the following rows contain the information specific to each variant.

Multiple-value lists: Tags, taxes, suppliers and seasons use JSON format: ["Tag 1","Tag 2"]

Supported product types

Product (product)

Physical or standard product. Stock management available. Variants possible.

Service (service)

Service or labor. No stock tracking, no variants.

Kit

Set of products sold together. Components defined through a bill of materials.

Assembly (assembly)

Product assembled from components. Made-to-order production.

Note: On creation, only “product” and “service” are accepted. On update (with an Id column), the “kit”, “assembly” and “packaging” types are also accepted but cannot be modified.

Import my file into Erplain

Once the file has been edited and saved from Google Sheets, re-import it from the products menu:

Import the file into Erplain

Error messages

When an error is detected in the file, Erplain blocks the import and displays an error message indicating the error to fix.

Importance levels
Required The file will be rejected or the row skipped if this information is empty.
Important Row is imported, but missing this data blocks major workflows.
Optional Secondary descriptive information to complete the product records.
Golden CSV rule: For multiple-value lists (tags, taxes, suppliers, seasons), use JSON format: ["VAT","Eco"]. Booleans are written as 1 (Yes) or 0 (No).

Variant logic

A product with variants is represented by as many rows as there are combinations of its attributes (size, color, etc.). Variants are linked to the product name, which acts as their master.

Variant logic in the import file
Rule: On the first row, fill in all the shared information (Name, main SKU, Suppliers, Brand, Tags, Seasons, Descriptions). There is no need to repeat this shared information on each variant row. However, some information can be customized at the variant level (SKU, barcode, weight, etc.).

Column dictionary

Basic information

Id (Internal ref.) Number

Unique Erplain identifier (variant). If present, updates the existing record instead of creating a new one.

Optional column — if absent, all rows create new records.
Name Text

Product name. Main display name throughout the interface. For variants, this is the name of the master product.

Import is rejected if empty.
SKU Unique text

Unique internal reference of the product or variant. Used for quick identification and cross-imports.

Recommended — unique per variant.
Description Text

Detailed product description. Displayed on product records and potentially on sales documents.

Optional.
Product type product | service

Defines whether the row is a product (product) or a service (service). On creation, only these two types are accepted.

Required. On update: kit | assembly | packaging also accepted (cannot be modified).
Active 1 or 0

Defines whether the product is available for new orders. 1 = active, 0 = deactivated.

Required. An inactive product keeps its history.
Barcode Text

EAN/UPC barcode of the product or variant.

Optional.
HS code Customs code

Customs code (Harmonized System) for import/export operations.

Optional.

Contacts and Categorization

Suppliers JSON

Suppliers linked to the product. Suppliers must already exist in Erplain (import them beforehand). Format: ["Supplier 1","Supplier 2"]

Important for purchasing management.
Supplier description Text

Description of the product from the supplier's point of view (supplier reference, trade name).

Optional.
Tags JSON

Keywords to filter and organize your products. Tags are created automatically if they don't exist. Format: ["Tag 1","Tag 2"]

Optional.
Seasons JSON

Seasons to separate your products (e.g. SS2020, AW2021). Seasons are created automatically. Format: ["SS2020"]

Optional.
Brand Text

Product brand name. The brand is created automatically if it doesn't exist.

Optional.
Country of origin (ISO2) ISO code

2-letter country code (FR, US, CA...) indicating the product's country of origin.

Optional.

Variants & Attributes (6 columns)

Option 1 / Attribute 1

First variation dimension (e.g. Size). The option is the name of the dimension, the attribute is the value (e.g. M, L, XL).

Required for products with variants.
Option 2 / Attribute 2

Second variation dimension (e.g. Color).

Optional — if only 1 attribute.
Option 3 / Attribute 3

Third variation dimension (e.g. Material).

Optional — if 2 attributes max.
Import behavior: If a row contains a SKU + Option/Attribute columns, Erplain automatically creates a variant linked to the master product. Options are created automatically if they don't exist.

Taxation & Tracking

Taxable 1 or 0

Defines whether the product is subject to tax. 1 = taxable, 0 = non-taxable.

Required — empty cell = import error.
Taxes JSON

Applicable tax codes. Taxes must already exist in Erplain. Format: ["VAT 20%"]

If empty, no tax is applied.
Stock tracking 1 or 0

Enables stock tracking for this product. 1 = tracked, 0 = not tracked.

Impacts inventory management and stock movements.

Logistics & Valuation

Weight - Amount Number

Numerical value of the product's weight.

Optional.
Weight - Unit Text

Unit of measurement for the weight (kg, g, lb, oz...).

Optional.
Ecotax Number

Default ecotax amount assigned to the product.

Optional.
Initial cost Number

Initial cost used to calculate your stock valuation. This is not the purchase price from your suppliers.

Important for stock valuation.

Read-only columns (export only)

Unit cost read-only

Unit cost automatically calculated by Erplain.

Included in the export, ignored during import.
Available read-only

Available stock automatically calculated (actual - reserved).

Included in the export, ignored during import.
Actual read-only

Actual physical quantity in stock.

Included in the export, ignored during import.
Incoming read-only

Quantity on pending purchase orders.

Included in the export, ignored during import.

Key takeaways

Creation vs Update

Without an Id column → creates new products. With an Id column → updates existing products/variants.

No deletion

The import never deletes products. Existing records are kept, only their data is updated.

Auto-created options

Options (Size, Color...) and Tags are created automatically if they don't yet exist in Erplain.

Google Sheets recommended

Use Google Sheets to edit and save your CSV file. Excel/Numbers may corrupt the format.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article