Skip Navigation

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

This topic contains 12 replies, has 2 voices.

Last updated by Yvette 6 months, 2 weeks ago.

Assigned support staff: Yvette.

Author Posts
January 13, 2020 at 1:18 pm #5282819


I am trying to:

Change the product SKU in the main lang (Estonian)

I expected to see:

New SKU (main lang + translations)

I get:

Error message: Invalid or duplicated SKU and SKU is same as previous

All products are Simple products.

Database query sample by SKU gives (between langs I expect to keep SKU same):

post_ID meta_key meta_value
7844 _sku EAN 4744319018704 Estonian language
7845 _sku EAN 4744319018704 English language
7846 _sku EAN 4744319018704 Finnish language

January 14, 2020 at 2:31 pm #5290609


Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)


I´ll be helping you.

I understand that you have a simple Woocommerce product that you have translated. All translated versions share the same SKU with the original language product (as expected).

You are attempting to change the value of the SKU in the original language, but you are unable to complete this action. You are getting a system notification of "Invalid or duplicated SKU".

1.I s this a correct restatement of the issue you are experiencing?

2. If you temporarily deactivate your non-WPML plugins (except for Woocommerce, of course) and change your activet theme temporarily to Storefront, are you still experiencing the same issue?

3. Temporary Access to your system
Please provide access to your system (wp-admin and ftp) so that I can further investigate this particular problem. The fields to provide this data are included in a private section that I will open for your next response. You can find it above the comments area. The information in this private section is only visible between WPML Support and you.

January 15, 2020 at 11:29 am #5296935


Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)


I am not able to reproduce this issue easily on your site. Here is what I did:

- created a new simple product "WPML Test Product" and assigned SKU = "MyUniqueSKU"
- I then translated this product to EN
- In ES, I changed the SKU value to "MyUniqueSKU_NewValue"
- The SKU was synced as expected to the EN translation and no error message appeared

I then tried the products you listed in your original message.

I noticed that they were linked strangely or not at all as translations. So I fixed this - they are now all linked as transations of each other,

I then changed the SKU of the Estonian product from " EAN 4744319018704 " to " EAN 4744319018704_wpml ". I can see that this value is copied to all translations with no problem.

Can you confirm this on your side? Perhaps do a test of changing the SKU back to a correct value and confirm that it is copied as you expect.

January 16, 2020 at 6:33 am #5303219



I've read your message and contacted to the end-user. They have created new products using "duplicate" and these products have the described problem.

You write "I noticed that they were linked strangely or not at all as translations. So I fixed this - they are now all linked as translations of each other,".

Then I open the product to edit I don't see anything strange. Could you please explain how you have fixed that problem and how to avoid it in the future. Products for example Britta B and Britta C.

January 16, 2020 at 9:38 am #5304149


Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)


1. Duplicate
Would you please provide reference to a specific case so I can take a look at it? After creating as a "duplicate" do they then "translate independently"?

From what I could see in the installation, the logic is working correctly. If there is an issue with how the products are linked together as translations, I believe it will be traced back to the workflow being used to create translations.

2. Britta products
Please see image. The SKU seems to be reused several time and the data looks messy. In Estonian..there are 6 products while in ENglish there are 7. Is this intentional?

Instead of providing product names, please provide product-ids.

January 16, 2020 at 1:17 pm #5305733


Thank you for your reply!

Let's start with product "Aiamaja Britta B" - hidden link

Checking all languages in frontend - they are working
In backend after opening the main lang, I see connected Finnish and Englis translation, but then I tring to change SKU from EAN 4744319010317-1-1 ->EAN 4744319018696 I get error "Invalid or duplicate SKU".

Before you have said "I noticed that they were linked strangely or not at all as translations. So I fixed this - they are now all linked as translations of each other,".

What does it mean - "I noticed that they were linked strangely"
What is wrong?
Then we taking this Britta B as an example how can repair that product

January 16, 2020 at 3:43 pm #5306637


Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

1. Linked Strangely

I meant that the expected translation relationships were:
Estonian (primary/source langauge)
English (translation of Estonian)
Finnish (translation of Estonian)

Instead I found something like
English (source langauge)
Finnish (translation of Estonian)
Estonian (tranlsation of English)

2. SKU already existing.
You are getting this message because the EAN is indeed already existing and attached to an existing product

If you look at product id = 5367, the EAN is already assigned

