Overview
Trustana's Product Import lets you upload product data from any spreadsheet — whether it comes from your ERP, PIM, ecommerce platform, or a supplier. The system handles column mapping, parent-variant relationships, data validation, and error reporting.
File Requirements
Formats | XLSX (strongly recommended) or CSV |
Max file size | 20 MB |
Max rows | 10,000 products per file |
Max columns | 200 attributes per file |
Multi-sheet XLSX | Supported — only the first sheet is processed |
Why XLSX over CSV? When Excel opens a CSV file, large numbers like barcodes get silently converted to scientific notation (e.g., 1234567890123 becomes 1.23E+12). If you save the file, the original values are permanently corrupted. XLSX prevents this entirely.
First Sheet Rule
Whether CSV or XLSX, only the first sheet is processed. Make sure your product data table is on the first sheet.
This screenshot shows multiple sheets on the same file. Only the 'Products' sheet will be imported since it is the first sheet.
Converting to CSV (if needed)
If your file is in XLS or Google Sheets format, you can convert it:
Excel: File → Save As → select CSV (.csv)
Google Sheets: File → Download → Comma Separated Values (.csv)
However, we strongly recommend using XLSX directly to avoid barcode corruption issues.
Step 1: Upload Your File
Go to All Products and click Bulk Import (top-right).
Drag and drop your file or click to browse
Optional: toggle "Import fields as empty" — this treats empty cells as instructions to clear existing values (useful for mass-deleting attribute values across products). Leave OFF if you just want to add/update data.
Optional: select a saved mapping profile to skip directly to import (see Mapping Profiles below)
Click Start Import
Step 2: Select the Header Row
The system auto-detects which row contains your column headers
Confirm the suggestion, or select a different row if your headers aren't in row 1
Data is assumed to start on the next row after the header
Note: Only the first rows are displayed as a preview for performance — the full file is still processed.
Step 3: Map Columns to Attributes
Each column in your file needs to be mapped to a Trustana attribute.
Auto-mapping: The system remembers your last successful mapping and auto-maps matching columns. If you've saved a mapping profile, it will use that instead.
For each column, you can:
Search attributes — type in the dropdown to find attributes by name. Results show the attribute name and its display group.
Preview data — the first 3 rows of data are shown below each mapped column so you can visually verify the mapping is correct.
View attribute details — click the eye icon to see the attribute type and configuration.
"Also map to Product Model" — toggle this on any column to map its values to both the selected attribute AND the Product Model field. Useful when a single identifier (like a manufacturer part number) serves as both your SKU and the search term needed for enrichment.
Create a new attribute — if no matching attribute exists, create one directly from this screen. The column header name is pre-filled.
Skip columns — deselect any columns you don't want to import.
Color Indicators
Green — mapped and selected for import
Yellow — mapped but not selected (will be skipped)
Red — column selected but not mapped to any attribute. Use "Remove unmapped" to clean up.
Parent-Variant Relationships
If your file contains variant products (e.g., different sizes or colors of the same product), you need to establish the parent-child relationship.
If your file has parent rows
The relationship between rows needs to be explicit with a Parent SKU column:
Parent rows have the Parent SKU column empty
Variant/child rows reference the parent's SKU in the Parent SKU column
Each parent can have up to 200 variants
In this example, the parent's SKU is TEST100030. This same value is present on the children's rows under Parent SKU. Each row with this value will be processed as a child of this product.
If your file has only variant rows (no parent rows)
This is common with POS and ERP exports. Toggle "Infer parents from file" in the mapping screen:
The system reads the Parent SKU column and automatically creates a parent product if one doesn't exist
You select which attributes to copy from the first variant to the parent (name, brand, category, images) via checkboxes
Variant-specific attributes are not inherited
Safe to always enable — if the parent already exists, variants are simply associated to it
Mapping Profiles
After mapping, you can save the configuration as a named profile (e.g., "ERP Export", "Shopify Template", "Supplier XYZ").
Profiles are saved at the account level — any team member can use them
Next time you upload the same file format, select the profile and click Start — mapping is skipped entirely
If the file structure doesn't match the saved profile, the system asks you to review the mapping
Image Import
Format | Multiple URLs in a single cell, separated by a line break |
Supported types | JPEG, JPG, PNG, WEBP |
Max image size | 20 MB per image |
Max images per product | 100 |
Important notes:
Image URLs must be publicly accessible — the server fetches each URL directly without authentication
File sharing services (Google Drive, Dropbox, OneDrive) typically don't work due to authentication redirects. Serve images from a CDN or static hosting instead.
Images embedded within cells (not URLs) will not be imported
If the product already has images, importing new URLs under the "Images" header will replace existing images (not append)
Video URLs under the image header will cause the row to be skipped entirely
If using Excel to combine multiple URLs, use
CHAR(10)between URLs to create line breaks
Deduplication
Identifier | Behaviour |
SKU (your unique identifier) | Matches existing product → update |
Product ID (Trustana's ID) | Matches existing product → update |
Neither present | Always creates a new product |
Important: Not using Product ID or SKU will result in duplicated products. Using the wrong ID will update the wrong product — always verify your identifiers.
What Happens During Import
After you start the import:
The system matches each row to existing products (by SKU ID or Supplier SKU)
Rows with a matching ID are updated; rows without are created as new products
Each row is validated (see below)
Processing time: a few minutes for small files, up to ~1 hour for 10,000 rows
Critical Errors (row skipped entirely)
Parent product not found and infer parents is off
Duplicate Supplier SKU already exists in the system
Parent-child circular reference
Parent has reached 200 variants maximum
Minor Errors (value dropped, row still imported)
Data type mismatch (text in a number field, invalid date format)
Invalid dropdown/multi-select value (not in configured options)
Invalid URL format for image or URL attributes
Category path doesn't match configured tree
Invalid country code
After Import
You'll receive an email notification with a summary and link to the import history — you don't need to stay on the page
The Import History page shows detailed results: products created, updated, skipped (critical errors), and partially imported (minor errors)
If there were errors, download the error file — it's a subset of your original file with two extra columns explaining each error
Fix the issues in your original file and re-import only the failed rows
Product Categories
Category Tree attributes expect either the ID of the leaf node, or the leaf node name.
For example: 3906 - Sporting Goods > Athletics > Tennis > Tennis Racquets
You can import either 3906 or Tennis Racquets as the value.
Users can also map their category headers to custom text attributes if they don't match the configured tree
Language Support
Headers should be in English for auto-mapping to work
Headers in other languages can be mapped manually
Cell content can be in any language (UTF-8 supported)
Products are imported at the main level — not under any locale
Need Help? Reach out to your Customer Success Representative.












