Update import no longer matches existing WooCommerce products by SKU

Pending

Import WP Updated 1 week ago 15 Replies

Elena asked 3 weeks ago on July 3, 2026 at 7:09 am

Hello,

I am experiencing an issue with Import WP and I can\’t determine the cause.

I originally imported over 1,200 WooCommerce products from this XML feed using this same importer. The import completed successfully and all products were created correctly.

The supplier does not provide a dedicated SKU field, so during the original import I mapped:

  • Product SKU = /link

The products still have that value stored as their SKU in WooCommerce.

Now I want to update only the product prices using the same importer and the same XML feed URL.

Current configuration:

  • Same importer that was used for the original import.
  • Same XML feed URL.
  • Product SKU is still mapped to /link.
  • Regular Price is mapped to /price.
  • Unique Identifier = Product SKU.
  • I also tested using the XML field /link directly as the Unique Identifier instead of the Product SKU template field, but the result was exactly the same.
  • Create is disabled.
  • Update is enabled.
  • Only the Regular Price field is being updated.

However, every record fails with the following error:

Not enough permissions to create record.

According to your documentation and previous support replies, this means Import WP cannot find an existing product and therefore attempts to create a new one.

The problem is that the products already exist and still have the correct SKU values stored in WooCommerce. Nothing has changed regarding the feed URL or the field mapping since the original import.

Additional information:

  • Products are simple WooCommerce products (not variations).
  • The XML feed URL is exactly the same as the one used for the original import.
  • I have not changed the importer configuration apart from limiting the update to the price field.
  • The importer history no longer shows the original successful import, only the recent failed runs. I don\’t know if this is relevant.
  • I also verified that the imported WooCommerce products still have the expected SKU values stored. The SKU values have not been modified since the original import.

I have attached screenshots showing:

  1. Product SKU mapped to /link.
  2. Regular Price mapped to /price.
  3. Permissions (Create disabled, Update enabled, Unique Identifier).
  4. WooCommerce products showing that the SKU values are present.
  5. The error message returned during the import.

Could you please advise why Import WP is no longer matching the existing products even though they already exist and still have the correct SKU values?

Thank you.

 

J

James replied Support Agent

2 weeks ago on July 7, 2026 at 6:02 am

Hi Elena,

Are you able to Tools > Import WP > Settings / TOols > Enable Debug Mode.

Then run the importer again, then there should be a "show debug" link at the bottom right, copy and paste the debug logs into a text file and attach to this ticket, this should give me some information about how it is looking up your product sku.

James

EM

Elena replied

2 weeks ago on July 7, 2026 at 6:43 am

Thank you. I enabled Debug Mode and attached the debug log.

One thing I noticed is that the importer is looking up products using the _iwp_ref_uid meta field instead of the WooCommerce _sku field.

Most products fail with:

AbstractMapper::exists_get_identifier
field="_iwp_ref_uid"

followed by:

Not enough permissions to create record.

However, I also noticed that around record 60 the importer actually finds an existing product (PostMapper::update) and then fails with a different error:

Content, title and excerpt are empty.

Could this indicate that some _iwp_ref_uid values are missing or no longer match the current feed?

Is there a way to force Import WP to match existing WooCommerce products using the _sku field instead of _iwp_ref_uid?

J

James replied Support Agent

2 weeks ago on July 7, 2026 at 7:00 am

Yes, when you previously mentioned that you had your unique identifier set to

Unique Identifier = Product SKU.

I presumed this meant you had set this to the option for "Unqiue identifier" to  "Select a template field to be used as the unique identifier for each record.", and selected the "Product sku" field from the template field list.

Can you make this change as it should now match the sku field.

EM

Elena replied

2 weeks ago on July 7, 2026 at 7:25 am

Hi James,

I changed the importer exactly as you suggested:

  • Unique Identifier = "Select a template field to be used as the unique identifier"
  • Template Field = Product SKU

After making this change, the behaviour changed again.

I ran the importer for all products. The popup reports "Import complete" with 10 errors, (although I ran it with all positions not just 10) but this run is not added to the Import History, so no debug log is generated for it.

The latest entry in the Import History is still the previous run, which is still shown as "Status: running" even though that import finished.

It seems the new run is not being recorded at all.

I have attached a screenshot of the Import History.

J

James replied Support Agent

2 weeks ago on July 7, 2026 at 9:35 pm

Are you able to share a temporary login to this instance so i can inspect what is going on?

EM

Elena replied privately

2 weeks ago on July 8, 2026 at 2:13 am

J

James replied Support Agent

2 weeks ago on July 8, 2026 at 9:57 am

The login link did not work, it just redirects me to google

EM

Elena replied privately

2 weeks ago on July 8, 2026 at 10:34 am

J

James replied privately Support Agent

2 weeks ago on July 8, 2026 at 10:49 pm

EM

Elena replied privately

2 weeks ago on July 9, 2026 at 5:35 am

J

James replied Support Agent

2 weeks ago on July 9, 2026 at 10:26 pm

It looks as if your servers cache is also caching the importers rest: https://cartilevietii.ro/wp-json/iwp/v1/importer/ 

As when i change a setting in your importer, the returned data comes back correct showing that the data was saved, but then refreshing the page the data is stale again (i tried adding the rest api to your litespeed cache exclude, but browsing the rest response in the browsers network tab it shows as its cloudflare that is caching the page).

But getting back to the original issue, i was able to view the debug log for the importer, and it is now using the _sku field with the url that you have entered but it is unable to find any match, which is why there are errors (all saying that it cant create a new record as you have only enabled update).

For reference the debug log:

2026-07-09 22:13:24.137126 DEBUG rest::run_import - AbstractMapper::exists_get_identifier -type="field" -field="["_sku"]" -memory=25.95 MB
2026-07-09 22:13:24.137354 DEBUG rest::run_import - PostMapper::exists -query={"post_type":["product",product_variation],post_status:"any, trash, future",fields:"ids",cache_results:false,update_post_meta_cache:false,update_post_term_cache:false,no_found_rows:true,meta_query:[{"key":"_sku",value:"https:\/\/www.curteaveche.ro\/index.php?route=product\/product&product_id=44740"}]} -memory=25.95 MB
2026-07-09 22:13:24.143966 ERROR rest::run_import - import:0 -mapper-error=Not enough permissions to create record. -memory=25.97 MB

 

EM

Elena replied

1 week ago on July 13, 2026 at 10:21 am

Hi James,

I have just tried creating a new importer for testing.

When I click Save, it stays on "Saving..." indefinitely and never completes.

It seems consistent with the caching issue you mentioned.

Do you have any recommendation on what should be excluded from cache or what I should check?

 

J

James replied Support Agent

1 week ago on July 13, 2026 at 8:25 pm

All the data for the plugin is managed via the wp rest endpoint: https://cartilevietii.ro/wp-json/iwp/v1/importer/

If this route and all routes that start with this could be excluded from the cache.

James

EM

Elena replied

1 week ago on July 14, 2026 at 3:13 am

Hi James,

Thank you.

I'm not familiar with the caching configuration on this website.

Could you please let me know where you believe this cache is configured (Cloudflare, LiteSpeed Cache, hosting/server, or somewhere else), so I know where to exclude /wp-json/iwp/v1/importer/?

 

J

James replied Support Agent

1 week ago on July 15, 2026 at 9:49 pm

I think i mentioned cloudflare