Imports products and product variants into Sapera from a file (CSV/Excel) or a SQL source. Each row is matched to an existing product by its identifier; depending on the settings, matching products are updated and unmatched rows are created. Run a Compare first to preview the changes (new / changed / unchanged) before writing to Sapera.
1. Select the action in the Action field. 2. Point to your data source – a file (CSV or Excel) or a SQL query. 3. Map the source columns to Sapera's fields in the column mapping (see Source fields below). 4. Run Compare to see what will be created, changed or stay unchanged – without writing to Sapera. 5. Run Update Sapera to perform the import.
Use the Allow create and Allow update parameters to control whether new rows are created and whether existing ones are updated.
Each row is matched on item number (the Identifier column). If you map ProductOrVariantBarCode instead, matching is done on barcode. Variants are also matched on VariantIdentifier.
Only the products in your source are processed – not the whole catalogue.
Allow create creates unknown products; Allow update updates existing ones.
You can also rename (NewIdentifier), merge (MergeToIdentifier), phase out (IsPhasedOut) and delete or deactivate the matched products.
Direction: from file/SQL into Sapera.
Parameter | Explanation |
AllowAddBarCodes | Allow adding new bar codes found in the source to the product. |
AllowChangeVariant | Allow changing variant data on existing products. |
AllowCreate | Create products that do not already exist in Sapera. When off, unmatched rows are skipped. |
AllowCreateCatalogValues | Create missing catalog values (e.g. field values) referenced by the source instead of failing. |
AllowRemoveBarCodes | Allow removing bar codes that are on the product but not in the source. |
AllowToMergeProducts | Allow merging a product into another product given by the MergeToIdentifier column. |
AllowUpdate | Update existing products with the mapped values. When off, existing products are left untouched. |
AllowUpdateBarCodes | Allow changing the product's bar codes from the source. |
AutoUpdateInstanceSalesPrice | When the product sales price changes, also update the sales price of its instances. |
CategoryMapping | Mapping from source category values to Sapera category identifiers. |
DefaultCategory | Category identifier used when a product has no category in the source. |
DeleteExistingImages | Remove the product's existing images before applying the images from the source. |
ImageFolder | Local folder that image file names/URLs in the image columns are resolved against. |
ImageNoSeparator | Separator used to split several image references contained in a single image column. |
InstanceTemplate | System name of the template applied to serial-number items. |
IsDeactivate | Deactivate (disable) the matched products instead of deleting them. Combined with IsDelete, a product that is already disabled is treated as deactivated rather than deleted. |
IsDelete | Delete the matched products instead of updating them. |
KeepExistingSearchTags | Keep search tags already on the product that are not present in the source. When off, tags missing from the source are removed. |
MakeIntervalPricesApplicable | Make interval (campaign) prices applicable even when the interval price type is disabled. |
OnlyProcessForSupplierIdentifier | Only process products whose main supplier matches this supplier identifier; all others are skipped. |
PriceTypes | Sales-price types the SalesPrice column is applied to (comma separated). Empty uses the default price type. |
RemoveOtherSuppliers | Remove suppliers on the product other than the one in the SupplierIdentifier column. |
ResetStockCountForNotCountedSinceXDays | Reset the stock count to zero for products not counted within the given number of days. Empty disables this. |
RoundSalesPriceUpToNearestInteger | Round imported sales prices up to the nearest whole number. |
SearchTagTypeSystemName | System name of the search-tag type that the SearchTag columns map to. |
SkipProductsUpdatedAfterDateTime | Skip products last changed in Sapera after this date/time, so newer manual changes are not overwritten. |
StockDraft | Name of the stock draft used when importing stock counts. Empty uses the default settlement draft. |
Template | System name of the product template applied to created/updated products. |
TreatProductCreationErrorAsWarning | Report a failure to create a product as a warning instead of an error, so the run continues. |
VariantTemplate | System name of the template applied to product variants. |
Field | Explanation |
BarCode | Product bar code(s). Several codes can be given comma separated. BarCode2/BarCode3 are also available. |
CategoryIdentifier | Identifier of the product category. |
CostPrice | Cost price. |
CurrentPriceType | System name of the price type to set as the product's current price type. |
Description | Product description. |
DisplayName | Product name. |
Ean | EAN / global trade item number (GTIN). |
Identifier | Unique product number. This is the key used to match the row to an existing product (required). |
ImageUrl | Additional product image. ImageUrl1 to ImageUrl12 (with matching ImageDescription1..12) give up to twelve images. |
IncludedInSearch | Whether the product is included in search (true/false). |
IsEnabled | Whether the product is enabled/active (true/false). |
IsPhasedOut | Whether the product is phased out (true/false). |
Location | Stock location name within the current organizational unit. |
ManageStock | Whether the web shop manages stock for this product (true/false). |
ManufactorIdentifier | Identifier of the manufacturer. |
MergeToIdentifier | Identifier of the product this product should be merged into (requires AllowToMergeProducts). |
NewIdentifier | New product number to rename the product to. |
PhasedOutReplaceNumber | Product number of the replacement product when phased out. |
PrimaryImageUrl | URL or file name of the product's primary image (resolved against ImageFolder). PrimaryImageDescription holds its text. |
ProductKind | Product kind (e.g. Standard, Variant, Instance). |
ProductOrVariantBarCode | Bar code used as the identifier instead of the product number. When mapped, products/variants are matched by bar code. |
SalesPrice | Sales price (applied to the price types in the PriceTypes parameter). |
SearchTag | Search tag. SearchTag1 to SearchTag6 let you assign up to six tags per product. |
StockCount | Stock count to register (uses the stock draft from the StockDraft parameter). |
SupplierCostPrice | Cost price for this supplier. |
SupplierIdentifier | Identifier of the product's supplier. |
SupplierProductIdentifier | The supplier's own product number for this product. |
SupplierProductIsMain | Whether this supplier is the product's main supplier (true/false). |
UsePurchaseQuantitySettings | Use purchase-quantity settings (MinQuantity/MaxQuantity) for the product (true/false). |
VariantBarCode | Variant bar code(s), comma separated. VariantBarCode2/VariantBarCode3 are also available. |
VariantCostPrice | Cost price for the variant. |
VariantDisplayName | Variant name. |
VariantIdentifier | Variant identifier. Combined with the product identifier as 'product@variant' to address a specific variant. |
VariantIdentifierOrBarCode | Variant identifier or, if none, the variant bar code - used to address the variant when the source has no separate variant id. |
VariantSalesPrice | Sales price for the variant. |
WebDisplayName | Product name shown in the web shop. |
WebLongDescription | Long product description for the web shop (WebShortDescription holds the short text). |
WebShopCategory | Web shop category. WebShopCategory1 to WebShopCategory6 let you assign up to six categories. |
WeightInGrams | Weight in grams. Width, Height and Length (in mm) are available as separate columns. |
See also the overview SyncTool – actions.
Want to know more?
Read more in these related articles:
Standard parameters for all actions
The general parameters available on most SyncTool actions: step control, error handling, timeout, etc.