WebToffee Logo
  • Home
  • Plugins
  • Blog
  • Documentation
  • Support
Login
0

  • Getting Started
    • Plugin Setup
    • Order Import Export
    • Product Reviews Import Export
    • Product Categories Import Export
    • Product tags Import Export
    • Coupon Import Export
    • Subscription Orders Import Export
    • User Import Export
    • Product Import Export
  • FTP Cron Schedules
    • Scheduled import
    • Scheduled export
    • Editing scheduled cron
    • Create FTP profiles for export and import
    • Server cron
    • WooCommerce cron import status
  • Advanced Topics
    • Saving CSV/Excel file as UTF-8 encoded
    • Increasing import batch count
    • Custom fields of third party plugins
    • Import with new ID
  • Troubleshoot
    • Finding PHP Error Logs
    • Resolve ID conflicts on import
    • Common errors on importing product images
  • Third-Party Compatibility
    • Plugins
  • Changelog
    • Version 1.1.6

Documentation/Import Export Suite for WooCommerce/How to resolve ID conflict during import in WooCommerce

How to resolve ID conflict during import in WooCommerce

Last updated on August 20, 2021

The WooCommerce Import Export plugin by WebToffee facilitates easy import and export irrespective of the post types like products, orders, users, coupons, etc. to or from your WooCommerce website.

The import export suite plugin is equipped to handle all types of errors that are commonly observed on import or export.

One of the common errors that people face while importing is the conflict caused by post-ID. When an ID conflict occurs, the import of products, orders, or users may fail. Upon viewing the log, you will see that the failure of import is due to “Importing (ID) conflicts with an existing post”.

WordPress assigns a unique ID for every post type, such as products, orders, users, tags, comments, categories, pages, etc. All these are stored in WordPress in the wp_posts table. Therefore, it is likely to create a conflict on importing IDs that are already present on the site.

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.

Workarounds

Some of the workarounds for ID conflict issues are stated below:

  • You can delete the ID column from the CSV before importing. WordPress will automatically assign a new ID for the posts.
  • You will just have to manually remove the IDs from the CSV which are causing the conflicts and import other values. In this case, a new ID will be assigned to the removed posts.
  • Unmap or deselect the id column from the mapping section (step 3) of the import process. Unmapping is similar to removing the entire column.
Unmap Order ID Column

Specific Scenarios

  • ID conflict with Variable Product: Usually variable products are linked using the product ID, therefore deleting or unmapping the ID column will result in importing the variable products as simple products. To overcome this, you can use SKU to link the products with its parent products.
  • ID conflict with Order ID: When the order ID columns are deleted or unmapped, the existing orders will be imported with a new order number. One of the workarounds that we suggest would be to install and activate our free plugin Sequential Order Number for WooCommerce which will retain the order number without causing the conflict even without deleting the iD column.

Advanced settings in the plugin

The add-on plugin carries out the import process in 4 steps consecutively. The advanced settings of each of the add-on are integrated in step 4 of the import process.

The advanced settings of each add-on are explained in detail below:

Order Import

Some of the fields provided within the advanced options are specifically for overcoming ID conflicts.

Order Import-Step 4
  • Update Only
    • Yes – The store is updated with the data from the input file only for matching/existing records from the file. If the post ID of the order being imported exists already(for any of the other post types like coupon, product, user, pages, media, etc) skip the order from being inserted into the store.
    • No – The entire data from the input file is processed for an update or insert as the case may be.
  • If order exists in the store – Orders are matched by their order IDs.
    • Skip – Retains the order in the store as is and skips the matching order from the input file.
    • Update – Update order as per data from the input file
      • Update even if empty values – Updates the order data respectively even if some of the columns in the input file contain an empty value.
  • If conflict with an existing Post ID – All the items within WooCommerce/WordPress are treated as posts and assigned a unique ID as and when they are created in the store. The post ID uniquely identifies an item irrespective of the post type be it order /product /pages /attachments/revisions etc.
  • Skip – If the post ID of the order being imported exists already(for any of the other post types like coupon, product, user, pages, media, etc.) skip the order from being inserted into the store.
  • Import as a new item – Insert the order into the store with a new order ID(next available post ID) different from the value in the input file.
  • Link products using SKU instead of Product ID
    • Yes – Link the products associated with the imported orders by their SKU.
    • No – Link the products associated with the imported orders by their Product ID. In case of a conflict with IDs of other existing post types, the link cannot be established.
  • Delete non-matching orders from store– Select ‘Yes’ if you need to remove the orders from your store which are not present in the input file. For e.g, if you have order #123 in your store and your import file has orders #234, #345; order #123 is deleted from the store prior to importing orders #234, #345.

