Magento Adobe Commerce Magento Sync Products and Inventory via SOAP 2 ANOWAVE 0 9 7 7 1 1 Magento 2 ™ €149 90

Magento Sync Products and Inventory via SOAP

  • In Stock
  • Price:
  • €149 90
  • SKU:
  • Premium product
  • Add to Cart

Synchronizes products and inventory between two or more Magento installations automatically. Keeps stock data and quantity levels consistent on multiple Magento installations.

This extension allows for real time sync between two or more Magento installations. Product update is carried out silently in the background, automatically and in real time via SOAP. Syncs product data, media and pricing options between two or more Magento installations.

Built-in support for simple and configurable products.


If you're using multiple Magento installations to sell products it could quickly become cumbersome to keep data up-to date. This is especially valid for stock level quantities. When the same product is distributed over different channels there is a chance customers to purchase more items then you actually have in stock.

This extension allows for updating stock level quantities automatically across all channels. When a customer purchases a product in one of your stores, the remaining available quantity is updated throughout the other selling channels thus preventing wrong quantities.

It also  allows you to effectively import products and product data from one Magento installation to another in real time.

The module has to be installed on each of your servers. One of those servers is presumed Primary and the rest of them Slave. When a product update occurs in the Primary server, the module will use SOAP request to update the product on all other slave servers. If the product doesn't exist on any of the slave servers, it will be created automatically. If the product doesn't exist on all slave servers, it will be created on all of them. The extension successfully copies ALL product data such as name, description and pricing. Images are also copied and updated on all slave servers automatically. Last but not least, the module supports configurable products and copies/re-creates configurable's associated products (e.g. simple products with a configurable parent).

It also copies user defined attributes as well.


Key features


  • Sync up to 5 Magento installations via SOAP automatically.
  • Sync stock levels and quantities between 2 or more Magento installations
  • Sync pricing options
  • Automatically replicate newly created products between 2 or more Magento installations.
  • Automatically propagate updated product data throughout all Magento installations
  • Supports simple products
  • Supports configurable products
  • Selective synchronization based on product status
  • Ability to sync automatically or on demand via mass action
  • Ability to sync to particular slave server only via mass action BRAND NEW
  • Ability to sync to limited slave servers selectively, per product  BRAND NEW
  • Ability to use custom attribute for syncing products. Using SKU by default
  • Automatic schema verification to report differencies between attributes and attribute sets between 2 or more Magento installations
  • Ability to set a custom SKU prefix for each Magento
  • Ability to set custom image name for each Magento installation
  • Ability to sync custom attributes. Supports the following types: text, textarea, date, select, multi-select. NEW
  • Ability to exclude certain products from syncing automatically NEW
  • Ability to sync tier prices
  • Ability to sync custom product options BRAND NEW (APR, 2018)
  • Ability to sync primary and slave servers with different base currencies BRAND NEW (APR, 2018)
  • Ability to increment/decrement prices in slave servers by %. Each slave server can recieve different price based on settings in primary server. NEW
  • Ability to sync and revert quantities on credit memo/order cancellation BRAND NEW
  • Ability to sync categories with different hierarchies. Support for manuall category mapping BRAND NEW (MAY, 2018)
  • Built-in smart category mapping. Imports categories with mismatching primary/slave IDs.
  • Built-in automated crontask NEW
  • Does not rewrite existing blocks, models and controllers
  • Works silently on background
  • Works in Real Time.
  • No monthly fees


In this release the only requirement is to have the same attributes & attribute sets between all Magento installations. Automatic set and/or attributes synchronization is not supported.



Unlike other similar solutions, this extension allows for syncing two or more Magento installations running on different servers. It also keeps quantities consistent amongst each Magento installation prior and after purchase and/or quantity update.


Smart verification

The extension has built-in schema verification which when turned on will check the differencies between primary and slave servers in terms of attributes, attribute sets, and attribute options. If a discrepancy is detected the module will report these to admin and he/she knows where an attribute or attribute option is missing. When verification is turned off the module will still try to sync products between servers. As long as attributes aren't required, the product will be updated successfully. Attributes that don't match will not be set.


Known limitations

Due to performance optimizations some limitations exist. Find below a list of the limitations of this version. These will be added and supported most certianly in future releases of the extension:

  1. 2. Does NOT sync up-sells, related and cross sell products
  2. 3. Does NOT sync attributes and attribute sets
  3. 4. Does NOT sync product tags
