Bulk Product Entry in an Online Store: From 4 Hours to 20 Minutes
Manually entering product data into a web-based admin panel is one of the most common automation opportunities. Here's a real case with 200 products, 12 fields each.
The Problem: 200 Products, 12 Fields Each
A small online store received supplier stock updates every week - roughly 200 new or updated products in an Excel spreadsheet. Each product had 12 fields: name, SKU, description, price, sale price, category, tags, weight, dimensions, image filename, stock quantity, and visibility status. The store manager spent 4+ hours every week manually copying this data into the WooCommerce admin panel, one product at a time.
At 2 minutes per product times 200 products, the math is unforgiving: 400 minutes, or over 6 hours when you account for navigation errors, page reloads, and session timeouts. A Repio macro reduced this to 20 minutes of unattended automation.
Data Preparation
Rather than having the macro navigate Excel directly (risky - Excel formulas and merged cells cause issues), we export a clean CSV from the spreadsheet and prepare a plain text queue file with one product per block, separated by blank lines. The accountant does this preparation in 2 minutes using a simple Excel macro or filter-and-copy operation.
Product Name: Winter Jacket Pro SKU: WJP-2026-BLK Price: 89.99 Sale Price: 69.99 Category: Outerwear Stock: 150 Product Name: Thermal Gloves XL SKU: TGX-2026-L Price: 24.99 Sale Price: Category: Accessories Stock: 300
Macro Structure
The macro has two layers: an outer loop that iterates through products, and an inner sequence that handles each field within a product form. The outer loop runs 200 times (or however many products are in the queue). The inner sequence for each product is about 35 actions:
- Navigate to admin panel: Products - Add New (Ctrl+T for new tab, type URL, Enter)
- Wait for page load (2000ms delay)
- Fill product name (Tab to field, Ctrl+V from Notepad line 1)
- Fill SKU, price, category via Tab navigation
- Upload image using the media library dialog
- Click Publish button
- Wait for success message (1500ms)
- Advance Notepad to next product block
Field Mapping and Tab Navigation
WooCommerce forms use predictable Tab-key ordering for standard fields. We recorded one complete product entry manually, noted the exact Tab count to reach each field, and encoded that in the macro. For less predictable fields like the image upload button, we used absolute click coordinates captured during recording.
action_type,button,x,y,delay_ms,comment key,ctrl+t,,,200,New tab type,https://store.com/wp-admin/post-new.php?post_type=product,,,100, key,enter,,,2000,Wait for page load click,left,640,320,150,Click title field key,ctrl+v,,,100,Paste product name key,tab,,,80, key,tab,,,80, key,ctrl+v,,,100,Paste SKU
Error Handling with Breakpoints
We used Repio breakpoints strategically: a breakpoint was set at row 1 of the loop body (the first action of each product). During the test run with 5 products (loop count=5), we checked each result manually before scaling to 200. Breakpoints also serve as recovery points - if the browser shows a session expired dialog at product 87, the macro pauses and lets a human dismiss it, then continues automatically.
Results
After: 20 minutes weekly for 200 products, zero transcription errors
Setup time: 2 hours (recording + loop + breakpoint testing)
Time saved: 6+ hours per week, 24+ hours per month
Ready to automate your product catalog?
Download Repio free and set up your e-commerce automation today.
Download Repio Free