How to generate sequential SKUs in bulk
How to generate sequential SKUs in bulk
BEAR supports automatic sequential SKU generation during bulk edit. Instead of assigning the same SKU to all products, you can define a starting number and BEAR will increment it for each product automatically.
Example result for 3 products with input 10300+:
- Product 1 → 10300
- Product 2 → 10301
- Product 3 → 10302
—
Syntax
In the Bulk Edit tab, in the SKU field, use the following pattern:
{prefix}{start}+{step}
- prefix — optional text before the number, e.g.
ABC- - start — the number to start from, e.g.
10300 - + — the plus sign activates sequential mode
- step — optional, how much to increment each time. Defaults to
1if omitted - in drop-down select ‘new‘
—
Examples
10300+→ 10300 / 10301 / 1030210300+5→ 10300 / 10305 / 10310ABC-1000+→ ABC-1000 / ABC-1001 / ABC-1002SKU-200+10→ SKU-200 / SKU-210 / SKU-220
—
Step by step
- Go to Products Editor
- Select the products you want to re-SKU using checkboxes. Hold Shift to select a range
- Open the Bulk Edit tab
- Enable the SKU field checkbox
- Set behavior to new
- Enter your pattern in the SKU field, for example
10300+ - Click Do Bulk Edit and wait
Products receive SKUs in the order they appear in the current table — top to bottom.
Note: before applying sequential SKUs, make sure the chosen number range does not overlap with any SKUs already existing in your shop. You can verify this using the Filters tab — filter by SKU using the LIKE behavior with your starting number.
—
Works with variations too
Enable the Variations switcher in the tools panel, select the variation rows you want to update, then apply the same syntax in Bulk Edit. Sequential SKUs will be assigned to each variation row in order.
—
Works with filtering too
You can filter products first — by category, type, or any other parameter — and then apply sequential SKUs to the entire filtered set, not just what is visible on the current page.
To disable such behaviour use hook:
add_filter('woobe_sku_auto_increment', '__return_false');