Magento platform version
Administration,Manager enhancements
Latest version

All our products come with a 6 full months (180 days) of premium support. To report a bug, use our Premium Help Desk available in your account at Anowave.

Customer review(s)

Purchased Magento Sync Products and Inventory via SOAP

We're selling the same products through several channels and this extension saved us huge amount of time. Works as described and fits our needs. Support is excellent. We needed some additional stuff developed and the engineers from Anowave delivered quickly. Thank you.

Yes, I recommend this product

Purchased Magento Sync Products and Inventory via SOAP

This module does amazing job for us in terms of development, it keeps our staging server always up-to date and in sync with the data on production.

It's solid and well supported. We also like the number of customizable options.

Great work!

Yes, I recommend this product

Purchased Magento Sync Products and Inventory via SOAP

We bought this extension for a client of ours and I was a bit sceptical initially with regards to what can be expected in terms of synchronization but the extension works a charm. We have noticed that sync speed adds some delay especially when you sync a configurable product with multiple simples or product with multiple images but this can be expected. Anowave helped us optimise the module usage and it's now part of every build we do.

Awesome work and superb support so far!

Yes, I recommend this product

Purchased Magento Sync Products and Inventory via SOAP

Keeping live and stage server up-to date is a hard job espeically when you want to sync partial stuff. We use this module to sync our development severs but retain sales data. What we would like to see also is customer and sales/catalog rules sync but I presume these will be added by Anowave soon given the nice support we've had so far.

Keep up the good work!

Yes, I recommend this product

Note: By submitting a review you agree to our Terms and Conditions.

User Guide & Documentation


This extension can be installed in a few minutes, by going through the following steps:

  • Download/purchase the extension
  • Unzip the file in a temporary directory
  • Copy directory contents and paste it in your Magento installation root directory. This extension will NOT replace existing code.
  • Go to your admin panel and clear cache. Hit refresh on any of your Magento pages and you're done.



In order to work properly the extension MUST be installed on each Magento environment separately and configured accordigly. To better understand how to configure take the following as example.

  1. 1. Assume that you have 3 domains that you want to keep in sync e.g.,,
  2. 2. One of these domains is presumed Primary e.g. domain that will be updated and data will propagate to other domains automatically. Let be Primary in this case. Then and will be considered Slaves.
  3. Each domain has to have SOAP/XML-RPC User and Role configured in System -> Web services with full permissions on all resources.


Configuring SOAP (Users & Roles)

To use the extension, you need to create an API user in Magento. This API user is also related to a so-called API role. By default, there is neither API user nor API role, so you need to configure both.

First an API role needs to be added. Login to the Magento Admin Panel and navigate to System > Web Services > Roles.

Create a new API role

This page lists the current API roles. If there none listed yet, click on Add New Role.

Every role needs a name. This can be anything. Just make sure it is descriptive enough for yourself. The second tab on the left (Role Resources) allows you to select which resources should be available for users with this role. While you can select exactly which privileges are given, we recommend you select All unless you're willing to spend hours with experimenting.

Create a new API user

Now that the role is created, you can add an user that makes use of this role. The strange thing here is that the user fields here seem to indicate a person or individual, while in fact we're creating a system account of some kind. The fields First Name, Last Name and Email just need to be filled in with any value you like. Make sure the User Name and Api Key are secure enough. he second tab on the left is called User Role, and that's where you select the role earlier created.



To explain how to configure module, it is best to use an example. Presume that you want to sync 2 Magento installations (the same would work for 3 or more).

a) Presume your first server is We'll refer to this as Primary server
b) Presume your second server is We'll refer to this as Slave server

