falconmedia / magento2-product-data-sync
Safe, repeatable, multi-store product data synchronization between products
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 0
Forks: 1
Open Issues: 0
Type:magento2-module
pkg:composer/falconmedia/magento2-product-data-sync
Requires
- php: ^8.1 || ^8.2 || ^8.3
- magento/framework: *
- magento/module-backend: *
- magento/module-catalog: *
- magento/module-eav: *
- magento/module-store: *
- magento/module-ui: *
This package is auto-updated.
Last update: 2026-01-27 10:04:30 UTC
README
A powerful Magento 2 module for safely synchronizing product data between products with support for multi-store configurations, attribute filtering, and comprehensive logging.
Features
-
Multi-Store Support: Sync product data across multiple store views with three modes:
- All for target: Sync only to default store and target product's stores
- All from source: Link all source stores to target and copy all overridden attributes
- Specific: Sync to a specific store view
-
Profile-Based Configuration: Create reusable sync profiles with:
- Custom attribute selection
- Protected attributes (never synced)
- Sync behavior settings (skip empty, fill empty only, etc.)
- Store scope behavior configuration
- Execution settings (batch size, max pairs per run)
-
Safe Attribute Handling:
- Automatically skips global attributes when syncing to store views
- Skips unique attributes (SKU, URL key, etc.) in store views
- Detects and skips attributes that use default values to prevent constraint violations
- Validates image file existence before syncing
-
Comprehensive Logging:
- Detailed run history with success/failure tracking
- Per-item logging with store view information
- Custom log file:
var/log/product-data-sync.log - Detailed error messages with stack traces
-
Dry Run Support: Validate product pairs before actual sync
-
Run History: Track all sync operations with detailed results
-
Batch Processing: Process large product sets efficiently
Requirements
- Magento 2.4.x
- PHP 8.1, 8.2, or 8.3
- MySQL/MariaDB
Installation
Via Composer
composer require falconmedia/magento2-product-data-sync bin/magento setup:upgrade bin/magento cache:clean
Manual Installation
- Copy the module to
app/code/FalconMedia/ProductDataSyncor add as a package - Run:
bin/magento setup:upgrade bin/magento cache:clean
Usage
Creating a Sync Profile
- Navigate to Catalog > Product Data Sync > Profiles

- Click Add New Profile

- Configure:
- Profile Name: Descriptive name for the profile
- Attributes: Select which attributes to sync
- Protected Attributes: Attributes that should never be synced (default: SKU, entity_id, type_id, attribute_set_id)
- Sync Behavior: Configure how to handle empty values
- Store Scope Behavior: How to handle store-scoped attributes
- Execution Settings: Batch size and limits

Syncing Products
- Navigate to Catalog > Product Data Sync > Sync Products
- Select a Profile
- Choose Stores Mode:
- All for target: Sync to default + target product's stores
- All from source: Link all source stores and copy overridden attributes
- Specific: Sync to a specific store view
4. Add product pairs (Source SKU → Target SKU)
- Click on
Add Rowto add an extra row - You can copy two rows from a spreadsheet and paste it through
Paste from Clipboard - You can upload a comma separeted CSV file through
Upload CSV
- Click Validate to check pairs, Dry Run to test, or Run Sync to execute
Viewing Run History
- Navigate to Catalog > Product Data Sync > Run History
- View all sync runs with status, item counts, and duration
- Click View to see detailed results per product pair
- To see the changes of the attributes click on the button Show synced attributes to execute the same sync again

Configuration
Store Scope Behavior
- Per Store: All attributes saved with selected store context
- Global: Global attributes saved on store 0, store attributes with selected store
- Inherit: Use attribute's own scope setting
Sync Behavior
- Skip Empty Source: Don't copy attributes with empty source values
- Only Fill Empty Target: Only copy if target attribute is empty
Logging
All sync operations are logged to var/log/product-data-sync.log with:
- Start/end of sync operations
- Product loading details
- Attribute processing results
- Detailed error information with stack traces
- Skipped attributes with reasons
Troubleshooting
Unique Constraint Violations
If you encounter unique constraint violations:
- The module automatically skips attributes that use default values
- Check the log file for detailed information about which attributes are skipped
- Ensure you're not trying to sync global attributes to store views
License
Copyright (c) 2026 Falcon Media (https://www.falconmedia.nl/) See LICENSE file for details.
Support
For issues, questions, or contributions, please open an issue on GitHub.
Author
Falcon Media
- Website: https://www.falconmedia.nl/
- Email: info@falconmedia.nl


