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.
In case of order import, there may be instances of ID mismatch. We can resolve this by reserving the IDs.
Reserving IDs for importing orders
When you create a new order, a new row will be created in the wp_posts table with a unique ID. However, if that ID conflicts with an existing post ID(due to content change), the next available ID will be assigned. This can sometimes result into ID mismatch.
As a solution to this, you can reserve the IDs for future orders. For reserving IDs, modify the next order’s row ID to a bigger number, if you don’t have much extra rows after your last order.
Example: The last order ID is 5000, and the new order created will have ID 5001. Here, if we modify the order’s row ID to 8001, then the new order ID will start from 8002, reserving 3000 IDs for future orders.
- Was this article helpful?
- Yes, thanks!Not really
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!
November 25, 2022
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.
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.
November 16, 2022
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.
April 10, 2021
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.
April 13, 2021
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.
September 29, 2020
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.
September 29, 2020
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.
October 1, 2020
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.
October 2, 2020
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.
November 16, 2020
How to unmap?
November 17, 2020
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.
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.
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…?
November 6, 2019
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.
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.”
August 2, 2019
Can ID conflicts be avoided when importing orders?
August 3, 2019
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.
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
October 19, 2018
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.
October 12, 2018
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.