If you sell more than a handful of products, manually entering GPSR data for each one is not realistic. CSV imports let you update hundreds or thousands of products at once, adding manufacturer details, authorized representative info, and safety URLs in a single upload. Here is how to do it right.
What GPSR Columns Do You Need?
Before you open a spreadsheet, you need to know exactly which fields your import file should contain. Under GPSR, every product sold in the EU must display:
- Manufacturer name and trade name (if different)
- Manufacturer postal address (street, city, postal code, country)
- Manufacturer email or phone number
- Authorized representative details (if the manufacturer is outside the EU)
- A link to safety/compliance documentation (optional but recommended)
When using the GPSR Compliance for WooCommerce plugin, these map to specific meta fields that you can include as columns in your CSV. The plugin documentation lists all supported field names, but the most common ones are the manufacturer ID (linking to a saved manufacturer entry) and an optional override for the authorized representative.
Preparing Your CSV File
Start with a WooCommerce product export. Go to Products, then Export, and include at least the product ID or SKU column so WooCommerce can match rows to existing products. Then add the GPSR columns.
A few formatting tips that will save you headaches:
- Use UTF-8 encoding. Special characters in European addresses (umlauts, accents, cedillas) break in ANSI encoding. Save as UTF-8 CSV, not just “CSV” in Excel.
- Country codes should be ISO 3166-1 alpha-2. That means DE for Germany, FR for France, PL for Poland. Do not write out full country names.
- Quote fields that contain commas. A street address like “Musterstraße 12, Building C” needs to be wrapped in double quotes so the comma is not treated as a column separator.
- Keep one product per row. If a product has variations, each variation that needs distinct GPSR data gets its own row (more on this in a moment).
Mapping Manufacturer Data
The cleanest approach is to create your manufacturers in the plugin first, then reference them by ID in the CSV. This way, if a manufacturer address changes later, you update it once and every linked product reflects the change automatically.
Your CSV row might look like this: product SKU in one column, manufacturer ID in another. Our plugin handles the rest, pulling the full address, contact details, and representative info from the stored manufacturer record.
If you prefer to include the full manufacturer data inline (without pre-creating entries), that works too, but you will end up with a wider spreadsheet and more room for typos.
Running the Import
Use the standard WooCommerce CSV importer at Products, then Import. Upload your file, map columns on the mapping screen, and run the import. For large catalogs (5,000+ products), consider splitting the file into batches of 1,000-2,000 rows. This keeps the import from timing out on shared hosting.
After the import finishes, spot-check a few products. Open them in the editor and confirm the GPSR tab shows the correct manufacturer and address. Check the frontend too, because that is what the EU market surveillance authorities will actually see.
Troubleshooting Common Import Errors
Here are the issues that come up most often:
- Manufacturer ID not found. Double-check that the ID exists in the plugin. If you recently created it, the ID is visible on the manufacturer edit screen.
- Empty GPSR fields after import. Usually a column mapping problem. The WooCommerce importer lets you map CSV headers to product fields. Make sure the GPSR columns are mapped correctly, not left as “Do not import.”
- Encoding issues. Garbled characters like “München” instead of “München” mean the file was not saved as UTF-8. Re-export from your spreadsheet app with UTF-8 encoding selected.
- Timeout on large files. Increase PHP max_execution_time or split the CSV. Most managed hosts set a 30-second limit, which is tight for big imports.
Keeping Data in Sync
CSV imports are great for the initial setup, but ongoing maintenance matters too. If you regularly add new products, build the GPSR columns into your standard product creation workflow. Export a template CSV with all the right headers, share it with your team, and make it part of the process.
For stores that sync inventory from external systems (ERPs, PIMs, dropshipping feeds), consider using the GPSR Compliance plugin’s REST API instead of CSV. It allows real-time updates without manual file handling. But for one-time migrations or periodic bulk updates, CSV remains the simplest option.