When importing products to your WooCommerce website, you may have encountered with an error with the error message “Importing post ID Conflicts with an Existing ID” or “Post is not a Product”. This error occurs when the post ID already exists in the WooCommerce website to which the products are being imported to.
During an import, if you are updating existing product data, then do not forget to check the Update existing products tick box. Otherwise, it will generate the error of an existing ID.
Also, if the ID used in the CSV is not a product ID in the site to which it is imported to, then it can generate a conflict. For every product, WordPress creates a unique ID. It’s not just the products that are given unique IDs. They are given to tags, comments, categories, pages, and user ID as well to identify that particular item. All these are stored in WordPress in the wp_posts table. So the imported post ID can generate conflicts with these existing IDs also.
One way to avoid this type of error is to ensure that the post ID does not already exist as an Order ID, Page ID, Attachment ID etc. Another way to solve this problem is, when importing new products do not map ID column you can map with SKU and Parent_SKU columns instead. WordPress will assign a Post ID for the products that don’t have one.
Paul
January 24, 2024
Hi,
I’ve read https://www.webtoffee.com/importing-post-id-conflicts-with-existing-post-id-woocommerce-product-import-export/ because I can’t import orders from my live environment to my redesign environment with some changes. I’ve worked on the redesign website in the meantime, tried to export / import orders and ran into the issue with conflicting order numbers (so I basically can’t import all orders).
Will installing your plugin ‘Sequential Order Number for WooCommerce’ solve this issue? So can I set, as described in this blogpost, the order number to let’s say 150000 to avoid duplicated orders after working on the order site and import the orders? hope you can help me out, thanks!
Kind regards,
Paul
Vineetha
January 30, 2024
Hi Paul,
Thanks for reaching out! When importing orders, if the order ID in the import CSV file is used by another post on your site, then during order import you may face post ID conflicts. This is because WordPress considers everything a post. For example, a product is a post, an order is a post, etc. Additionally, whatever the order ID, it will be used as the post ID.
To import all orders successfully, you may try importing the order by unmapping the order ID. However, please note that by doing so, all your order numbers will change, as the order number is dependent on order IDs. Whatever the order ID, it will be used as the order number.
If you are required to retain your order number, you can use the Sequential order number plugin. You may install the Sequential order number plugin and then import the orders from the CSV file to retain the order numbers. This way, even if the order ID changes, the order number will remain intact.
Bijay Manandharf
December 7, 2023
can i import all order without mapping order_id like u suggested to avoid conflict. But I need to maintain same order no. I used sequention order no. plugin.. as well but its still give error.. Please help me on this
Rgds,
Bijay
Vineetha
December 12, 2023
Hi Bijay Manandharf,
Order numbers are generated using order ID, to retain your order numbers after unmapping order ID we commonly suggest our Sequential order number plugin to import order numbers from the CSV file. This way, even if the order IDs change, the order numbers will remain the same.
If you are still facing issues with Sequential order number plugin, then please contact us via support so that we can check on it.
Roman
September 4, 2023
wouldn’t it be enough to add a condition that takes care of not only the post id but also the post type = shop_order?
Vineetha
September 6, 2023
Hi Roman,
Thanks for reaching out! If any ID conflict arises when using the premium version of the plugin, you can simply import the product as a new item. This feature is available as an advanced option. Firstly, select No for the option Skip import of new products. Then, select Import as new item for the option If product ID conflicts with an existing Post ID as shown. For any further queries, please reach us via support.
Bill
January 10, 2023
Okay – I’m also having a conflict when exporting orders out of my production site, and then importing them to the stage – this is because I’ve added new items (like a blog posts, revamped images, etc.) So, I do NOT want to change any order numbers as that would really eff up my connected systems. What I want to know if there is an easy method to change the IDs of non-order elements.
Is there a means to do a full search on “Post ID’s” that are conflicting with the order IDs I’m trying to import?
Example: “Parsing failed. Reason: Order with same ID already exists. ID: 35247” – How can I search to find what that ID number is attached to? Is it a post, an image, something else? I really don’t have the time to do this manually…. I can live with deleting and replacing non-order-related stuff, but need to know specifically which items are affected.
Any ideas?
Vineetha
April 18, 2023
Hi Bill,
You can search the conflicting IDs in the database and change, or else you can maintain the order number even if the orders are imported with a different ID due to ID conflict.
“The error message “Importing orderID conflicts with an existing post” occurs due to a post already existing in the importing site with the same ID as in the CSV file. WordPress considers everything as posts. Eg: product is a post, the image is another post like that. The issue is caused by WordPress considering everything as a post. I hope you understand.
You may please try changing the ID of the conflicting rows in the CSV file to a different number or deleting the ID data of the conflicting rows in the CSV and importing. WordPress will automatically assign a new ID to the imported orders. But, unmapping/deleting/changing values in the ID column can result in importing the orders with a new order number since WordPress assigns the order number based on the order ID. I hope you understand.
If you are required to retain the order numbers even if the IDs are changed, then you may please try installing our Sequential order number plugin. After installing this plugin, please try importing the orders with the ID column unmapped.”
Niclas
November 15, 2022
Why was my first post deleted??
I ask again… and take a screenshot.
How can I customize already imported data?
I have over 7,200 orders and 758 of them are incorrect.
How can I correct this afterwards?
Please help, thank you!
Alan
November 25, 2022
Hi,
We haven’t deleted your post. If you are required to update any data of the already imported post then please export that post to the CSV using the plugin and then make the changes in the CSV and import it back with the Update option enabled.
Niclas
November 15, 2022
How can I still adjust the whole thing afterwards with the IDs?
I have over 7,200 orders and 758 of them have failed.
What else can I do to assign them correctly?
Thank you and greetings from Germany.
Alan
November 16, 2022
Hi Niclas,
If the orders are failing due to ID conflict then you will have to import those orders with a new ID as WordPress does not support multiple posts having the same ID. Or else if you are required to keep the order ID same then you will have to change the ID of the existing post by deleting and adding it again.
Acon
April 10, 2021
Hi,
I’m using your plugin to migrate all products, customers, and orders from a live site to a new-built site on a subdomain, and I did get the message “Importing post ID Conflicts with an Existing ID” you described here with several products on the CSV. I understand the reason now and want to try your solution, but I’m just wondering that in the old site, how do all the relationships between the products, customers and orders got established and connected? Aren’t they inter-connected by this unique post ID? If the answer is yes and if I un-map the ID column and let the new site re-generate all the IDs for the imported products/customers/orders, how can I make sure that after the migrating, I can still see the right customers with the right orders and the right products all pieced together correctly?
Also what sequence do you recommend to migrate? I heard that one should migrate products first, and then customers, finally the orders. Is that the right sequence?
I’m not any database expert so this question might sound silly and I do apologize for that. I hope you can help me to sort it out because my new WooCommerce site depends one this to work.
Thanks heaps.
Best,
Mark
April 13, 2021
Hi,
By default, the product and order are linked using product ID and if the ID is unmapped then they will fail to link. In this case, you can use SKU to link them. If your products have SKU data then please make sure that you enable the option Link products using SKU instead of Product ID while importing to link using SKU instead of ID. There will be no issues with linking users and orders since they are linked using the email address and not the ID. Hope this is clear.
Yes, then import sequnece you mentioned is correct. You may please first import products and customers and then orders.
T Scholar
February 22, 2023
Hi,
I tried to Link products using SKU instead of Product ID as suggested and I still get the error: “Importing Order(ID) conflicts with an existing post. ID: 101392”, but when I search in the order section in Woocommerce, for the order id(101392), nothing comes up.
What is the best way to resolve this issue?
Thank you.
Vineetha
April 18, 2023
Hello T Scholar,
Thanks for reaching out!
Id conflict is occurring because there is already a post with the same ID. The post can be a product, image, etc. We suggest you try importing without including the order IDs in the CSV or by unmapping the ID field.
Julian Connett
September 29, 2020
Hi there,
I was wondering if there was a ‘sequence’ that importing should be done in so not to cause ID conflicts? E.G Orders First > Coupons > Products/Media?
Thanks in advance.
Alan
September 29, 2020
Hi,
You may please unmap the ID column while importing to avoid the ID conflict issue. WordPress will automatically assign an available ID to the imported products, orders,..etc. For successful linking of order and product, you may please import the products & users first and then import the orders.
Julian Connett
October 1, 2020
Thanks Alan,
So I have been working on transferring and what I am finding is that our database is being massively blown out. We have around 300 products, 1200 customers, 57 posts, and 13,000 orders. The old database is 500MB! and the new one is already 180mb. Do you know why this would be bringing in so much? I tried to import only 1000 recent orders and it’s blown out. I have had to go back and delete all of the recent order, coupon and product imports as tons did not import properly because fo the ID conflict. But my database is still bloated?
Do you have any suggestions on how I can clean up the database and import to the devsite without bloat?
Thanks in advance.
Alan
October 2, 2020
Hi,
We are not sure how your database is bloated. Is it caused due to the import done by our plugin? Please reach us via support.
Eoin
November 16, 2020
How to unmap?
Mark
November 17, 2020
Hi,
You may please select Do not import from the drop-down of the ID field while mapping or else you may please just delete the ID column.
Tanja
November 5, 2019
I have a similiar issue when importing orders for migrating a shop. I already imported most orders before (which worked), but now I have to do it again (in the meanwhile new orders in live shop came up). This time for all the new orders there is a conflict saying “Importing order(ID) conflicts with an existing post.”
I really have no idea where there are existing posts with that ID. Any ideas what I could do? In a previous post you suggest “unmapping ID column”. How would I do that if it is the solution? Thanks a lot.
Tanja
November 5, 2019
Sorry, now I know what you mean… you mean when exporting data you can unmap ID… I will try that and hope that it won’t lead to other conflicts as the correct ID then is missing…?
Alan
November 6, 2019
Hi,
You may please either export the new orders with the ID column excluded or else you may please export the orders and remove the ID data from the ID column of the new order and import it.
Please make sure that you have included the order ID in the CSV file if you are required to update the existing order. Existing orders are updated using the Order ID.
Kartik
October 12, 2019
the new wordpress is empty still shows the error – “Importing product(ID) conflicts with an existing post which is not a product.”
Thomas
August 2, 2019
Can ID conflicts be avoided when importing orders?
Alan
August 3, 2019
Hi,
You can overcome the ID conflict issue while importing the orders by unmapping the ID column while mapping. WordPress will automatically assign the next available ID while importing.
Thomas
August 1, 2019
Would assigning post id conflicting products with an SKU before exporting them avoid problems with post id conflicts when importing associated customers and orders too? Thanks
Mark
October 19, 2018
Hi,
The issue you are facing is due to an already existing post with the same ID in the site. You may use an ID that is not already present in your site. Kindly please try using the ID that is not already stored in the wp_post tables.
Robert Rijnders
October 12, 2018
Hi,
If I want to import products with cross (or up) sell ID’s, I’m forced to stick to predefined/set ID’s. I.e. if product with ID 1 has product with ID 2 as cross sell and vice versa, these exact ID’s need to be set/present in the wp_post (and wp_postmeta) tables. How would I ensure this to be imported correctly? I have made sure to start with ID’s (and corresponding cross sell ID’s) that are not yet in wp_posts (starting at 20000), but that doesn’t work, as I get the same error as described above, because each product apparently gets a unique ID in the wp_posts table. So, if I have – say – 300 post in there, the first 300 product records won’t be imported…
I’m probably missing something, so any help would be appreciated.
Thanks.