# Import Export

# Summary

This section is used to manage products in bulk. It can be used to export and import Product information via CSVs.

There are five files, each of which may be exported and imported.

<p class="callout info">It is possible to use this feature to edit existing products *and* create new products</p>

### File Types

There are five file types:

- [Product (Variant)](https://bookstack.iconography.co.uk/books/import-export/page/product-data "Products")
- [Category Association](https://bookstack.iconography.co.uk/books/import-export/page/category-association "Category Association")
- [Customisations](https://bookstack.iconography.co.uk/books/import-export/page/customisations-aka-made-to-order "Made to Order options (Customisations)")
- [Images](https://bookstack.iconography.co.uk/books/import-export/page/images "Images Import")
- [Cost Prices](https://bookstack.iconography.co.uk/books/general/page/cost-prices "Cost Prices")

<p class="callout info">There are additional exports and imports, including ones for [Price Management](https://bookstack.iconography.co.uk/books/price-management "Price Management"), [Purchase Orders](https://bookstack.iconography.co.uk/books/purchase-orders "Purchase Orders") and via the [Bulk Update](https://bookstack.iconography.co.uk/books/bulk-update "Bulk Update") and [Product Lookup](https://bookstack.iconography.co.uk/books/product-lookup "Product Lookup") tools; all of these files may be imported here</p>

### Field Mapping

When importing a file, you will need to ensure that the columns in your spreadsheet are mapped to IXO Commerce database fields. Your column headers will be shown on the left hand side of a table; choose from the drop down to match to a field.

<p class="callout danger">Mistakes made here may have serious impact on your Product database.</p>

[![image.png](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/scaled-1680-/22gimage.png)](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/22gimage.png)

IXO Commerce will attempt to match fields to columns based where possible.

> When managing Product (Variant) imports, it is also possible to create pre-sets

### FAQs

#### When will a new Product be created?

If you are uploading a Product (Variant) import, the system will perform a lookup for the SKU codes in your spreadsheet. If the SKU code exists, that Variant will be updated to match the data in your spreadsheet. If it does not exist, a new one will be created.

####   

# File Types



# Product Data

This may be used as an Import or an Export.

### Export

Use these filters to limit which columns are exported.

[![image.png](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/scaled-1680-/8vDimage.png)](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/8vDimage.png)

Use the filters to narrow your selection, then click 'Export'. This will generate a file that will include all Products that match your filters.

The export will include one row for each Variant linked to those Products.

[![image.png](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/scaled-1680-/5JEimage.png)](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/5JEimage.png)

#### Presets

It is possible to build Export presets. These provide a shortcut to which columns will be output.

You can either choose an existing preset from the drop down, or select 'new preset' If you do so, you will be prompted to enter a preset name, and select the required fields. That preset will then be available for future exports.

<p class="callout info">The SKU Code is always exported as the first column.</p>

### Import

Make changes to the file and import it to update Products.

When imported, the file will perform these two functions for each row:

1. If the SKU Code already exists in the database, then it will be updated as per the data in the spreadsheet
2. If the SKU Code does not exist, then a new Product will be created (see below for more details)

<p class="callout info">It is not possible to remove data using this method; blank cells will be ignored</p>

#### Merging Products

When creating a new Product, it is possible tomerge multiple rows into a Product with multiple Variants.

To do so, each row must share the same Name and ProdRef.

New Products with the same Name and ProdRef will be automatically merged on creation.

#### Field Summary

<table border="1" id="bkmrk-field-purpose-code-s" style="border-collapse: collapse; width: 100%; height: 4866.55px;"><colgroup><col style="width: 50.0477%;"></col><col style="width: 50.0477%;"></col></colgroup><thead><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Field</td><td style="height: 29.7969px;">Purpose</td></tr></thead><tbody><tr style="height: 104.188px;"><td height="19" style="height: 104.188px; width: 48pt;" width="64">code</td><td style="height: 104.188px;">*Sku Code (alphanumeric, mandatory, max 80 characters)*

<p class="callout info">*This field will not accept special characters; please limit your entries to letters, numbers, '-' and '.'*</p>

</td></tr><tr style="height: 87.3906px;"><td height="19" style="height: 87.3906px;">barcode</td><td style="height: 87.3906px;">*Barcode field (alphanumeric)*

<p class="callout info">*This will be autogenerated if left blank*</p>

</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">mpn</td><td style="height: 29.7969px;">*Manufacturer's Part Number (alphanumeric, stored per Variant)*

</td></tr><tr style="height: 104.188px;"><td height="19" style="height: 104.188px;">prodref</td><td style="height: 104.188px;">*Product Reference*

<p class="callout info">*This is used to link Products as separate Products, or to merge new Variants into a new Product (see above)*</p>

</td></tr><tr style="height: 35.3906px;"><td height="19" style="height: 35.3906px;">department</td><td style="height: 35.3906px;">*This powers the [Sales by Department](https://bookstack.iconography.co.uk/books/sales-reports/page/sales-by-department "Sales by Department") report (alphanumeric)*</td></tr><tr style="height: 46.5938px;"><td height="19" style="height: 46.5938px;">nominal</td><td style="height: 46.5938px;">*This field typically forms part of an integration with an accounts package*</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">commodity</td><td style="height: 29.7969px;">*Enter the Commodity Code of the product (for use with exports)*</td></tr><tr style="height: 63.3906px;"><td height="19" style="height: 63.3906px;">origin</td><td style="height: 63.3906px;">*Enter the Country of Origin (enter the country code, e.g. GB)*

*This is only required when exporting*

</td></tr><tr style="height: 197.766px;"><td height="19" style="height: 197.766px;">name</td><td style="height: 197.766px;">*The Name of the Product (mandatory)*

*Displays as the page title (also known as the H1 Text) and is also output on Product Listing Pages, as well as being the primary field for search results*

*Also used as the Meta-Title by default*

  
*This may be used to merge new Variants into a new Product (see above)*

</td></tr><tr style="height: 57.7812px;"><td height="19" style="height: 57.7812px;">manufacturersproductname</td><td style="height: 57.7812px;">*If populated, this will replace the Product Name on all [Purchase Orders](https://bookstack.iconography.co.uk/books/purchase-orders "Purchase Orders")*</td></tr><tr style="height: 63.3906px;"><td height="19" style="height: 63.3906px;">price</td><td style="height: 63.3906px;">*The selling price of the Variant*

*Defaults to 0*

</td></tr><tr style="height: 68.9844px;"><td height="19" style="height: 68.9844px;">rrp</td><td style="height: 68.9844px;">*The RRP of the [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants"), to show on the website*

*Defaults to 0*

</td></tr><tr style="height: 102.578px;"><td height="19" style="height: 102.578px;">offerprice</td><td style="height: 102.578px;">*A retail offer price for the [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants") (this will supersede the Retail field), if enabled by the Offer Start/Expiry*

*Defaults to 0*

</td></tr><tr style="height: 80.1875px;"><td height="19" style="height: 80.1875px;">offerstart</td><td style="height: 80.1875px;">*Date until which the Retail/Trade Offer price should apply*

*If left blank, the Retail/Trade Offer price will apply unless an start date has been set in the future*

</td></tr><tr style="height: 80.1875px;"><td height="19" style="height: 80.1875px;">offerexpiry</td><td style="height: 80.1875px;">*Date from which the Retail/Trade Offer price should apply*

*If left blank, the Retail/Trade Offer price will apply unless an expiry date has been set in the past*

</td></tr><tr style="height: 204.953px;"><td height="19" style="height: 204.953px;">costprice</td><td style="height: 204.953px;">*The cost price of the [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants")*

*Defaults to 0*

*May be set per [Supplier](https://bookstack.iconography.co.uk/books/categories/page/suppliers "Suppliers") enabled for this Product*

<p class="callout info">*This may only be used if the Product is linked to a single Supplier. If there are multiple Suppliers, you will need to use the [Cost Price](https://bookstack.iconography.co.uk/books/import-export/page/cost-price "Cost Price") import.* </p>

</td></tr><tr style="height: 165.203px;"><td height="19" style="height: 165.203px;">vat</td><td style="height: 165.203px;">*Select the VAT status of this [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants") - choose from:*

- *Standard*
- *Reduced*
- *Zero*
- *Exempt*

*VAT rates for Standard and Reduced are controlled via [Countries](https://bookstack.iconography.co.uk/books/countries "Site Settings")*

</td></tr><tr style="height: 124.969px;"><td height="19" style="height: 124.969px;">lowstock</td><td style="height: 124.969px;">*Use this to set a low stock threshold, e.g. '7'*

*If the stock level is below this level, a warning will be show on your website and the [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants") will appear within the [Low Stock](https://bookstack.iconography.co.uk/books/stock-reports/page/low-stock) report*

*This will also be used to drive [Replenishment](https://bookstack.iconography.co.uk/books/replenishment)*

</td></tr><tr style="height: 68.9844px;"><td height="19" style="height: 68.9844px;">highstock</td><td style="height: 68.9844px;">*Use this to set a minimum stock level, e.g. '5'*

*This will be used to drive [Replenishment](https://bookstack.iconography.co.uk/books/replenishment)*

</td></tr><tr style="height: 52.1875px;"><td height="19" style="height: 52.1875px;">stocktext</td><td style="height: 52.1875px;">*A label that will display on the [Product Detail Page](https://bookstack.iconography.co.uk/books/product-detail-page "Product Detail Page") if this [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants") has been selected*</td></tr><tr style="height: 57.7812px;"><td height="19" style="height: 57.7812px;">allowbackorder</td><td style="height: 57.7812px;">*This sets whether the [Product](https://bookstack.iconography.co.uk/books/categories/page/product "Product") may be sold without stock, e.g. [Sales Orders](https://bookstack.iconography.co.uk/books/sales-orders "Sales Orders") will be fulfilled by a back to back [Purchase Order](https://bookstack.iconography.co.uk/books/purchase-orders "Purchase Orders") (yes/no)*</td></tr><tr style="height: 68.9844px;"><td height="19" style="height: 68.9844px; width: 48pt;" width="64">allowpreorder</td><td style="height: 68.9844px;">*This will determine whether stock 'on the water', e.g. on a submitted [Purchase Order](https://bookstack.iconography.co.uk/books/purchase-orders "Purchase Orders") that has not yet been received, will be displayed as available stock on your website (yes/no)*</td></tr><tr style="height: 96.9844px;"><td height="19" style="height: 96.9844px;">postagetypes</td><td style="height: 96.9844px;"> *Enter postage type 'codes' in a comma delimtied list, e.g. 'standard,collect'.*

*Default postage types will be applied automatically to new Products*

</td></tr><tr style="height: 80.1875px;"><td height="19" style="height: 80.1875px;">deliverytext</td><td style="height: 80.1875px;">*Text entered in this field will display to the customer on the website if the product has available free stock*

*If left blank, this will default to 'In Stock'*

</td></tr><tr style="height: 119.375px;"><td height="19" style="height: 119.375px;">deliverytext2</td><td style="height: 119.375px;">*Text entered in this field will display to the customer on the website if the product does not have available free stock*

*If left blank, this will default to 'Out of Stock', or, if enabled for allowbackorder on the [Inventory](https://bookstack.iconography.co.uk/books/categories/page/inventory "Inventory") tab, it will default to 'Available (allow XXXXXX days for delivery)'*

</td></tr><tr style="height: 35.3906px;"><td height="19" style="height: 35.3906px;">leadtime</td><td style="height: 35.3906px;">*Set the leadtime (total days) for the [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants")*</td></tr><tr style="height: 109.781px;"><td height="19" style="height: 109.781px;">brandname</td><td style="height: 109.781px;">*This adds a [Brand ](https://bookstack.iconography.co.uk/books/brands "Brands")to a product*

<p class="callout info">*This will text match to an existing entry; if a matching entry does not exist, it will be created*</p>

</td></tr><tr style="height: 200.969px;"><td height="19" style="height: 200.969px;">supplier</td><td style="height: 200.969px;">*This section is used to add [Suppliers](https://bookstack.iconography.co.uk/books/suppliers) for a product. If not manually set, the default is to apply none.*

<p class="callout info">*If you are using multiple Suppliers for a single product, these may be added as a comma delimited list*</p>

<p class="callout info">*This will text match to an existing entry; if a matching entry does not exist, it will be created*</p>

</td></tr><tr style="height: 126.578px;"><td height="19" style="height: 126.578px;">collection</td><td style="height: 126.578px;">*This section is used to add [Collections](https://bookstack.iconography.co.uk/books/collections "Collections") to a product. If not manually set, the default is to apply none.*

<p class="callout info">*This will text match to an existing entry; if a matching entry does not exist, it will be created*</p>

</td></tr><tr style="height: 120.984px;"><td height="19" style="height: 120.984px;">summary</td><td style="height: 120.984px;">*This field allows for a simple summary of the product, with simple formatting*

<p class="callout info">*This may be uploaded with HTML to apply basic formatting*</p>

</td></tr><tr style="height: 120.984px;"><td height="19" style="height: 120.984px;">description</td><td style="height: 120.984px;">*This field controls the Product Description; formatting may be added to this using the controls at the top of the screen*

<p class="callout info">*This may be uploaded with HTML to apply basic formatting*</p>

</td></tr><tr style="height: 85.7812px;"><td height="19" style="height: 85.7812px;">tab1 to tab 4</td><td style="height: 85.7812px;">*If populated, this will add a new product information tab onto the product page; this field will provide the title of that tab*

*This will display in the same manner as a [Global Tab](https://bookstack.iconography.co.uk/books/global-tabs "Global Tabs")*

</td></tr><tr style="height: 46.5938px;"><td height="19" style="height: 46.5938px;">tab1to tab 4 content</td><td style="height: 46.5938px;">*This will form the content of a custom tab; this is populated as per the Product Description*</td></tr><tr><td>Merge Tag Title</td><td>*The title used on linked eCommerce Products*

*Used in Conjunction with Product Reference*

<p class="callout info">*Note that this field is optional for linked Products*</p>

</td></tr><tr><td>Merge Tag</td><td>*The label used on linked eCommerce Products*

*If multiple Products have the same Product Reference, they will be linked to the eCommerce Customer if a Merge Tag Title and Merge Tag are entered*

*Used in Conjunction with Product Reference*

<p class="callout info">*Note that this field is mandatory for linked Products*</p>

</td></tr><tr style="height: 80.1875px;"><td height="19" style="height: 80.1875px;">pdftext</td><td style="height: 80.1875px;">*Text entered here will be the link text shown to the customer on your website**This will default to the file name, if left blank*

</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">videoid</td><td style="height: 29.7969px;">*Use this to determine the type of video (Youtube/Vimeo)*

</td></tr><tr style="height: 141.766px;"><td height="19" style="height: 141.766px;">videotype</td><td style="height: 141.766px;">*Enter the ID of the video that you want to attached to the product**You can find the video ID from the URL:*

*[https://www.youtube.com/watch?v=](https://www.youtube.com/watch?v=dQw4w9WgXcQ)<span style="background-color: rgb(248, 202, 198);">[dQw4w9WgXcQ](https://www.youtube.com/watch?v=dQw4w9WgXcQ) </span>*

*[https://vimeo.com/<span style="background-color: rgb(248, 202, 198);">794492622</span>](https://bookstack.iconography.co.uk/uploads/images/gallery/2024-09/ahsimage.png)*

</td></tr><tr style="height: 35.3906px;"><td height="19" style="height: 35.3906px;">weight</td><td style="height: 35.3906px;">*Dimension of the [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants") (kg)*</td></tr><tr style="height: 35.3906px;"><td height="19" style="height: 35.3906px;">volume</td><td style="height: 35.3906px;">*Dimension of the [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants") (m3)*</td></tr><tr style="height: 35.3906px;"><td height="19" style="height: 35.3906px;">unitwidth</td><td style="height: 35.3906px;">*Dimension of the [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants") (cm)*</td></tr><tr style="height: 35.3906px;"><td height="19" style="height: 35.3906px;">unitdepth</td><td style="height: 35.3906px;">*Dimension of the [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants") (cm)*</td></tr><tr style="height: 35.3906px;"><td height="19" style="height: 35.3906px;">unitlength</td><td style="height: 35.3906px;">*Dimension of the [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants") (cm)*</td></tr><tr style="height: 35.3906px;"><td height="19" style="height: 35.3906px; width: 48pt;" width="64">unitheight</td><td style="height: 35.3906px;">*Dimension of the [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants") (cm)*</td></tr><tr style="height: 108.172px;"><td height="19" style="height: 108.172px;">cartons</td><td style="height: 108.172px;">*The number of Cartons in which this [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants") is delivered from your Supplier*

*This will determine the number of product labels which will be printed from the [Label Printing](https://bookstack.iconography.co.uk/books/label-printing) screen, or at [Goods In](https://bookstack.iconography.co.uk/books/goods-in)*

</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">productlive</td><td style="height: 29.7969px;">*Defines the Product Status (yes/no)*</td></tr><tr style="height: 169.766px;"><td height="19" style="height: 169.766px;">variantlive</td><td style="height: 169.766px;">*Sets whether this [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants") is live*

*It is possible to have a Product with multiple Variants where some are not live*

*If all Variants are set 'Variant Live' to No, then the Product will be disabled.*

*Defaults to Yes*

</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">buyonline</td><td style="height: 29.7969px;">*Defines whether the Product can be bought online (yes/no)*</td></tr><tr style="height: 96.9844px;"><td height="19" style="height: 96.9844px;">visibility</td><td style="height: 96.9844px;">*By default, all products will be visible on your website, but this setting allows you to determine visibility of the product within the POS, or across multiple websites*

*Enter a comma delimited list, e.g. website/instore*

</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">featuredhome</td><td style="height: 29.7969px;">*Toggle to feature the product on the Home Page*</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">featured</td><td style="height: 29.7969px;">*Toggle to feature the product on Category Pages*</td></tr><tr style="height: 119.375px;"><td height="19" style="height: 119.375px;">freeshipping</td><td style="height: 119.375px;">*Determines whether this [Variant](https://bookstack.iconography.co.uk/books/categories/page/variants "Variants") receives free shipping*

*This will only apply to orders within which all items have this enabled*

*(yes/no)*

</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">disallowdiscounts</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 35.3906px;"><td height="19" style="height: 35.3906px;">swatchwizard</td><td style="height: 35.3906px;">*Toggle to enable the [Swatch Wizard](https://bookstack.iconography.co.uk/books/product-detail-page/page/swatch-wizard) (yes/no)*</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">multiswatch</td><td style="height: 29.7969px;">*Toggle to combine variants within the Swatch Wizard (yes/no)*

<p class="callout info">*This controls the following field against the Product: 'Combine variant and swatch selection in Swatch Wizard if applicable (enables "multiswatch")'*</p>

<p class="callout warning">*This will not be available if multiple layers of Variant option are on a product, e.g. 'Size' and 'Colour'*</p>

<p class="callout warning">*This will not be available if any live Variant has no Customisations*</p>

</td></tr><tr><td>previewswatch</td><td>*Enables [swatch preview panel](https://bookstack.iconography.co.uk/books/general/page/swatch-panel) (yes/no)*

*Made to Order Products only*

</td></tr><tr style="height: 91.375px;"><td height="19" style="height: 91.375px;">requestaswatch</td><td style="height: 91.375px;">*Toggle to enable the [Swatch Request Popup](https://bookstack.iconography.co.uk/books/product-detail-page/page/swatch-request-popup) (yes/no)**([Swatches](https://bookstack.iconography.co.uk/books/swatches "Swatches") must be enabled for the Swatch Request tool for this to function)*

</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">itemcondition</td><td style="height: 29.7969px;">*Choose if a product is 'New' or 'Used'*</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">meta\_title</td><td style="height: 29.7969px;">*Use this to set a manual Meta Title*</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">meta\_description</td><td style="height: 29.7969px;">*Use this to set a manual Meta Description*</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">meta\_keywords</td><td style="height: 29.7969px;">*Use this to set your Meta Keywords*</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">google\_product\_type</td><td style="height: 29.7969px;">*Use this to override the Google Category assigned to this product*

*May be left blank*

*By default, this will inherit the setting in the [Product's](https://bookstack.iconography.co.uk/books/categories/page/product "Product") parent [Category](https://bookstack.iconography.co.uk/books/categories/chapter/categories "Categories") (the Category that this is taken from will be clearly listed here as 'default')*

</td></tr><tr style="height: 46.5938px;"><td height="19" style="height: 46.5938px;">excludefinance</td><td style="height: 46.5938px;">*Baskets that include this Product will not be permitted to checkout with finance (eCommerce)*

</td></tr><tr><td>allowvatremoval</td><td>*Enables the ability to exempt this Product from VAT, either in the POS or the CMS*

</td></tr><tr style="height: 104.188px;"><td height="19" style="height: 104.188px;">option1 to 3 name</td><td style="height: 104.188px;">*Enter an Option Name for the Product*

<p class="callout info">*This will text match to an existing entry; if a matching entry does not exist, it will be created*</p>

</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">option1 to 3</td><td style="height: 29.7969px;">*Enter an Option Value for the Variant*</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">related</td><td style="height: 29.7969px;">*Enter a comma delimited list of SKU codes as Related items*</td></tr><tr style="height: 29.7969px;"><td height="19" style="height: 29.7969px;">upsells</td><td style="height: 29.7969px;">*Enter a comma delimited list of SKU codes as Upsells*</td></tr><tr style="height: 35.3906px;"><td height="19" style="height: 35.3906px;">productaddons</td><td style="height: 35.3906px;">*Enter a comma delimited list of [Addon](https://bookstack.iconography.co.uk/books/addons "Addons") SKU codes*</td></tr><tr style="height: 63.3906px;"><td height="19" style="height: 63.3906px;">prodid</td><td style="height: 63.3906px;">*Export only*

*This will export the Product ID of the selected Product*

</td></tr></tbody></table>

#### Mapping

You will need to map your data before it can be imported.

<p class="callout success">It is highly recommended that your import file should only include the columns for the fields that you are intending to edit, and nothing else.</p>

<p class="callout danger">Mistakes made here may have serious impact on your Product database.</p>

# Category Association

This may be used as an Import or an Export.

The file looks like this:

[![image.png](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/scaled-1680-/v8Zimage.png)](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/v8Zimage.png)

### Export

Use the filters to narrow your selection, then click 'Export'. This will generate a file that will include all Customisations for products that match your filters.

[![image.png](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/scaled-1680-/yQfimage.png)](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/yQfimage.png)

### Import

Make changes to the file and import it to update Products; this will update Category associations.

When exported, the file will include every Category association belonging to a Product; this may mean a single SKU code could be repeated over multiple rows. The file is split into multiple columns, with each part of the Category hierarchy having its own column.

On import, if the specific Category does not exist (text match), one will be created.

Then, if an association does not exist between the specificed SKU and Category, one will be created.

<p class="callout warning">It is possible to create Categories in bulk using this import; be wary of typos, e.g. 'Sofa' and 'Sofas'</p>

<table border="1" id="bkmrk-field-purpose-code-t" style="width: 100%;"><colgroup><col style="width: 49.4519%;"></col><col style="width: 50.5243%;"></col></colgroup><thead><tr><td>Field</td><td>Purpose</td></tr></thead><tbody><tr><td>Code

</td><td>*A SKU Code of the Product*

*There is no need to link every Variant of a Product; just one will do*

</td></tr><tr><td>Category1</td><td>*The top level Category of this heirarchy*

</td></tr><tr><td>Category2</td><td>*The second level Category of this heirarchy*

<p class="callout info">*Optional - if left blank, the product will only be added at the previous Category level*</p>

</td></tr><tr><td>Category3</td><td>*The third level Category of this heirarchy*

<p class="callout info">*Optional - if left blank, the product will only be added at the previous Category level*</p>

</td></tr><tr><td>Category4</td><td>*The fourth level Category of this heirarchy*

<p class="callout info">*Optional - if left blank, the product will only be added at the previous Category level*</p>

</td></tr></tbody></table>

#### Mapping

You will need to map your data before it can be imported. Included below is the optimal mapping/spreadsheet structure.

<p class="callout danger">Mistakes made here may have serious impact on your Product database.</p>

If you check the box 'remove existing Categories', this will wipe all pre-existing associations from Products in your upload file.

<p class="callout danger">Removing existing associations is dangerous, and may have a serious impact on your Product Database</p>

[![image.png](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/scaled-1680-/6Dpimage.png)](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/6Dpimage.png)

# Customisations (AKA 'Made to Order')

This may be used as an Import or an Export option.

The file looks like this:

[![image.png](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-09/scaled-1680-/9Mlimage.png)](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-09/9Mlimage.png)

### Export

Use the filters to narrow your selection, then click 'Export'. This will generate a file that will include all Customisations for products that match your filters.

[![image.png](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-09/scaled-1680-/YMYimage.png)](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-09/YMYimage.png)

### Import

Make changes to the file and import it to update Products. Any changes here will be added to existing Customisations.

It is possible to remove existing Customisations when you upload a file by using he 'remove existing MTO options tickbox'.

<p class="callout danger">Please be aware that removing Customisations in bulk is risky and could result in Customisations being removed incorrectly.</p>

<table border="1" id="bkmrk-field-purpose-code-t" style="border-collapse: collapse; width: 100%; height: 1148px;"><colgroup><col style="width: 50.0477%;"></col><col style="width: 50.0477%;"></col></colgroup><thead><tr style="height: 29.6px;"><td style="height: 29.6px;">Field</td><td style="height: 29.6px;">Purpose</td></tr></thead><tbody><tr style="height: 46.4px;"><td style="height: 46.4px;">Code

</td><td style="height: 46.4px;">*The SKU Code of the Variant to which the Customisations are linked*</td></tr><tr style="height: 137.6px;"><td style="height: 137.6px;">Product</td><td style="height: 137.6px;">*The Product Name to which the Customisations are linked - Variant Option Values are also appended to this, to differentiate between Variants*

<p class="callout info">*This is for reference purposes only, and changes here will not be updated within the system.*</p>

</td></tr><tr style="height: 92.8px;"><td style="height: 92.8px;">Option Name</td><td style="height: 92.8px;">*The Name associated with the Customisation, e.g. 'Size' or 'Colour'*

<p class="callout info">*Adding a new entry here may create a new [Option](https://bookstack.iconography.co.uk/books/options "Options")*</p>

</td></tr><tr style="height: 29.6px;"><td style="height: 29.6px;">Option Value</td><td style="height: 29.6px;">*The Value associated with the Customisation, e.g. 'Small' or 'Red'*</td></tr><tr style="height: 120.8px;"><td style="height: 120.8px;">Option Price</td><td style="height: 120.8px;">*The additional price to the customer associated with this Customisation, e.g. selecting 'Gold Feet' may add £49.99 to the price*

<p class="callout warning">*Enter in this format only: '0.00'*</p>

</td></tr><tr><td>  
</td><td>*Additional value to be added to the Special Offer price of the Variant*

<p class="callout info">*This will only apply during a Special Offer period, as defined by the Variant*</p>

<p class="callout warning">*Enter in this format only: '0.00'*</p>

</td></tr><tr style="height: 104px;"><td style="height: 104px;">Option Percent</td><td style="height: 104px;">*The additional price to the customer associated with this Customisation, e.g. selecting 'Cotton' may add 10% to the price*

<p class="callout warning">*Enter in this format only: '0.00'*</p>

</td></tr><tr style="height: 104px;"><td style="height: 104px;">Option Cost</td><td style="height: 104px;">*The additional cost associated with this Customisation, e.g. selecting 'Gold Feet' may add £49.99 to the price*

<p class="callout warning">*Enter in this format only: '0.00'*</p>

</td></tr><tr style="height: 92.8px;"><td style="height: 92.8px;">Swatch Group</td><td style="height: 92.8px;">*The Swatch Group linked to this Customisation.*

<p class="callout info">*Adding a new entry here may create a new [Swatch Group](https://bookstack.iconography.co.uk/books/swatches/page/swatch-groups "Swatch Groups")*</p>

</td></tr><tr style="height: 160px;"><td style="height: 160px;">Swatch Name</td><td style="height: 160px;">*The Swatch Group linked to this Customisation.*

*On upload, if a Swatch Name matching this entry exists within the Swatch Group (see above), that Swatch will be linked to this customisation.*

<p class="callout info">*Adding a new entry here may create a new [Swatch](https://bookstack.iconography.co.uk/books/swatches/page/swatches "Swatches")*</p>

</td></tr><tr style="height: 137.6px;"><td style="height: 137.6px;">Swatch Image</td><td style="height: 137.6px;">*The link to the Swatch Image that is linked to this Customisation*

<p class="callout info">*If you are creating a new Swatch Group, or there is no Swatch with a corresponding Swatch Name within an existing Swatch Group, and you have entered a link here, it will import that Swatch Image and create a new Swatch*</p>

</td></tr><tr style="height: 29.6px;"><td style="height: 29.6px;">Image Link Ref</td><td style="height: 29.6px;">This shows a link to an existing Variant Image, if one exsists</td></tr><tr><td>POS Only</td><td>*Toggles whether this particular Customisation Value is available to eCommerce Customers*</td></tr><tr style="height: 63.2px;"><td style="height: 63.2px;">Child Option</td><td style="height: 63.2px;">*Use this to set up interrelated options, e.g. choices for 'Choose Pattern/Plain' could lead to Child Options of 'Choose Plain Colour' and 'Choose Pattern Colour'*</td></tr></tbody></table>

#### Mapping

You will need to map your data before it can be imported. Included below is the optimal mapping/spreadsheet structure.

<p class="callout danger">Mistakes made here may have serious impact on your Product database.</p>

<p class="callout danger">Please be aware that removing Customisations in bulk is risky and could result in Customisations being removed incorrectly unless done with care. </p>

[![image.png](https://bookstack.iconography.co.uk/uploads/images/gallery/2026-03/scaled-1680-/DB2image.png)](https://bookstack.iconography.co.uk/uploads/images/gallery/2026-03/DB2image.png)

# Images

This may be used as an Import or an Export option.

The file looks like this:

[![image.png](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/scaled-1680-/PElimage.png)](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/PElimage.png)

### Export

Use the filters to narrow your selection, then click 'Export'. This will generate a file that will include all Images for Products that match your filters.

One Product may have multiple images, in which case these will be split over multiple lines.

[![image.png](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/scaled-1680-/qiDimage.png)](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/qiDimage.png)

### Import

Make changes to the file and import it to update Products. If the image does not exist, a new one will be imported.

<table border="1" id="bkmrk-field-purpose-code-t" style="width: 99.6429%; height: 387.36px;"><colgroup><col style="width: 48.5647%;"></col><col style="width: 51.4353%;"></col></colgroup><thead><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Field</td><td style="height: 29.7969px;">Purpose</td></tr></thead><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Code

</td><td style="height: 29.7969px;">*The SKU Code of the Variant to which the Images are linked*</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Image</td><td style="height: 29.7969px;">*The link to the image.*

*If importing from a URL, enter the full URL, e.g. [www.example.com/image.jpg](https://www.example.com/image.jpg)*

*If importing from the server via FTP, just enter the image name, e.g. image.jpg*

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Alt</td><td style="height: 29.7969px;">*The alt text for the image*

<p class="callout info">*Defaults to the image name if not entered*</p>

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Display</td><td style="height: 29.7969px;">*Enter 'yes' or 'no'*</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Image Number</td><td style="height: 29.7969px;">*Used for image sequencing*

*Enter a number*

*New images are added in the same order as the spreadsheet*

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Colour</td><td style="height: 29.7969px;">*Use this to link a Colour to the image for eCommerce [Filters](https://bookstack.iconography.co.uk/books/product-listing-page/page/filters)*</td></tr></tbody></table>

#### Mapping

You will need to map your data before it can be imported. Included below is the optimal mapping/spreadsheet structure.

<p class="callout danger">Mistakes made here may have serious impact on your Product database.</p>

[![image.png](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/scaled-1680-/BGvimage.png)](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/BGvimage.png)

#### Adding Images via FTP

#### <span class="TextRun SCXW41209475 BCX0" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0" data-ccp-parastyle="heading 2">Step 1: Prepar</span><span class="NormalTextRun SCXW41209475 BCX0" data-ccp-parastyle="heading 2">ing</span><span class="NormalTextRun SCXW41209475 BCX0" data-ccp-parastyle="heading 2"> your images for upload</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{"134245418":true,"134245529":true,"201341983":0,"335559738":40,"335559739":0,"335559740":360}"> </span>

<span class="TextRun SCXW41209475 BCX0" data-contrast="auto" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0">To use the IXO images CSV upload your image files are required to be in a single folder</span><span class="NormalTextRun SCXW41209475 BCX0">, i</span><span class="NormalTextRun SCXW41209475 BCX0">t is </span><span class="NormalTextRun SCXW41209475 BCX0">also </span><span class="NormalTextRun SCXW41209475 BCX0">recommended that you name your image</span><span class="NormalTextRun SCXW41209475 BCX0"> files</span><span class="NormalTextRun SCXW41209475 BCX0"> as the product SKU to make </span><span class="NormalTextRun SCXW41209475 BCX0">S</span><span class="NormalTextRun SCXW41209475 BCX0">tep</span><span class="NormalTextRun SCXW41209475 BCX0"> 2</span><span class="NormalTextRun SCXW41209475 BCX0"> easier.</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{}"> </span>

<span class="TextRun SCXW41209475 BCX0" data-contrast="auto" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0">Example folder of product images prepared for upload:</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{}"> </span>

<span class="SCXW41209475 BCX0"><span class="WACImageContainer NoPadding BlobObject SCXW41209475 BCX0" role="presentation">![](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/embedded-image-muhhbvrm.png)</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{}"> </span>

#### <span class="TextRun SCXW41209475 BCX0" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0" data-ccp-parastyle="heading 2">Step 2: Creat</span><span class="NormalTextRun SCXW41209475 BCX0" data-ccp-parastyle="heading 2">ing the images</span><span class="NormalTextRun SCXW41209475 BCX0" data-ccp-parastyle="heading 2"> CSV file</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{"134245418":true,"134245529":true,"201341983":0,"335559738":40,"335559739":0,"335559740":360}"> </span>

<span class="TextRun SCXW41209475 BCX0" data-contrast="auto" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0">Fill</span><span class="NormalTextRun SCXW41209475 BCX0"> out the example images </span><span class="NormalTextRun SCXW41209475 BCX0">CSV file</span> <span class="NormalTextRun SCXW41209475 BCX0">provided by Iconography along with this guide </span><span class="NormalTextRun SCXW41209475 BCX0">as per </span><span class="NormalTextRun SCXW41209475 BCX0">the </span><span class="NormalTextRun SCXW41209475 BCX0">example</span><span class="NormalTextRun SCXW41209475 BCX0"> line in the CSV.</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{"201341983":0,"335559740":240}"> </span>

<span class="TextRun SCXW41209475 BCX0" data-contrast="auto" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0">Ensure </span><span class="NormalTextRun SCXW41209475 BCX0">the </span><span class="NormalTextRun SCXW41209475 BCX0">“image” field is filled with the </span><span class="NormalTextRun SCXW41209475 BCX0">file</span> <span class="NormalTextRun SCXW41209475 BCX0">name </span><span class="NormalTextRun SCXW41209475 BCX0">and file type (png or jpg) </span><span class="NormalTextRun SCXW41209475 BCX0">exactly as it is in the </span><span class="NormalTextRun SCXW41209475 BCX0">folder you prepared in Step 1.</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{"201341983":0,"335559740":240}"> </span>

#### <span class="TextRun SCXW41209475 BCX0" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0" data-ccp-parastyle="heading 2">Step 3: Uploading your images</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{"134245418":true,"134245529":true,"201341983":0,"335559738":40,"335559739":0,"335559740":360}"> </span>

<span class="TextRun SCXW41209475 BCX0" data-contrast="auto" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0">Upon opening FileZilla (free to download if not already using this system</span> </span>[<span class="TextRun Underlined SCXW41209475 BCX0" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0" data-ccp-charstyle="Hyperlink">https://filezilla-project.org/download.php?type=client</span></span>](https://filezilla-project.org/download.php?type=client)<span class="TextRun SCXW41209475 BCX0" data-contrast="auto" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0">) you’ll see this screen.</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{}"> </span>

<span class="EOP SCXW41209475 BCX0" data-ccp-props="{}"> </span>

<span class="TextRun SCXW41209475 BCX0" data-contrast="auto" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0">The login fields are at the top to enter the details </span></span><span class="TextRun SCXW41209475 BCX0" data-contrast="auto" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0">provided by Iconography along with this guide</span><span class="NormalTextRun SCXW41209475 BCX0"> (contact us if you do not have logins)</span><span class="NormalTextRun SCXW41209475 BCX0">.</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{}"> </span>

<span class="SCXW41209475 BCX0"><span class="WACImageContainer NoPadding BlobObject SCXW41209475 BCX0" role="presentation">![](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/embedded-image-sreh5g19.png)</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{}"> </span>

<span class="TextRun SCXW41209475 BCX0" data-contrast="auto" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0">After clicking Quickconnect, you’ll get this window and you just need to click ‘OK’ to confirm you trust the connection</span><span class="NormalTextRun SCXW41209475 BCX0">.</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{}"> </span>

<span class="SCXW41209475 BCX0"><span class="WACImageContainer NoPadding BlobObject SCXW41209475 BCX0" role="presentation">![](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/embedded-image-bttaantl.png)</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{}"> </span>

<span class="LineBreakBlob BlobObject DragDrop SCXW41209475 BCX0"><span class="SCXW41209475 BCX0"> </span>  
</span><span class="TextRun SCXW41209475 BCX0" data-contrast="auto" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0">You’ll then be logged in and can see any image files already on the server on the bottom right box and files on your computer bottom left box.</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{}"> </span>

<span class="SCXW41209475 BCX0"><span class="WACImageContainer NoPadding BlobObject SCXW41209475 BCX0" role="presentation">![](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/embedded-image-xpkwjlgz.png)</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{}"> </span>

<span class="TextRun SCXW41209475 BCX0" data-contrast="auto" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0">Next in the bottom left box navigate to </span></span><span class="TextRun SCXW41209475 BCX0" data-contrast="auto" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0">the folder you prepared in Step 1</span></span><span class="TextRun SCXW41209475 BCX0" data-contrast="auto" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0"> on your computer.</span><span class="NormalTextRun SCXW41209475 BCX0"> Then </span><span class="NormalTextRun SCXW41209475 BCX0">select all the images </span><span class="NormalTextRun SCXW41209475 BCX0">you’d like to upload </span><span class="NormalTextRun SCXW41209475 BCX0">and drag them into the </span><span class="NormalTextRun SCXW41209475 BCX0">bottom right box.</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{"201341983":0,"335559740":240}"> </span>

<span class="TextRun SCXW41209475 BCX0" data-contrast="auto" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0">In the bottom window it</span><span class="NormalTextRun SCXW41209475 BCX0"> wi</span><span class="NormalTextRun SCXW41209475 BCX0">ll give you an overview of the progress of the file transfer</span><span class="NormalTextRun SCXW41209475 BCX0">.</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{}"> </span>

#### <span class="TextRun SCXW41209475 BCX0" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW41209475 BCX0" data-ccp-parastyle="heading 2">Step 4: Uploading the images CSV file</span></span><span class="EOP SCXW41209475 BCX0" data-ccp-props="{"134245418":true,"134245529":true,"201341983":0,"335559738":40,"335559739":0,"335559740":360}"> </span>

Upload your CSV via the CMS.

# Cost Price

This may be used as an Import or an Export.

The file looks like this:

[![image.png](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/scaled-1680-/u8Timage.png)](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/u8Timage.png)

### Export

[![image.png](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/scaled-1680-/BlIimage.png)](https://bookstack.iconography.co.uk/uploads/images/gallery/2025-10/BlIimage.png)

Select a Supplier - this will export a list of all Variants whose Product has been linked to your selected Supplier.

### Import

<p class="callout info">It is also possible (and may sometimes be preferrable) to use the [Price Management](https://bookstack.iconography.co.uk/books/price-management "Price Management") tool, as this allows for rules based price management, as well as timed price updates</p>

Make changes to the file and import it to update Variants. Any changes here will amend Cost Prices for that Variant.

Changes here will not update the landed cost of existing units of stock; these figures are used for new Purchase Orders and for calculating default margins on Sales Orders.

<table border="1" id="bkmrk-field-purpose-code-t" style="width: 100%;"><colgroup><col style="width: 49.8097%;"></col><col style="width: 50.1665%;"></col></colgroup><thead><tr><td>Field</td><td>Purpose</td></tr></thead><tbody><tr><td>Code

</td><td>*The SKU Code of the Variant*</td></tr><tr><td>Cost Price</td><td>*The Cost Price for the Variant*

</td></tr></tbody></table>

#### Mapping

Your file will not need mapping; it just needs two columns:

| code | cost price |

When uploading your file, you will need to select the Supplier to which the prices should be applied.

<p class="callout info">If you select a Supplier that is not associated with the Products in your file, new associations will be created. </p>

<p class="callout danger">Mistakes made here may have serious impact on your Product database.</p>