Product Code (Model)
After plugin installation, the field "Model" is automatically renamed to "Product code".
The product code can contain arbitrary text, up to 64 bytes long, and can be loaded into the product from the price list:
The Cyrillic letter is 2 bytes.
The product code is not used for product identification, the plugin identifies the product by the SKU, so the "Product code" field can be filled in automatically at your choice:
Since the Product Code is always displayed on the site, it is most convenient to select option 2 or option 4 to see which supplier the product belongs to::
The supplier number (in this case, 25) is stored in the database in the product table, in the suppler_code field, and is written there when updating the product price or quantity. The supplier number is specified in the supplier form:
This way, if the product price or quantity is updated from the supplier 25 price list, the number 25 will be written in the suppler_code field. If later, supplier 04 updates the same product, then the suppler_code field will contain the number 4, and an entry will appear in the plugin report file:
Supplier has been changed: 25 => 4
It is not always possible to predict in advance to which supplier the product will be assigned after updating prices from several price lists, especially if this button is enabled:
There is a tool in the Tools that copies the supplier number from the Product Code into the suppler_code field:
And there is a tool that does the opposite:
It makes sense to use this function if option 2 or option 4 is set in the "Product Code (Model)" setting. (See above)
Currency. Exchange Rate
If the site default currency differs from the price list currency, the exchange rate should be set in the supplier form so that the plugin can convert the supplier prices to the site prices on the fly:
This is the number by which the price list price will be multiplied before every other price calculation.
If prices are parsed from third-party sites, you should set the rate in another field:
Take note, that described method requires changing the rate to the actual one manually every time you use the form.
Site currency rate
You can use the site currency rate from a currency already set in the store. The 3-letter code should be filled in:
In this case, you must have a working and enabled "Auto Update Currency":
Sometimes, suppliers provide price lists with product prices in different currencies. Usually, in this case, the price list has a column with the currency code:
In this case, you have to fill the currency column number in the "Product price" settings:
SKU (Article Number)
This row in the supplier form is responsible for the SKU settings and everything related to them:
In the price list, the SKU can be any set of valid characters up to 64 bytes long. And in the product data, the SKU is in the "Data" tab - "SKU" field.
Note: One Cyrillic letter is 2 bytes.
The plugin searches for a product only by SKU, unless additional search criteria are specified:
The SKU must be unique for the entire store. If there are several products with the same SKUs in the store, the plugin will update only one of them, the rest will be ignored.
When executing the price list, if the plugin detects that a product with the same SKU is already in the store, it switches to update mode and updates the existing product without creating a new one.
However, there may be products with the same SKUs in the store, and in cases 1 and 2 (see the figure above), such products can be processed successfully:
- The product is identified by SKU and supplier number at the same time. If several products with the same SKU are found, only the product that belongs to this supplier will be updated.
- It is used only if the price list has a column with the manufacturer name, and the number of this column is written in the supplier's form in the "Manufacturer" field. Works similarly to method 1
There is another way to define one product with different SKUs, by setting the form for "Product".
Link the SKUs
If different suppliers have different SKUs for the same product, the plugin will create several identical products in the store.
To avoid this, you can link all possible SKUs of one product to each other, so that any of these SKUs define the same product.
The product can be updated with different price lists from different suppliers. Different suppliers have different prices, which means that as a result, the product will receive the price that was in the last processed price list.
If you want to prevent the price change or make it conditional, you can use these settings:
"Price has decreased" - as a result of all suppliers' price lists processing, you will receive the lowest product price in the store.
How to link the SKUs
The price list should have two columns with SKUs and a column with the price(can be also a column with arbitrary numbers):
Supplier form settings:
In the fields "Product name" and "Price", write column number 2. Set this action:
Save the form. Open it and click "Start". Upload the file and run the program.
How to check the related SKUs? Open the Tools tab and choose this action:
A list of related SKUs will be generated in admin/uploads/ex.xml on the server. Keep this file for further use.
You can link an unlimited number of SKUs, but each new SKU should be linked to the first one, i.e. to the SKU that is already in product data in admin.
To remove all linked SKUs you have to empty two tables in the database - suppler_sku and suppler_sku_description
If the supplier's SKUs are too short, for example, 1, 2, 3, 12, 54...then there is a good chance they will duplicate another vendor's SKUs.
To avoid this, it is recommended to add a prefix to the SKUs. Each supplier will have its own prefix.
In this case, when product 3 is added, in store it will be supp1-3. The plugin will add the prefix automatically during the price list processing.
Same for the product update:
- When the product with SKU "3" is found in the price list
- The product with SKU "supp1-3" will be updated.
If you want to add an SKU prefix to the products already added to the site, you can use the "Tools":
Replace product SKUs
You can replace the product SKU with another one using a specific price list xml file. To do this, the price list should have two columns with SKUs and a column with the price - a column with arbitrary numbers:
Supplier form settings:
In the "Product name" and "Price" fields, write column 2. Enable the action: "Do not update prices and quantities", save the supplier form, open it again and click Start, upload the file and continue.
As a result, the SKU from price list column 3 will replace the SKU in column 1.
You can parse the product SKU from a site.
For example, on the supplier's website page, the SKU is in the following piece of code:
and the link is in the price list column 9.
The supplier from settings should be:
SKU specifies: Option.
This setting is used when in your price list the SKU specifies an option. In this case the import/update will be applied to the product option.
The specific value of the Size option will be found - "XL" and its price and quantity will be updated.
The plugin works this way: First checks for an option SKU, if there is not such an option (in our example 88372-a) it will check for the product SKU.
In the "SKU" section there is a field for specifying an alternative SKU:
The plugin uses this SKU to search for a product not when the product was not found by the main SKU, but when the main SKU is missing in the price list:
The "Product Name" section has only one button:
which allows or forbids the plugin to update the product name in the store.
The button text starts with a green letter. This means that this setting works only in product update mode, it is ignored in add mode.
In the product add mode, the plugin uses all available options to create the product as complete as possible. He does not need any additional settings and buttons.
If the product URL is automatically generated in add mode, it will remain unchanged when the product name is changed. You can regenerate the product URL with another setting under the form general settings (the gray section at the form bottom) using the "Update url" setting:
Changing the product URL of an existing site page can impact the site's ranking in the Google index.
Product Name Generation
The product name can not only be taken from the specified price list column or parsed from a third-party site but also generated artificially. For example, a price list contains the following content:
If in the "Product name" field we add several columns separated by a period:
the product name will be generated by the column content separated by spaces(spaces between words are inserted automatically).
Product Name Parsing
The product name is parsed according to the same rules as the SKU, description, manufacturer... everything that is a text.
For example, in the page code, the product name is between the parameters content=" end "
If the parameter
occurs in many places, you need to set the parsing start parameter:
the first and the last spaces in the product name will be removed automatically.
In the example above, the link to the product page is in column 12 of the price list.
If in the report, the plugin reports that the name was successfully added or updated, but in the product it is empty, check the source encoding.
Set the encoding here:
In the "Categories" section in the form, there is a field in which you can specify the numbers of the price list columns.
Filling in the "Category" field
1. These numbers must be separated by a comma or period. Spaces and other characters are not allowed. If this field contains a character other than a number, period, or comma, the plugin will consider that the field is filled with parsing parameters and will require you to specify the number of the column containing the link for parsing.
In the report, the plugin will write: The Product passed: Row ~= 1 Empty link in column =
2. The column numbers should be written in such a way that the hierarchically last level category is the first in the list.
For example: 3,4,5 or 3,5,4
3. Since the hierarchically last level category is the main for the product, the price list column containing the hierarchically last level category should not have gaps:
The report will show the following error:
The Product has not been added: Row ~= 2 Category: '' not found in your settings (see page 'Category and margin')
The product in the second line was skipped because Category: "empty" is not found on the tab "Category and Margin".
The category names in the price list do not always match the category names in your store. And it happens that the supplier, instead of category names, puts numbers in the price list - id of their categories:
You have to map the price list categories to your site categories. From the example above you have to map "208" to "Weels" and "Cameras" to "SLR".
This should be done in the "Category and Margin" tab, this way:
Filling in the "Category and Margin" tab
1. The tab is for categories in the first price list category column only. Higher levels categories are not registered here.
2. The tab is filled from bottom to top. After filling in all sections of the tab, click "Save", and go to the tab again. Above there will be 3 more free sections that can be filled.
3. To remove the category section completely, check the checkbox:
and save the form.
4. You can use *** as a text mask:
You can set a default category this way:
all products with an undefined category will be shown in the category "Category Filter Demo".
Automatic filling of the "Category and Margin" tab
The plugin can fill in the "Category and Margin" tab automatically. To do this, it is necessary to have a price list containing a column with product categories.
In the supplier form, fill in the required fields (you can use arbitrary numbers), but fill in the correct number of the category column. Specify the delimiter in the "Delimiter" field in the lower-left corner of the supplier form:
Set Action to "Auto fill "Category and Margin" tab, save the form, open it again and click the Start button, upload the file and click Start to run the program.
The plugin will check the products in the price list and write the category names from the price list in the left column of the "Category and Margin" tab:
There is no 100% guarantee that the plugin will correctly map the appropriate categories on the right, but if possible, it will.
In the "Additional category" field, you can enter the name of the category in which the products should be shown temporarily:
This additional category is useful when the structure of the categories has not yet been determined or you will work on imported products before to enable them. When you are ready with the final category structure or products, you can move the products to their category using this tool :
Product Categories. Update
In update mode, the Category field can be left blank.
If the plugin needs to know the main product category in order to add a margin, it will do it on its own.
Select: "Show in category"
In update mode, only the last 3 green selects can be used. The red ones are for product add mode only.
Green select options 1 and 3 require the field "Category" to be completed, and the select option "in main" does not.
Categories are filled in by listing column numbers separated by commas, starting with the lowest. For example, the categories in the price list are presented as follows:
How to move products from one category to another
Suppose you want to remove mixers from the Food Processors category and place them in the Mixers and For kitchen categories.
1. Set the form this way.
If you want to keep mixers in the Food Processors category, and additionally show them in the Mixers and Household Appliances categories, then your settings should be:
In this case, the "Category" field cannot be empty.
The names of the parent (senior) categories in the price list, in this case: "For kitchen", "For home" and "Household appliances", must exactly match the names of the categories in the store.
2. Change product categories using "Tools"
Let see two examples:
- Filter the products from category and add additonal category for them:
- Show products in another categry:
Product Categories. Add
Product import in one category (Example 1)
In product add mode, the field "Column number(s), containing the product Category or parsing parameters" can not be left blank. Here should be at least one price list column number:
in which there is the main(the last) product category:
The column with main categories should not contain gaps, i.e. for each product, in each line of the price list, the main category must be indicated in some way. Otherwise, the product will not import, and the plugin will generate an error in the Report that it does not know which main category to put the product in.
The Product has not been added: Row ~= 5 Category: '' not found in your settings (see page 'Category and margin')
The main category in the price list can be indicated by any text, because. we cannot require the supplier to name the categories in a way that suits us. Using the "Category and margin" tab, you can map the categories:
If you do not want to import products from a specific category in the price list to your site, do not map it in the "Category and margin" tab.
Why is the hierarchically last level category called the main one?
This subcategory most accurately shows the user the selection of products he needs.
In some Opencart sites, the product URLs are set to include the full or short category path including the main product category.
this link shows that the product is in the main category "Jackets", which is a subcategory to "Clothes".
The plugin can generate the product metadata - meta title and meta description using the dynamic data including the product category. This way you can generate unique metadata for better SEO. Compare:
- "Buy jackets" vs. "Buy our products"
- "Browse our Jackets department" vs. "Browse our products"
There are no limits to generating the product metadata using the "SEO template" where you can use both the main category and the parent category along with other product details.
Product import to the main and the parent category (Example 2).
If you check the way the Opencart categories work, you can see that for the main category "A" we have these parent categories "B" and "C"
To show a product in categories "A" and "B" use this select option:
To show a product in categories "A", "B", and "C" use this select option:
Import the product to predefined categories (Example 3).
In the "Category" field add comma-separated columns that contain non-hierarchically connected product categories and set this select option:
This method has a restriction. The names of the price list categories must exactly match the categories in your site.
Conflict with same name categories
It is possible to find such a structure of the categories that subcategories of different parent categories have the same names:
In this case, we have a conflict in the "Category and Margin" tab:
As a result, all products will be assigned to one category (the first with this name in the settings).
We can fix this problem by concatenation the category columns from the price list:
(dot character is used).
Then in the tab "Category and margin" you should write the concatenated texts:
As a result, we have artificial category names to avoid conflicts.
Read more, about how to fill in the tab "Category and margin" semi-automatically.
Product Categories. Parsing
Parsing the product category is possible, but there are some restrictions and it requires additional manual work.
Categories on the donor site, as a rule, have names that do not match the names of the categories of your store.
Before importing products, you need to know their categories and manually add them to the "Category and Margin" tab:
Product category parsing example
Let's say on the product page, "breadcrumbs" look like this:
To parse the "Pink" category, you can use these parameters: ">,</a and class="breadcrumb">,</ul>,<
Keytext to begin,end parsing: class="breadcrumb">,</ul> limits the area of the page within which the plugin must find the parsing parameters: ">,</a
In order for the plugin to find the last fragment between "> and </a - "Pink", and not the first - "Computers", you need to add a third parameter to the text of the beginning/end of parsing "<" what means parsing back.
Is there any point in category parsing? It's up to you.
The donor site categories will have to be manually added in the "Category and margin" tab. This cannot be done automatically.
You can only parse the lowest category. It is not possible to parse the entire category chain.
The time spent on manually adding a column with a category to the price list may be less than the time required to manually fill in the "Category and Margin" tab.