Skip to content

Product Import Configuration

The Product Import integration allows you to batch-create WooCommerce products from a remote service. It handles product creation, attribute mapping, category hierarchy, and conditional skipping of products.

General Options

Create product types

Determines which products are created in WooCommerce:

  • Only simple products: All remote products are created as simple WC products.
  • Only variable products: Attempts to group remote products into variable products.
  • Both simple and variable products: (Default) Mixed creation based on grouping logic.

Import images

If checked, the plugin will fetch the featured image and any gallery images from the remote service and attach them to the WooCommerce product.

Attribute Configuration

The attributes table allows you to map remote data paths to WooCommerce product attributes.

ColumnDescription
Attribute nameThe label for the attribute in WooCommerce (e.g., "Color").
Attribute (WC)A dropdown to select an existing global WooCommerce attribute (taxonomy).
Field key (remote)A dropdown to select the source field from the remote service (e.g., "Color" or "Brand").
SeparatorIf the remote field contains multiple values, specify the separator (e.g., :).
Separator nthSpecify which part of the separated value to import (1-based index). Leave empty to import everything. Example: If the remote field is Color:Red and you use : as a separator: - Index 1 imports Color - Index 2 imports Red
Is visibleIf checked, the attribute is visible on the product page in the "Additional Information" tab.
Is variationIf checked, the attribute is used for product variations.
Is taxonomyIf checked, the data is saved as a global WC attribute (taxonomy).
SortDetermines how attribute terms are sorted when saved to the product. This ensures attributes like sizes or colors appear in a logical order rather than the order they are received. Example: If remote sizes are sent as 44, 40, 42, choosing Numeric Sort will save them as 40, 42, 44 on the product page.

Category Synchronization

Remote categories are automatically imported during product creation. The system:

  1. Recursively builds the category tree from the remote service.
  2. Creates matching product_cat terms in WooCommerce.
  3. Stores the remote category ID in term meta to prevent duplicates.

You can skip products based on their category by selecting Category Name from the dropdown in the Skip Config.

Skip Configuration (Product Filtering)

The skips table uses OR logic. If any rule in the table matches a product, that product will be skipped (not imported).

Available Operators

OperatorUsage
is equal toSkips if the field exactly matches the value. Example: Category Name is equal to Accessories will skip all products in that exact category.
is not equal toSkips if the field does not exactly match the value. Example: Brand is not equal to Nike will skip everything except Nike products.
containsSkips if the field contains the specified string. Example: Product Name contains Refurbished will skip all products with "Refurbished" in their title.
does not containSkips if the field is missing the specified string. Example: Product Name does not contain New will skip products that don't have "New" in the title.
is in listSkips if the field matches any item in a comma-separated list. Example: Brand is in list Adidas, Puma, Reebok will skip all three brands.
is not in listSkips if the field is not found in the comma-separated list. Example: Category Name is not in list Running, Training will skip any product not in those two categories.

Field Configuration Examples

The Field key (remote) is a dropdown that lists various data sources from the remote service. Examples of what you will see in the dropdown:

  • Product Code: The SKU or reference code.
  • Category Name: A list of all assigned category names.
  • Brand (or other attribute names): Accesses a specific product attribute.

Examples & Common Pitfalls

❌ The "Double Not" Pitfall (Broken Whitelisting)

If you want to sync only products from "Category A" and "Category B", do NOT do this:

  1. Skip if Category Name is not equal to Category A
  2. Skip if Category Name is not equal to Category B

Why? A product from "Category A" will trigger rule #2 (because it's not Category B) and will be skipped.

✅ Correct Whitelisting (Using 'not in list')

To sync only specific categories, use a single rule:

  • Field: Category Name
  • Operator: is not in list (comma separated)
  • Value: Category A, Category B

This evaluates the product's categories against your list in one check.

Skipping by Brand

  • Field: Brand
  • Operator: is equal to
  • Value: GenericVendor Result: Any product with the exact brand "GenericVendor" will be ignored.

Running & Scheduling Imports

The product import process is a heavy task that can be triggered in two ways:

Admin UI (Small Catalogs)

Inside the integration settings, use the Create products from Remote button.

  • When to use: Best for initial setup, testing, or very small product sets.
  • Warning: This runs within your browser session. If you have a large product set, the server will likely time out before finishing.

WP-CLI (Large Catalogs & Production)

For reliable performance, always use the command line. This bypasses web server limits:

wp <service-slug> create-wc-products

Note: Replace <service-slug> with the name of your specific plugin, such as alta, fina, odoo, etc.

Scheduling & Best Practices

  • Import Frequency: Since importing involves creating records and downloading images, it is recommended to schedule this command via Cron only once per day (e.g., at midnight).
  • Import vs. Sync: Do not confuse Importing with Syncing.
    • Importing (creating new products) should run once a day.
    • Syncing (updating price/stock) can run every 10-15 minutes.
  • Images: Only enable the "Import images" option if absolutely necessary, as it significantly increases the time required for each import.

View Raw Products (Debugging)

Next to the import button, you will find the View Raw Products button.

  • Purpose: This button allows you to see exactly how the plugin "sees" the product catalog as it comes directly from the remote source.
  • Usage: Use this for debugging to verify if specific fields (like Brand, Category, or SKU) are being correctly retrieved before you attempt an actual import.