The extension can be configured quickly and requires minimum amount of knowledge. To configure the extension:



  1. 1. Go to System -> Configuration -> Anowave Extensions -> SOAP Sync Settings
  2. 2. Enter your license key
  3. 3. Configure additional settings/options
  4. 4. Set server type e.g. Primary
  5. 5. Enter WSDLs (up to 5 supported). The WSDL address for Magento is usually located at http://<domain>/api/v2_soap?wsdl=1
    In our example, it would be etc.
    In WSDL1 address enter
  6. 6. Enter SOAP username and password (as described in Users & Roles above). These should be the ones that exist on Slave server.
  7. 7. Configure additional settings.



  1. 1. Go to System -> Configuration -> Anowave Extensions -> SOAP Sync Settings
  2. 2. Enter your license key
  3. 3. Configure additional settings/options
  4. 4. Set server type to Slave
  5. 5. Enter WSDLs (up to 5 supported). The WSDL address for Magento is usually located at http://<domain>/api/v2_soap?wsdl=1
    In our example, it would be etc.
    In WSDL1 address enter
  6. 6. Enter SOAP username and password (as described in Users & Roles above). These should be the ones that exist in Primary server
  7. 7. Configure additional settings.


In effect the idea is to configure reciprocal settings e.g. the WSDL address in Primary server points to Slave server and vise-versa, the WSDL address in Slave server points to Primary server. This way when an update occurs on Primary server it will update all slave servers specified. This works for Slave server as well, when an order occurs in Slave server it will update primary server in terms of stock levels etc


Updating select/dropdown attributes.

By default the extension will sync only default product attributes and text attributes. To sync user defined attributes which are dropdown, you need to describe them explicitly. This can be done from the extension's configuration screen under Advanced settings. Type the attribute codes as comma separated strings in Custom attributes field.

Attribute codes can be obtained in Catalog -> Attributes -> Manage attributes


Inventory & Stock levels

Stock levels at product create/update

The module will update/set stock levels and propagate the data to all slave servers when product is updated/created on Primary server.


Stock levels at transaction/order

The current version of the module will pick the quantity from the server where order occurs and use that quantity as "lowest" quantity. This quantity will be propagated through other connected servers. We chose this approach as default in favor of performance. On servers where order placement concurrency is unlikely to occur, it works well and it's a good trade between accuracy and performance.

For setups where orders can occur simultaniously,  the extension comes with a built-in functionality to check the lowest quantity accross all servers upon order. This however is turned off by default and requires a small code change to activate.



It's recommended to turn OFF cache during testing. To turn off WSDL cache go to System -> Configuration -> Magento Core API -> General Settings and set Enable WSDL cache to "No". Before testing you may also have to flush browser cache and any WSDL cache that is stored on your server. Often servers keep cached WSDL files so make sure to refresh server WSDL cache as well.



The module supports SSL however if you have password protected pages via .htaccess rules, it will fail to load the WSDL files. They are loaded by using an HTTP protocol and .htaccess passwords will prevent the module from reading the WSDL file, thus leading to unpredicted behaviour. To ensure that the module can read the WSDL file, open a browser where .htaccess passwords aren't remembered and try to load the WSDL URL. It should display a valid XML file.



Once everything works correctly, you can improve performace by doing a few simple steps. These would apply for both Primary and Slave servers.

Enable WSDL cache
To turn ON WSDL cache go to System -> Configuration -> Magento Core API -> General Settings and set Enable WSDL cache to "Yes".

Enable default Magento cache
To turn ON WSDL cache go to System -> Cache Management and enable both Web Services Configurations (api.xml and api2.xml)

Enable WSDL cache at code level
Edit file app\code\local\Anowave\SoapSync\Model\Wsdl\Abstract.php (line 92) change WSDL_CACHE_NONE to WSDL_CACHE_MEMORY and flush Magento cache from backend

Turn OFF Schema Verification
Before propagating data to Slave servers, the module tries to compare attribute sets and attributes themselves to identify any differencies that may cause product to not save properly. If you're 100% sure that your servers are identical, you can turn off verification. This will speed up the whole process. To turn of Verification go to System -> Configuration -> SOAP Sync Settings and set Verify Schema to "No"



Now: Next:

If you like this product, share it with your friends

Extensions for Magento

Anowave is an extension developer for Magento 1.x and Magento 2.x platforms. We provide a wide range of premium extensions for our in-house and public clients. The extensions that we offer extend the capabilities of Magento and provide a bespoke functionality. They also fill some missing gaps in the functionality provided by the base platform and help customers in chosing Magento as prefered ecommerce platform.

The extensions that we offer are part of our full range Magento service which includes also a Premium Helpdesk where customers get to speak with actual software engineers and get their issues resolved without hussle. Premium labeled modules also include free installation, confiuration, testing etc.