This article is a complete documentation of the basic version of the Product Import Export Plugin for WooCommerce, using which you can import, export, and update products in bulk.
By going through it, you will be able to quickly develop an understanding of how to set up and use this plugin, get an overview of its features, and learn about how this plugin works.
Product Import Export Plugin for WooCommerce – Overview
Product Import Export Plugin for WooCommerce lets you import and export products to and from your WooCommerce store in CSV file format. Using this plugin you can export products to a CSV and use this file as input to import them into your WooCommerce store.
The plugin supports the import and export of simple product types. You can easily transfer hundreds or thousands of products to and from your store, bulk update their data, etc., with the help of this plugin.
Pre-requirements for Using the Plugin
- The plugin takes CSV (Comma-separated values) as input for import. You can create a CSV in two ways.
- By exporting/downloading products from the WooCommerce store.
- Using a spreadsheet program such as LibreOffice, Microsoft Excel, OpenOffice, or Google Spreadsheets and saving the file with the extension ‘.csv’.
- The CSV Import file must be in UTF-8 format, if you need to know more about it read How to save CSV / Excel File as UTF-8 Encoded?
Installation of the Plugin
You can install the plugin by following the below steps.
Step 1 – Navigate to Plugins > Add new from the WordPress dashboard.
Step 2 – Enter the keyword ‘Product import-export’.
Step 3 – Click Install Now and Activate.
Getting Started with the Plugin
Upon installation of the plugin, you can open the plugin settings page in two ways. By navigating to either,
- WordPress dashboard > WooCommerce> Product Import Export
- Plugins > Installed Plugins > Product Import Export
The following is a screenshot of the opening window of the plugin.
How WooCommerce Mapping Works?
Before proceeding with the importing and exporting of products, you need to know how WooCommerce mapping works.
For example, the post_title field gets mapped to the product name, and the regular_price field gets mapped to the regular price of your product. You have to map all the fields in the correct format if you want the plugin to work correctly. If there is any mistake in your import file, your product import may not work as expected.
The following table gives you information on each column/tag header in WoCommerce, its explanation, and its accepted value or format.
|Column/Tag Header||Explanation||Accepted value or format|
|post_title||Indicates the name of the product.||Text (ex. High Heel Shoe)|
|post_name||Indicates slug name of the product.||Text (ex. high-heel-shoe)|
|post_status||Indicates whether the product is in a draft or published mode.||draft/publish|
|post_excerpt||Indicates a short description of the product.||Text/HTML|
|post_content||Indicates description of the product.||Text/HTML|
|post_parent||Indicates parent of grouped and variable products.||Parent ID|
|post_password||For including a password for a private post.||Text|
|sku||SKU(stock keeping unit) is an identification, usually alphanumeric, of a particular product that allows it to be tracked for inventory purposes.||Alpha-numeric characters|
|menu_order||It decides the order of displaying the products in the shop. Items with menu order = 0 are displayed 1, 2, 3, etc. Products with the same menu order number are then listed alphabetically. When you create a new product it defaults to menu_order = 0.||Numeric characters|
|downloadable||After purchasing the product, whether the product can be downloaded or not.||yes/no|
|virtual||It is not physically existing as such but made by software to appear to do so.||yes/no|
|visibility||Indicates whether a product is available for purchase or not.||visible/hidden|
|stock||Total number of products available in stock. You can use (+) or (-) signs with parenthesis to add or subtract the number of products to the stock.||Numeric characters|
|stock_status||It indicates whether the product is in stock or not.||instock/outofstock/onbackorder|
|backorders||Indicate orders for out-of-stock products that cannot be currently fulfilled or shipped, but is requested nonetheless for when the product becomes available again.||yes/no|
|manage_stock||It indicates whether the stock is managed by a store or not.||yes/no|
|regular_price||Indicates the original price of the product.||Numeric characters|
|sale_price||It is the price of the product that is being offered at a discounted rate.||Numeric characters|
|weight||Indicates the weight of the product.||Numeric characters|
|length||Indicates the length of the product.||Numeric characters|
|width||Indicates the width of the product.||Numeric characters|
|height||Indicates the height of the product.||Numeric characters|
|images||Indicate image URL or image name. Supports multiple image URLs separated by ‘|’.||URL Eg: http://url/filename1.png|
|tax_status||It indicates whether the product is taxable or not.||taxable/none|
|tax_class||It indicates the tax option for the product.||Standard rate/Reduced rate/Zero rate|
|tax:product_type||Indicates the type of product (simple or variable).||simple/variable|
|tax:product_cat||It is used during importing the product which indicates the category of product.||Text|
|tax:product_tag||It is used during importing the product which indicates tag(s) used for the product.||Text|
|tax:product_brand||It indicates the brand of the product.||Text|
|attribute:Color||It indicates the available color of the product.||Text|
|attribute_data:Color||It indicates the metadata about the attribute color of the product.||position|visible|variation (ex. 0|1|1)|
|attribute:Size||It indicates the available size of the product.||Ex. US 7|US 8|US 9|
|attribute_data:Size||It indicates the metadata about the attribute size of the product.||position|visible|variation (ex. 1|1|1)|
|attribute:pa_unit||This lists out the unit options.||Ex. 10 kg | 20 kg | 30 kg|
|meta:attribute_pa_unit||It indicates the metadata about the product unit.||Ex. 10 kg|
|attribute_data:pa_unit||It defines the position, visibility and whether used for variation or not.||position|visible|variation (ex. 4|1|1)|
|attribute_default:pa_unit||This is the default value of a unit attribute.||Ex. 10 kg|
Note: Attribute names with pa are global attributes and the ones without pa are called local attributes.
Exporting Products Using the Plugin
Using this plugin you can export or download your products in CSV file format. This file can be used to import products back into your WooCommerce store.
Following is a screenshot of the export settings page of the plugin.
The export settings window contains the following fields to configure.
Offset – It is the number of products to skip before exporting. If the value is 0, no products are skipped. If the value is 100, products from product id 101 will be exported.
Limit – Here you can give the number of products you wish to export. If you leave this field empty, no products will be exported. It is useful when you have a large number of products and want to export only a partial list of products.
Columns – Here you can configure how the column header names should appear in the CSV. By default, the column header names are the same as the WooCommerce product field name. You can also select the product fields (product data) you wish to export by selecting them one by one.
Now you can click the Export products button to finish with the export process.
Importing Products Using the Plugin
Here you can import all products from the CSV file to your store. The import process has been divided into two steps; import settings and import mapping.
Select a file from your computer – Upload the CSV file containing product data from your computer. The maximum supported file size is 1GB.
Update products if exists – Existing products are identified by their SKUs/IDs. If this option is not selected and if a product with the same ID/SKU is found in the CSV, that product will not be imported. You can also perform bulk product update by selecting this checkbox.
Delimiter – Here you can select a delimiter to separate the field values with. Comma is the default delimiter.
Merge empty cells – If this option is checked, empty attributes will be added to products with no value. You can leave this unchecked if you are not sure about this option.
Now you may move on to the next step by clicking the Proceed to Import Mapping button.
This section allows you to map your imported CSV columns to the corresponding product data fields. It’s been divided into three different columns.
- WooCommerce product fields – It represents WooCommerce product field names to which attributes will be mapped.
- CSV column header (from imported file) – Represents CSV headers which will be mapped to appropriate WooCommerce product fields.
- Evaluation field – This column is used to modify/update the value of product fields mapped during the import process. You can apply custom rules to hundreds and thousands of product data using this feature.
By hovering over the question mark next to the evaluation field header, you will be able to see how you can update the values.
Assign any required constant value to field –
For example, to assign the value red to ‘attribute:pa_color’, enter the value ‘=red‘ in the evaluation field of the attribute:pa_color row.
Add any required value to the field –
For example, to add $5 to ‘sale price’ enter the value ‘+5 ‘in the evaluation field of the Price: Sale Price row.
Reduce any required value from the field –
For example, to reduce ‘$5’ from ‘sale price’ enter the value ‘-5’ in the evaluation field of the Price: Sale Price row.
Multiply by any required value to the field –
For example, to multiply ‘sale price‘ by ‘1.05’, enter the value ‘1.05’ in the evaluation field of the Price: Sale Price row.
Divide by any required value to the field –
For example, to divide ‘sale price’ by ‘2’, write ‘/2’ in the evaluation field of the Price: Sale Price row.
Append any field by required value –
For example, to append ‘Product Title‘ by ‘By HikeForce’, write ‘&By HikeForce’ in the evaluation field of the Product Title row.
Prepend any field by required value –
For example, to prepend ‘Product Description‘ by ‘Description’, write ‘&Description[VAL]’ in the evaluation field of the Product Description row.
Once you are done with the mapping, proceed to click the Start Import button to finish with the import process.
Important Note: The time duration for importing products depends on the time taken to fetch the images and the internet speed available to you. If you have more than 1000 products, it is recommended to do the import in batches by splitting the CSV file. Please do not navigate away or close the window while the import is in progress.