And this product also is strange as the dashboard is saying that it is in "Estonian" but the database tables have recorded it as a Finnish page.

I hope this explains what I mean about "messy " data.

To clean this case up, I´ve changed the 5367 post-id as Estonian...then changed the language back to Finnish. Now, when you open the 5367 product, it shows that it is a standalone product with no translations that has the SKU you are trying to assign to another product.

So, in short, I am not sure what workflow is causing all of this confusion, but the system itself is behaving correctly in saying that the SKU is already assigned and you cannot duplicate it.

January 17, 2020 at 7:26 am #5309777


Hello Yvette,

Thank you for your explanation.

But the link to the product that was in the previous post was: hidden link and then logged in and then I open that product to edit this will show the product ID 7816. This product has associated translated posts en->7817, fi->7818. Then I open Phpmyadmin (Settings->WP-phpMyAdmin) I open the database table "wpt_icl_translations". From table searching element_id 7816, I can find that "trid" for this post is 5124. New search with "trid" value has been given to me table:

hidden link

Reading documentation about WPML database tables I didn't find errors.

Changing language from backend header everything is showing correctly:

Estonian language:
hidden link
Finnish language:
hidden link
English language:
hidden link

But then I've tried to change SKU from EAN 4744319010317-1-1-new to 4744319018696 I will get: Invalid or duplicated SKU.

January 20, 2020 at 9:44 am #5321903


Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

The database is showing that this EAN is already assigned to product id = 5367
Product id 5367 is a product that has source language of FI.

So the system is behaving correctly in not allowing you to assign the SKU to another product that is not in the trid of this particular product.

It is a similar situation to the other products.

January 22, 2020 at 8:38 am #5338623


Hello Yvette,

Big thanks for your patience. The issue is resolved.
The source of the problem was, that products imported from CSV to the Finnish language didn't exist in the main language and the client has ignored the existing Finnish variant. They are duplicating a suitable product from the main language and entered all the information from scratch.
How is the best to handle the situation then products will be imported from CSV/XML and translation has products that are not in the main language.

January 22, 2020 at 9:46 am #5339195


Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

DO you mean that you have imports of products in the 2nd langauge that cannot be linked to translated products in the main language?

For example, you have an import file with 2 products in the main language and another import file with 3 poducts in the 2nd language.

2 of the 3 products can be linked to the main language as translations, but the 3rd product only exists in the 2nd language.

You are wondering how to import this 2nd language product...?
What happens now? I think your real issue is how to manage the product once it´s imported so you are really looking for a workflow.

Maybe I misunderstood the question(?)

January 27, 2020 at 12:26 pm #5369815


Hello Yvette,

Yes, this was the case.

And is there are some descriptions of the workflow or best practice of the situation then shop will have some or most products that have all connected translations and some independent products for different languages.

If the shop has 3 langs:
product 1 - has all translations
product 2 - only the main language
product 3 - has 2nd and 3rd languages

and how that can be managed through CSV/XML files

January 27, 2020 at 1:20 pm #5370035


Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

The quick answer is : no, we do not have a recommended workflow

The WPML All Import addon solution is assuming that you are importing translations of products already existing and simply gives you a solution on how to link the import as a "translation" of existing products.

My understanding is that your product import is including products that do not have a corresponding match in the system default language. In this case, the product is imported as a unique new product with the source language marked as the language of import.

Is this the case? (You never answered that particular question.)

If it is, and you are trying to then manage all of your product data from one single language, I can understand that you are not seeing all the SKUs that are already assigned. And the confusion you might have to determine which language you should be maintaining your product data in since some will have the default language as the starting point while others will have the starting point in one of your other system languages.

I don´t have enough experience to advise you well - but I can point out that the old adage is true: garbage in, garbage out.

And then, from this perspective, you would perhaps want to normalize your data before attempting to import it.....or at least before attempting to add translations or maintain product data. So, if your workflow is only contemplating managing product data from one language, then you must either always import your new products in that langauge

- or -

- keep track of the source language of each product and then make sure you are maintaining the product data in that admin language


- identify which products are imported in a non-default language, then translate/duplicate these products to the source language, and then change the source language of these products to be the system-default language (or whichever system language you decide will be the product-maintenenance langague)

I offer these insights not as solutions but as a starting point to devise your own best workflow.

The topic ‘[Closed] Attempt to change SKU – Invalid or duplicated SKU.’ is closed to new replies.