Product Import

  • Update Only
    • Yes – The store is updated with the data from the input file only for matching/existing records from the file.
    • No – The entire data from the input file is processed for an update or insert as the case may be.
  • Match products by their:
    • ID: The products are either looked up based on their ID or SKU as per the selection. If the post ID of the product being imported exists already(for any of the other post types like coupon, order, user, pages, media etc) skip the product from being updated into the store.
    • SKU: The products are either looked up based on their ID or SKU as per the selection.
  • If a product exists in the store – products are matched by their product IDs.
    • Skip – Retains the product in the store as is and skips the matching product from the input file.
    • Update – Update product as per data from the input file
      • Update even if empty values – Updates the product data respectively even if some of the columns in the input file contain an empty value.
  • Use SKU to link up-sells, cross-sells and grouped products: Enable to import up-sells,cross-sells and grouped products using the product SKU.
  • Delete non-matching products from store- Select ‘Yes’ if you need to remove products from your store which are not present in the input file. For e.g, if you have a product A in your store and your import file has products B, C; the product A is deleted from the store prior to importing B and C.

User Import

WooCommerce User Import-Step 4
  • Update Only
    • Yes – The store is updated with the data from the input file only for matching/existing records from the file.
    • No – The entire data from the input file is processed for an update or insert as the case may be.
  • Match users by their: The users are either looked up based on their User ID/email/Username as per the selection.
  • If the user exists in the store:
    • Skip – Retains the user in the store as is and skips the matching user from the input file.
    • Update – Update user as per data from the input file
  • Was this article helpful?
  • Yes, thanks!Not really
Get the plugin

On this page

  • Workarounds
  • Specific Scenarios
  • Advanced settings in the plugin
  • Order Import
  • Product Import
  • User Import

This article posted in Documentation, Import Export Suite for WooCommerce, Troubleshoot

Written by

Shesna

Shesna is a technical content writer for WebToffee. She is familiar in working closely with the SMEs to break down complex technical information into a concise, easy to understand manner.

Got any query? Please leave a comment or reach out to our support

Cancel reply

Your email address will not be published. Required fields are marked *

We develop awesome WordPress plugins & WooCommerce extensions to help build successful online businesses.

© 2022 WebToffee. All rights reserved.

Our plugins

  • GDPR Cookie Consent
  • PDF Invoices & Packings Slips
  • Product Import Export Plugin
  • User & Customer Import Export
  • Import Export Suite
  • Sequential Order Numbers
  • Smart Coupons for WooCommerce
  • URL Coupons for WooCommerce
  • PayPal Express Checkout
  • Stripe Payment Gateway
  • Subscriptions for Woocommerce
  • Product Catalog Sync for Facebook
  • PrintNode for PDF Invoices
  • Order, coupon, subscriptions for WooCommerce
  • WordPress Backup and Migration
View more +

Get Started

  • Plugins
  • Testimonials
  • Affiliates
  • We're hiring

Help & Support

  • Documentation
  • Documentation (Basic)
  • FAQ
  • Support

Company

  • Terms & Conditions
  • Privacy Policy
  • Refund policy
  • Support policy
  • License Activation

© 2022 WebToffee. All rights reserved.

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. However you may visit Cookie Settings to provide a controlled consent.
Cookie settingsACCEPT
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of the basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website, to store user preferences and provide you with content and advertisements that are relevant. Such cookies will be stored on your browser but only upon procuring consent.

You will also have the option to opt-out of these cookies should you want to. But opting out of some of these cookies may have an effect on your browsing experience as per the descriptions elucidated against the respective categories below.

