WooCommerce Shipping Sync Export / Import
Export and import WooCommerce shipping classes and table-rate rows from WooCommerce > Settings > Shipping > Export / Import.
by TFA · github.com/raivis-kalnins/wc-shipping-sync-export-import
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/raivis-kalnins/wc-shipping-sync-export-import/archive/refs/heads/master.zipA small WordPress plugin for exporting and importing WooCommerce shipping data from inside the WooCommerce admin area.
The plugin adds a new section at:
WooCommerce → Settings → Shipping → Export / Import
Features
Shipping classes
- Export WooCommerce shipping classes to CSV.
- Import WooCommerce shipping classes from CSV.
- Paste copied shipping-class table text and import it.
- Create missing shipping classes by name/slug.
- Update existing shipping-class descriptions when possible.
Table rates
- Export WooCommerce table-rate rows to CSV.
- Import table-rate rows from CSV.
- Preview imported/existing table rates in the admin screen.
- Delete selected table-rate rows.
- Delete all table-rate rows.
- Map old numeric
rate_classIDs to the correct WooCommerce shipping classes. - Re-link imported table rates to a real WooCommerce shipping method instance.
Installation
- Download the plugin ZIP file.
- In WordPress admin, go to Plugins → Add New → Upload Plugin.
- Upload the ZIP file.
- Activate WooCommerce Shipping Sync Export / Import.
- Go to WooCommerce → Settings → Shipping → Export / Import.
Requirements
- WordPress
- WooCommerce
- A user account with permission to manage WooCommerce settings
- For table-rate export/import, the WooCommerce table-rate database table must exist
The plugin looks for this table by default:
{database_prefix}woocommerce_shipping_table_rates
Example:
wp_woocommerce_shipping_table_rates
Shipping classes CSV format
The export uses these columns:
ID,Name,Slug,Description,Product Count
Example:
ID,Name,Slug,Description,Product Count
123,Large Item,large-item,"Large product shipping class",42
When importing, the plugin mainly uses Name, Slug, and Description. IDs from another site may not match the destination site and should not be relied on for syncing.
Table rates CSV format
The table-rate export/import uses these columns:
rate_id,rate_class,rate_condition,rate_min,rate_max,rate_cost,rate_cost_per_item,rate_cost_per_weight_unit,rate_cost_percent,rate_label,rate_priority,rate_order,shipping_method_id,rate_abort,rate_abort_reason
Example:
rate_id,rate_class,rate_condition,rate_min,rate_max,rate_cost,rate_cost_per_item,rate_cost_per_weight_unit,rate_cost_percent,rate_label,rate_priority,rate_order,shipping_method_id,rate_abort,rate_abort_reason
1,0,subtotal,0,50,5,0,0,0,Standard,0,0,table_rate:1,0,
Recommended sync workflow
- On the source site, export Shipping Classes CSV.
- On the destination site, import Shipping Classes CSV first.
- On the source site, export Table Rates CSV.
- On the destination site, import Table Rates CSV.
- If the table rates use old numeric class IDs, use the mapping tool to map old
rate_classvalues to the destination site's shipping classes. - Re-link imported table rates to the correct WooCommerce shipping method instance if needed.
- Test checkout shipping calculations before using the imported rates on a live store.
Safety notes
- Back up the database before importing or deleting table rates.
- Test on staging first when possible.
- Imported shipping-class IDs from another site may not match the destination site.
- Table-rate method instance IDs can differ between sites, so imported rates may need to be re-linked.
- Deleting all table rates is destructive and should only be used after a backup.
Moving from theme-based import
If your theme previously loaded a file such as shipping-import.php, remove that include from the theme after activating this plugin.
Keeping both the old theme import file and this plugin active can create duplicate admin screens or duplicated PHP functions.
Version
Current plugin version: 1.4.0
Changelog
1.4.0
- Moved theme-based shipping import functionality into a standalone plugin.
- Added combined Export / Import section under WooCommerce shipping settings.
- Added shipping classes export/import.
- Added table rates export/import and management tools.
1.3.0
- Fixed CSV downloads by using secure
admin-post.phpexport links.
1.2.0
- Added table-rate CSV export.
1.1.0
- Added export page under WooCommerce shipping settings.
1.0.0
- Initial shipping classes CSV export plugin.