Magento Sync Products and Inventory via SOAP

Extension for Magento by Anowave

  • In Stock
  • Price:
  • €149 90
  • SKU:
  • MAGE-SYNCPI
  • Premium product
  • Premium product
  • MADE IN



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.

Overview

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 NEW
  • Selective synchronization based on product status NEW
  • Ability to sync automatically or on demand via mass action. NEW
  • Ability to use custom attribute for syncing products. Using SKU by default. NEW
  • 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, date, select. NEW
  • Ability to exclude certain products from syncing automatically NEW
  • Ability to sync tier prices
  • Ability to increment/decrement prices in slave servers by %. Each slave server can recieve different price based on settings in primary server. NEW
  • Built-in smart category mapping. Imports categories with mismatching primary/slave IDs.
  • Built-in automated crontask BRAND NEW
  • Does not rewrite existing blocks, models and controllers
  • Works silently on background
  • Works in Real Time.
  • No monthly fees


Requirements

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.

 

Benefits

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. 1. Does NOT sync product custom options
  2. 2. Does NOT sync up-sells, related and cross sell products
  3. 3. Does NOT sync attributes and attribute sets
  4. 4. Does NOT sync product tags
Extension version
0.1.0
Magento platform version
1.7.*,1.8.*,1.9.*
Application/Purpose
Administration,Manager enhancements
Type
Commercial

Our products come with a premium support. To report a bug, use our Premium Help Desk available in your account at Anowave.

Customer review(s)

Rebecca Lee

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

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





User Guide & Documentation

Installation

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.

 

Prerequisites

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. example1.com, example2.com, example3.com
  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 example1.com be Primary in this case. Then example2.com and example3.com 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.

 

Configuration

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 http://example1.com. We'll refer to this as Primary server
b) Presume your second server is http://example2.com. We'll refer to this as Slave server

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

 

CONFIGURATION AT PRIMARY SERVER

  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 http://example2.com/api/v2_soap?wsdl=1 etc.
    In WSDL1 address enter http://example2.com/api/v2_soap?wsdl=1
  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.

 

CONFIGURATION AT SLAVE SERVER

  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 http://example1.com/api/v2_soap?wsdl=1 etc.
    In WSDL1 address enter http://example1.com/api/v2_soap?wsdl=1
  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.

 

WSDL CACHE

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.

 

SSL and .HTACCES

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.

 

PERFORMANCE

Once everything works correctly, you can improve performace by doing a few simple steps. Thse 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_BOTH 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"

 

Installation

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.