Necessary
Always Enabled
The cookies defined under this category are absolutely essential for the website to function. Hence they are loaded by default irrespective if user consent.
CookieDescription
__cfruidCloudflare sets this cookie to identify trusted web traffic.
__stripe_midStripe sets this cookie cookie to process payments.
__stripe_sidStripe sets this cookie cookie to process payments.
cookielawinfo-checkbox-advertisementSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
cookielawinfo-checkbox-analyticsSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Analytics" category .
cookielawinfo-checkbox-necessarySet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Necessary" category .
cookielawinfo-checkbox-preferencesThis cookie is set by the GDPR Cookie Consent plugin to check if the user has given consent to use cookies under the "Preferences" category.
CookieLawInfoConsentRecords the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie.
PHPSESSIDThis cookie is native to PHP applications. The cookie is used to store and identify a users' unique session ID for the purpose of managing user sessions on the website. The cookie is a session cookie and is deleted when all the browser windows are closed.
viewed_cookie_policyThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not a user has consented to the use of cookies. It does not store any personal data.
Analytics
Analytics cookies help us understand how our visitors interact with the website. It helps us understand the number of visitors, where the visitors are coming from, and the pages they navigate. The cookies collect this data and are reported anonymously.
CookieDescription
_gaThis cookie is installed by Google Analytics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report. The cookies store information anonymously and assigns a randomly generated number to identify unique visitors.
_ga_BQH8MSKD4MThis cookie is installed by Google Analytics.
_gat_gtagIdentification code of website for tracking visits.
_gidThis cookie is installed by Google Analytics. The cookie is used to store information on how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected including the number visitors, the source where they have come from, and the pages visited in an anonymous form.
_hjAbsoluteSessionInProgressHotjar sets this cookie to detect the first pageview session of a user. This is a True/False flag set by the cookie.
_hjFirstSeenHotjar sets this cookie to identify a new user’s first session. It stores a true/false value, indicating whether it was the first time Hotjar saw this user.
_hjidHotjar cookie. This cookie is set when the customer first lands on a page with the Hotjar script. It is used to persist the random user ID, unique to that site on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID.
_hjIncludedInPageviewSampleHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's pageview limit.
_hjIncludedInSampleThis cookie is set to let Hotjar know whether that visitor is included in the sample which is used to generate heatmaps, funnels, recordings, etc.
_hjIncludedInSessionSampleHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's daily session limit.
_hjTLDTestTo determine the most generic cookie path that has to be used instead of the page hostname, Hotjar sets the _hjTLDTest cookie to store different URL substring alternatives until it fails.
CONSENTYouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
has_recent_activityThis cookie is used to signal to the code repository website if the user has browsed other website resources during the current session.
tk_aiGathers information for our own first-party analytics tool about how our services are used. A collection of internal metrics for user activity and is used to improve user experience.
tk_lrThis cookie is set by the JetPack plugin on sites using WooCommerce. This is a referral cookie used for analyzing referrer behavior for Jetpack.
tk_orThis cookie is set by the JetPack plugin on sites using WooCommerce. This is a referral cookie used for analyzing referrer behavior for Jetpack.
tk_qsGathers information for our own first-party analytics tool about how our services are used. A collection of internal metrics for user activity and is used to improve user experience.
tk_r3dThe cookie is installed by JetPack. Used for the internal metrics for user activities to improve user experience.
Advertisement
Advertisement cookies help us provide our visitors with relevant ads and marketing campaigns.
CookieDescription
_fbpThis cookie is set by Facebook to deliver advertisements when they are on Facebook or on a digital platform powered by Facebook advertising after visiting this website.
frThe cookie is set by Facebook to show relevant advertisements to the users and measure and improve the advertisements. The cookie also tracks the behavior of the user across the web on sites that have Facebook Pixel or Facebook social plugin.
VISITOR_INFO1_LIVEA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSCYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devicesYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-idYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
Preferences
Preference cookies are used to store user preferences to provide them with content that is customized accordingly. This includes the language of the website or the location of the visitor.
CookieDescription
_gh_sessThis cookie is used to preserve users' states across page requests.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
CookieDurationDescription
_hjSession_137657130 minutesNo description
_hjSessionUser_13765711 yearNo description
_octo1 yearNo description available.
_zendesk_authenticatedpastNo description
_zendesk_sessionsessionNo description available.
_zendesk_shared_sessionsessionNo description available.
edd_wp_session12 hoursNo description available.
logged_in1 yearNo description available.
m2 yearsNo description available.
Save & Accept