The Data Tool can import from CactuShop v6 or v7 (CactuShop is an older classic ASP shopping cart also produced by Cactusoft), from a CSV or Excel spreadsheet, or from another Kartris database.

The basic principle of data imports is to have a source and destination, and copy information from one to the other. In this way, imports and upgrades do not damage or change the original database.

The import dialogs will typically walk you through step-by-step, and give information if there are problems.

The Data Tool requires CSV or spreadsheet data to be suitably formatted for import. We provide sample spreadsheets within the Data Tool ZIP that show the required columns and layout. You will almost certainly need to manipulate any spreadsheet data you have from third party systems to get it into the right format, but Excel is an ideal tool for this.

The Kartris data tool can import product and order/customer data from CactuShop databases, versions 6.0 and above. If you have data in an older v5 CactuShop database, you can use the CactuShop data tool to upgrade/import this to a new CactuShop v6 database, then use the Kartris data tool to import data from this database to Kartris.

The Kartris data tool will preserve the product, category and version database IDs from CactuShop in the new Kartris site. This is extremely valuable for search engine purposes as it ensures that requests to old CactuShop URLs can be mapped by Kartris to the equivalent new page URL. Your existing pages in search engines will therefore not return a 404 to visitors or search engine spiders; both will get a 301-redirect (permanent redirect) and land on the same product in the new Kartris site. Search engines will update their indexes relatively quickly with the new URLs, but old links that users may have posted in forums and so on will continue to drive traffic to the correct page in your new site.

The image storage in CactuShop worked a bit differently to the structure used in Kartris. Therefore, when importing data from CactuShop to Kartris, you can select the 'Uploads' folder within the CactuShop web, and the 'Images' folder of your new Kartris site (or you can create a local 'Images' folder on your desktop, and copy it to the Kartris site later), and Kartris will copy and file the images correctly into this folder to work with Kartris. Because Kartris does not need smaller thumbnail images, only larger ones (as it thumbnails dynamically where required), it will look first for large images to import for a product, and only go down to normal sized ones if no large image is found.

Order IDs are also maintained, and historical orders from CactuShop can be imported with customer data into Kartris for a seamless upgrade. In fact, orders placed in CactuShop and still awaiting processing in the back end will be upgraded and can be processed and closed off with Kartris after upgrading. Customer accounts will retain the same username and password, and will retain historical order history.

In order to import bulk data from a spreadsheet, the Data Tool needs to make some assumptions.

  • The SKU (version code) for every item must be unique. You cannot have two items in Kartris with the same SKU; if Kartris finds duplicate SKUs, it will either ignore or replace the existing item with the same SKU (depending on settings).
  • All products must have unique names, because products don't have any SKU (these belong to versions). It is possible to have a product with multiple versions, therefore each line in this case will repeat the product name, but have a different SKU and version name. The Data Tool will assume that any row with a repeated product name is the same product.
  • All categories must have unique names - the reasoning is similar to the point above regarding products.

Because of the reasons given above, at present the Data Tool cannot handle cases where multiple products have the same name, or where a products and/or categories have multiple parents.

If you need to import data from a third-party database, such as that from another shopping cart package, the best approach is to produce a query/script in that cart which can output product data in a flat-file format. You can then manipulate this in Excel into the required spreadsheet layout for important by the data tool.

You may find that for large updates, you wish to export all your product data, make changes in a spreadsheet, and then import it. We provide a saved export in the back end (DB admin, exports section) for this, which has been updated in v2.9005 to match the format the data tool requires for import.

The images fields will be output as blank; you can run in data without these and it won't wipe images, as the images are stored in the 'Images' folder on the site, and the data tool will only update the database content.

The Data Tool can be used both to populate a brand new store with product data and to update an existing store. In cases where you are updating a store, there are three options as to how you handle existing data already in the store:

  • Add imported data to existing data and ignore duplicates - do this if your site database data is the 'master' version, and you've made corrections and changes to it, or are just confident existing data is already perfect

  • Add imported data to existing data and update duplicates - in this case, any duplicates in the destination will be updated from the source data

  • Reset database and import - this will clear existing data, and then import the data so you retain no previous data

Depending on where you are importing data from (CactuShop, Kartris or spreadsheet), there are also a variety of filters to control what data is updated.

The P_Image field in the spreadsheet is very flexible in accepting the locations of images.

You can enter a single image name, or you can add multiple image locations, separated with either a comma or semi-colon.


If you enter local paths to images (e.g. just an image name, or a folder plus image name), then the data tool will look for these within the source images folder you specify. So in the case above, if you selected a folder on the C: drive called 'source', it would look for those JPG files in C:\source.

You can also get the data tool to retrieve web images, if you have a full URL. In this case, the data tool will still need a 'source' folder, but will retrieve the web image, copy it to this source folder and then process it and position it in the destination folder. For example:,;

If you leave the image field blank, then no image will be created in the new 'Images' folder system. However, this will not delete images that are already on the site in that location.

Very often whether you've imported from a data file or from an older CactuShop database, you will want to run some additional processing on the order. For example, you may want to change the product display type for all items, or fix other problems you might find in imported data.

Fortunately the Data Tool has a built in method for doing this. Within the KDT_Resources folder, there is an .sql file called 'kartrisSQL_Update.sql'. This SQL gets run against the database after an import is complete. This mainly fixes null values and other such issues, but you can add your own SQL code to this if required.

This SQL file gets run after both data file or CactuShop data imports, both using the GUI or in command line mode.

The Data Tool is also accessible via a command line interface, which means you can use the pre-written functionality to handle imports to a site on an automated or scripted basis. For example, you may have stock or other data deposited in spreadsheet format to a particular folder on a periodic basis (e.g. nightly) which you want to update the web site with.

Using a .vbs file (or some other scripting system), you can call the Data Tool, pass parameters and so on, without having to manually operate it or write your own SQL code to update Kartris.


/MODE:[ignore|update|deleteall]   -> what to do with existing product data


/DATASHEET:[worksheet_name_of_data_in_xls_file] (XLS only)
/OPTIONSSHEET:[options_sheet_name_for_Kartris_v1.4] (XLS only)


/HELP (optional)

/OUTPUT:[logfile(default)|display] (optional)
/SOURCEIMAGESFOLDER:[folderpath] (optional, can use full image path in spreadsheet)
/KARTRISIMAGESFOLDER:[folderpath] (optional)
/TEST (optional) (no processing - just check if parameters are all correct)


For example (single line, though some browsers may wrap it below):

C:\Data Tool\KartrisDataTool.exe /mode:update /file:"c:\user\desktop\exampledata.xls" /dbserver:localhost\sqlexpress /usewindowsauth /dbname:kartrisSQL

If you have spaces in the names or paths of files submitted through command line arguments, you will need to enclose the path in double quotes. Alternatively, try to position files close to the root in a folder without spaces in the name.
Powered by tomeCMS