solutions for e-commerce

13 years of business 2555 reviews 4.9 average rating
Magento 2

Mass Stock Update

Mass Stock Update allows you to update manually or automatically all Magento stocks attributes in one go through any CSV or XML files available from the Magento's file system or any remote server through HTTP or FTP.

5/5 rated
25 Reviews
from €245
User guide

Mass Stock Update allows you to update all your product stocks in Magento in no time thanks to CSV and XML files available from your website's server, from remote servers through FTP, HTTP or a Webservice.

How to configure Mass Stock Update

Configure Mass Stock Update in a general way

General settings

To configure Mass Stock Update in a general way, you have to go in:
StoresSETTINGSConfigurationWYOMINDMass STOCK UPDATE

Enable log

Allows you to activate the log file available under the var/log directory.
The file is named Wyomind_MassStockUpdate.log.
The log file will be written only if the primary log file is active in:
Stores Configuration Advanced  Developer  Logs settings

M2E Pro update

Notify M2E Pro globally about some change in products
If enabled, updates are transferred to M2E Pro whatever the modification is.
If disabled, the module will only notify M2E Pro that there is an update if the price or the quantity changes.
This feature is only available when the M2E Pro module is installed and enabled.

Number of rows in the mapping preview

Allows you to define the number of rows returned in the browser data of the preview when editing a profile.
The more the number of rows is important, the more the load time increases. Then, 1000 rows is a good compromise.

Cron job reporting

Mass Stock Update includes a reporting tool that notifies you each time a profile runs, and so if an error happens.

  • Enable cron job reporting
    Allows you to define whether you want to enable the reporting or not.
  • Sender Email
    Type the email of the sender. 
  • Sender Name
    Define the name of the sender. 
  • Send the reports to
    Specify the email addresses to which the report must be sent. Emails must be separated with a comma (,). 
  • Report title
    Define your own title for the report. 

For more details about the cron tasks, check how to configure the cron tasks in a profile.

Cron interval

By default, cron tasks can be scheduled for each period of 30 minutes. 

If you need a more precise hour, you can change that interval in the Cron interval field. 

Check our faq to see how to change the cron interval.

Create an update profile in Mass Stock Update

To update Magento stocks, you can edit a sample profile or create a new one by clicking on Create a new profile from:
SystemData TransferMass Stock Update

Black Box

The black-box is a tool that will help you configure your mapping seamlessly. It is composed of 3 major features.

Input Data

To get a preview of the input data, click on INPUT DATA.

Library

The library allows you to check what are the values you can use for each attribute. You will also find some examples to help you.

Output Data

Clicking on OUTPUT DATA will give you a preview of the data as they'll be updated.

Settings

In this section, you will be able to define the source of the data.

Profile settings

Define the settings for your profile.  

  • Enabled
    You can enable/disable the profile.
    Note that the profile is disabled by default when it results from a duplication.
  • Profile Name
    Only alphabetic and number are allowed + hyphens (-) and underscores (_).
    Profile's name must be unique.
  • SQL mode
    When SQL mode is enabled, no data are updated. Running the profile will only produce a SQL file. This file could be executed directly in your database manager.
    If you activate SQL mode, you'll need to fill in several fields:
  • SQL file name
    Name of the SQL file to generate. 
    XML_sample.sql
  • SQL file path
    Is the path where the SQL file will be generated (relative to Magento root folder). 
    var/sample

  • Filter lines
    Leave empty to preview all lines.

    Type the numbers of the lines you want to import, making sure to separate each line or range with a comma (,):
    e.g: 2,4,6,8,10 
    means lines 2,4,6,8,10 will be imported

    Use a dash (-) to denote a range of lines:

    e.g: 8-10
    means lines 8,9,10 will be imported

    Use a plus (+) to import all lines from a line number:
    e.g: 4+
    means all lines from line 4 will be imported

    Note that you can combine all those options. For example, to import lines 2,6,7,8,9,10,15,16,17,...:2,6-10,15+

You can then click Input data from the blackbox to see your source file.

File Location

This section allows you to specify where the source data file is stored and what is the file path. Note that you won't be able to save the source file path if the path is invalid.
You have several options:

  • Magento File System  
    The file is stored in the Magento root directory or a subdirectory of the Magento root directory.
    The file path is relative to Magento root folder.
    /directory1/directory2/file.csv
  • FTP server  
    The file is stored on a remote server available from FTP or SFTP.
    The file path is relative to the FTP user root folder.
    You can also use FTPS (SSL over FTP) for downloading the import file.
  • URL
    The file is stored on a remote server available from HTTP or HTTPS.

    The file path is the URL of the file. 
    http://www.website.com/Inventory/AvailableInventory  
    If you are using HTTP authentication, you must add the login and the password before the URL in the below format:
    http://login:password@www.website.com/Inventory/AvailableInventory

    If you are using a specific port, you can use the below format:
    http://login:password@www.website.com:port/Inventory/AvailableInventory
  • Web service
    The file is available on a remote server accessible as a web service.
    The extension uses the CURL PHP library to connect the web service.
    The file path is the URL of the web service.
    You can provide the web service with a login/password couple and any parameters formatted as URL parameters, as follows:
    parameter1=value1&parameter2=value2&parameter3=value3
  • Dropbox
    You can generate your token from your Dropbox account https://www.dropbox.com/developers/apps

    The file path is the URL of the dropbox service.

Note you can drag and drop files from your desktop. Only TXT, CSV, or XML files are allowed.

File Type

Allows you to specify the file type used for the update, XML, JSON, or CSV.

  • File type
    You have the choice between CSV, XML, and JSON files.

For CSV files, define:

  • Column separator
    Define the column separator.
  • Text delimiter
    Select the text delimiter.
  • The first line is a header
    Specify when the first line is a header.
  • Magento export file
    Magento default export files are made of empty rows with values related to main rows, activating this option will merge the values into the main rows.


For XML and JSON files, define: 

  • Path to products
    Fill in the path that targets the products. The path is case-sensitive.
    See how to define the path to products for your XML or JSON files. 
  • Data structure
    You have two options: Automatic detection or Predefined structure
    The automatic detection fits for simple files made of only one nesting level such as the above file sample.
    If you've selected the Predefined structure, see how to define your own file structure for your XML or JSON files. 

Post Process Action

You have the possibility to define an action after the file is processed.
  • Action
    Do Nothing
    Delete the import file
    Move import file
  • Move to folder
    Define the file path where you want to move the import file, relative to your Magento root folder.
    Note that the above option is only available for update files locally hosted in your Magento File System and in FTP server. 
  • Run indexers
    You can choose to run the indexers after the import.
    You have the possibility to run only the required indexes or to select the ones you want to update. For example:
    catalog_url
    catalog_product_price
    If the profile takes too much time to load, you can disable the indexers.

Advanced Settings

Stock Settings

From the Stock Settings, you can define:

  • Automatic stock status update
    You can choose to automatically update the stock status (in stock / out of stock).
  • Use relative quantity update
    Quantity will be added/subtracted to/from the current quantity.

Mapping & Rules

In this section, you can map each column of the file with one of the stock attributes.

Note that you won't be able to save the mapping if the file path is invalid. See how to specify your file location.

Column Mapping

Each column can be mapped with one of the stock attributes. Note that at any time, you can preview the input and output data in the black box directly.
  • Target Attribute 
    Select the target attribute from the ones available in your system.
    You can find all the attributes grouped by type in our documentation.
    The first line is where you define the identifier of your products. The identifier must be unique. 
    SKU
  • Data source
    In the Data source, you can define the attribute source that matches with the target attribute from your source file. 
    id
  • Default value
    Sometimes, some columns can be missing. For example, when updating all stocks, the file does not necessarily include all stock attributes (backorders, minimum quantity in the cart...). In that case, you can choose custom value in the Data source and apply a default value. 
    yes

QUICK OVERVIEW OF THE INTERFACE

  1. Add as many columns as you want by clicking on + Add a new row. In many cases, the update file may contain more columns than necessary; you don't need to add these columns and match them. 
  2. DeletE a row easily.
  3. Change the order of each row using the drag and drop.
  4. Deactivate a line while conserving the settings by clicking on the link symbol.
  5. Add your own custom script </>.  These scripts can be previewed in the output.  Note that when there is a script filled in, </> is underlined. 
  6. Apply the color of your choice to the row.
  7. Apply a label to the row.
  8. Preview your file by clicking INPut Data.
  9. Find all the attributes grouped by type in the Library.
  10. Check the data as they'll be updated by clicking Output Data.

Scheduled tasks

You can schedule the profile to be executed for all days of the week and with a minimum interval of 30 minutes between each execution.

You have the possibility to change the cron task interval from the General Settings tab. 

For good working scheduled tasks in Mass Stock Update, the main cron task in Magento must be configured properly.

Action History

In the Action History tab, you can find a history of your previous generation and configurations. 

You'll find: 

  • ID
    It is the ID of the history line. 
  • Version ID
    It is the ID of the profile configuration version.
  • Origin
    The origin of the action can be: Backend / Cron / CLI / API
  • Username
    It is the name of the user behind the action.
  • Action
    The available actions are: create / generate / update / delete
  • Details
    If you click on More details, you can see the detail of the profile update from a grid.

    If you click on a line of the above grid, you can check the differences of the updated field: red parts are the removed data and green parts are the inserted data.

  • Date
    It is the date of the modification.

Run a Mass Stock Update profile

From the profiles grid

To run the profile from the grid, you just need to click on RUN PROFILE in the action menu on the right column. Then the status will be updated with a progress bar.

From the profile page

Open the profile and then click on RUN PROFILE NOW. Once the update process has ended, a message appears with details about how many products have been updated and how many products have been ignored.

With the cron tasks

When the scheduled tasks are configured for the profile, then the profile will be automatically run at the day and the time selected.

For a good working of the scheduled tasks in Mass Stock Update, the main cron task in Magento must be configured properly.

For more details about how to configure the cron tasks in Magento, look at the official Magento user guide: http://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-cron.html

You will receive an email each time the cron task is run if you have enabled the reporting in:

 StoresSETTINGSconfigurationWYOMIND Mass Stock Update

Have a look at our documentation to configure the reporting.

With the Command Lines Interface

Mass Stock Update includes command lines available from any shell console.

To run the profile:

bin/magento wyomind:massstockupdate:run [-p|--profile_ids[="..."]]

For example, for profile 2, run:

bin/magento wyomind:massstockupdate:run -p 2

To execute the SQL requests that generate when the profile is set to use the SQL mode:

bin/magento wyomind:massstockupdate:sql [-p|--profile_ids[="..."]]

For example,, for profile 4, run:

bin/magento wyomind:massstockupdate:sql --profile_ids=4

Use SQL option

Updating stocks massively may keep your server busy for a while, especially when the update includes numerous products and/or many attributes.

For better performances Mass Stock Update splits the process into two distinct steps:

  1. Source file analysis: the data is collected and the SQL queries for the update are built. 
  2. The SQL file execution: the database is updated with the new data. This step may be executed asynchronously when the shell option is enabled.

Generate the SQL file

If you prefer to generate a SQL file without executing it, you must enable the option in the profile settings. 

SQL file name

Allows you to define the file name of the SQL file that must be generated and that is then used to update the database.

By default: MassStockUpdate.sql
This file is automatically deleted when a new task is triggered.

SQL file path

Allows you to choose which directory the update file is stored.

The directory path is relative to the Magento root directory and can't be located up of the Magento root directory.

By default: var/tmp/
The update file will be named with the profile's name:

Example: xml_sample.sql

Then run the profile by clicking on RUN PROFILE NOW.

Execute the SQL file

Once the file is generated in the working directory (see Settings), you only need to update the database with the generated file from the command line as follows: 

mysql -h host -p DbPassword -u DbLogin DatabaseName < path/to/mysql/file.sql

Advanced use

In Mass Stock Update, several events are triggered:

  • massupdateimport_start
    Triggered when the update process starts. 
  • massupdateimport_success
    Triggered when the profile is run and the data successfully updated. 
  • massupdateimport_failure
    Triggered when the profile is not run and the data are not updated. 

The events can be used in your custom observers. 

The argument passed is an instance of Wyomind/MassStockUpdate/Model/Profile.

Below are some examples of use in an observer:  

  • From etc/events.xml:
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Event/etc/events.xsd">
       <!-- Standard checkout -->
       <event name="massupdateimport_success">
           <observer name="editor_module_massupdateimport_success" instance="Editor\Module\Observer\LassUpdateImportSuccess" />
       </event>
    </config>​​

      

  • From app/code/Editor/Module/Observer/MassUpdateImportSuccess.php:
    <?php
    namespace Editor\Module\Observer;
    class LassUpdateImportSuccess implements \Magento\Framework\Event\ObserverInterface
    {
    public function execute(\Magento\Framework\Event\Observer $observer){
    $profile= $observer->getEvent()->getProfile();
    // TODO: Implement your own logic.
    }
    }​

    Attribute specifications

    Mass Stock Update allows you to update all your stock attributes as well as the Advanced Inventory or Advanced MSI attributes.

    Stock attributes

    You can update all the stocks attributes that you can retrieve in the product page from the Advanced Inventory section in: 
    CatalogInventoryProducts

    All these attributes must be updated with numeric values or boolean values.

    Manage Stock

    Manage stock for products. 

    yes

    Use Config Manage Stock

    Use the default configuration for Manage stock. 

    yes

    Stock Status Changed Automatically

    Automatically change the stock status depending on the quantity. 

    yes

    Qty

    The quantity for the product.

    13

    Min Qty

    The minimum quantity for the product. 

    0

    Use Config Min Qty

    Use the default configuration for the Minimum quantity for the product.

    yes

    Min Sale Qty

    The minimum quantity allowed in the shopping cart. 

    1

    Use Config Min Sale Qty

    Use the default configuration for the Minimum quantity allowed in the shopping cart. 

    yes

    Max Sale Qty

    The maximum quantity allowed in the shopping cart. 

    10000

    Use Config Max Sale Qty

    Use the default configuration for the Maximum quantity allowed in the shopping cart. 

    yes

    Is Qty Decimal

    Define if the quantity uses decimals. 

    no

    Is Divided into Multiple Boxes for Shipping

     Allow multiple boxes for shipping.

    no

    Backorders

    The backorders for the product.

    disabled

    Use Config Backorders

    Use the default configuration for the Backorders.

    yes

    Notify Stock Qty

    Notify for quantity below. 

    1

    Use Config Notify Stock Qty

    Use the default configuration to Notify for quantity below. 

    yes

    Enable Qty Increments

    Enable quantity increments. 

    false

    Use Config Enable Qty Increments

    Use the default configuration for Enable quantity increments. 

    yes

    Qty Increments

    Quantity increments.

    1

    Use Config Qty Increments

    Use the default configuration for Quantity increments.

    no

    Is In Stock

    The stock status for the product. 

    In stock

    Multi-stock enabled

    Enable multi stock management with Advanced Inventory.

    enabled

    Advanced Inventory attributes

    All attributes related to the stock management in Advanced Inventory are available in this section.

    All these attributes must be updated with numeric values or boolean values.

    Qty

    The stock for the source.

    2

    Manage stock

    Decide to manage stocks for the source.

    enabled

    Backorders allowed

    The backorders for the source.

    disabled

    Use config settings for backorders

    Decide to use the configuration settings for the source.

    no

    MSI attributes

    Mass Stock Update allows you to update all attributes related to the Magento Multi-Source Inventory Management (MSI).

    All these attributes must be updated with numeric or Boolean values and mapped as follow. 

    You can easily check if you are using the Magento MSI module from your back-office inStoresinventory. There, you should see the sources and stocks items. 

    Quantity

    The stock for the source.

    9

    Notify Qty

    Notify the quantity for the source.

    1

    Use default for notify Qty

    Use default to notify the quantity for the source.

    true

    Stock Status

    Stock status for the source.

    true

    Advanced MSI attributes

    Mass Stock Update also allows you to update all attributes coming with the Advanced MSI extension, that you can retrieve in the stocks grid from:
    CatalogStocks

    Backorders

    Backorders status.

    Allow Qty below 0

    Backorders date

    Backorders date in the following format:
    YYYY-MM-DD hh:mm:ss

    2020-03-25

    Backordered qty

    Backordered quantity.

    50

    PHP API for Mass Stock Update

    Mass Stock Update allows you to fully customize and control the data output by using PHP scripts in different ways.

    API coding standards

    For each line in the Mapping & Rules tab of your profile, you can add your own custom script based on a PHP syntax.

    To add your custom script, click on </> at the end of the line you want to edit. You can then update on the file the value of each column.

    Note that the </> button may be hidden by the black box. 

    Opening and closing tags

    Every script must include the opening PHP tag <?php. Note that it is not necessary to use the closing tag. 

    <?php
     /* Your custom script */
     return $self;
    ​

    Outputting a value

    return
    Any value that you want to output in your profile, must be returned with the return instruction.

    $this object

    $this->skip() or return false (boolean false)
    To ignore the pending line (all the columns of the line).

    $this->skipRow() or $this->skip() or return false;
    To ignore the pending cell as well as all the following cells.

    $this->skipCell() or return true;
    To ignore the pending cell.

    Variable $cell

    You can call any column of the source file using $cell. It is an array that indexes each column numerically (1,2,3,...) and with a key corresponding to the name of the column header ("name","description","price"...).

    $cell["name of the column"] or $cell[INDEX]

    For example:

    return $cell["description"]. " ".$cell["name"]
    Note it is better to use associative keys. In that case, if the column order changes in the file, your scripts will still be valid.

    Variable $self

    $self
    to retrieve the current value of the column and manipulate the data:

    <?php return $self;

    For example:

    <?php return strtolower($self);

    Examples of use

    Below are some examples of use with the PHP API. 

    Change the separator

    Transform a number with a floating value separated with a dot instead of a comma.

    For example:

    <?php return ucwords(strtolower($self)); ?>

    Change a text to lowercase or capital letters

    Change a text in lowercase and add a capital letter as the first letter of each word.

    For example:

    <?php return array_pop(explode(",",$self)); ?>
    

    Retrieve images

    Retrieve only one image from a list of images. 

    For example:

    <?php return array_pop(explode(",",$self)); ?>

    Group several columns

    Put together several columns to create a description.

    For example:

    <?php return $self." ".$cell["product_name"].", starting at $".$cell["price"]; ?>

    Define the visibility of a product

    Define the visibility of a product depending on the type column.

    For example:

    <?php 
    
    switch($self){
       case "parent":
          return "Catalog, Search";
       break;
       default:
          return "Not visible individually";
    }
    ?>

    Map value to other ones

    Map values to other ones.

    For example:

    <?php 
    
    if($self=="something"){
       return "something else";
    }
    else if($self=="foo"){
       return "bar";
    }
    else{
       return "default value";
    }
    ?>

    Massively update all your stocks in Magento® 2 through CSV or XML files easily and in no time!

    Manage, automate, and monitor the mass update of your Magento® stocks with ease and efficiency.

    • Lifetime license
    • 12 months support & upgrade
    • 60 days money-back guarantee
    • Extensible source code
      Unlimited test domains
    • Free composer access
    • Marketplace approved
    Want to know more?

    Update your stocks from any source

    File formats
    CSV, JSON, XML

    Sources
    Magento® files system, Web service, FTP, HTTP

    M2E Pro compatibility
    Notify M2E Pro globally about any product updates

    Completely customize the updated data

    User-friendly interface
    Enjoy a very easy-to-use interface and save considerable time.

    Advanced mapping features
    Simplify your import/update processes with advanced mapping.

    PHP API
    Use your own scripts to customize your update profiles as you want.

    Real-time preview
    Visualize the output data before updating your stocks.

    Automate the update tasks

    Cron tasks
    Completely automate the update tasks thanks to the cron tasks.

    Command line Interface
    Fastly and efficiently trigger your update profiles with the CLI.

    Notification
    Be notified in real-time of the progress of the process.

    Save huge time creating your profiles

    Quickly and peacefully start with the included sample profile.

    This extension can be used in combination with: MSI Suite

    MSI Suite
    Perfect your inventory management with the MSI Suite

    Keep all your stocks in sync with your ERP using the MSI Suite with Mass Stock Update.

    Are you interested in the MSI Suite?

    Freqently Asked Questions
    Pre-sales informations

    This extension works with Magento Community Edition and also Magento Enterprise Edition. To know if Mass Stock Update is compatible with your Magento version, please check the Compatibility tab.

    Magento offers three variations of its product.

    As their names have changed over the past few years, here is a recap:

    • Magento Open Sourcepreviously Magento Community Edition (CE), is a free and non-hosted e-commerce platform.
    • Magento Commerce: previously Magento Enterprise (EE), is the paid version of Magento and offers support services.
    • Magento Commerce Cloud: is the paid version of Magento and offers support and hosting services.

    Mass Stock Update Mass Product Import & Update
    Stocks update
    Update your products stocks from CSV/XML files
    Products update
    Update your products from CSV/XML files according to multiple attributes groups:
    • Image,
    • Category,
    • Merchandising (up sell, cross sell, related products),
    • Price (Weee tax, group price, tier price, special price...),
    • Downloadable products,
    • Grouped products relation,
    • Configurable products relation,
    • Custom options,
    • System attributes (website, sku...),
    • Attributes defined by the user
    Products creation
    Create products from CSV/XML files
    Preview
    Get a real-time preview of the output data
    Custom scripts
    Use custom scripts to improve the updated data
    Schedule
    Automate the update process using the cron tasks
    Access to a CLI
    Trigger the import process via your CLI
    License and domains

    A license is valid for an unlimited period of time on one single installation

    • If you're using more than one installation, you will have to buy a separate license for each instance.
    • if you're running several domains on a same installation, you will need only one license for all of them.
    Although your license doesn’t have a limited period of validity, your Support & Upgrade period does. By purchasing a module, you’ll be granted a 12-month support period for free. Passed this period, you will have to pay for a new one (see FAQ: Extend your Support period)

    You can pre-register your live domain to your license in advance.

    Thanks to this option, you'll be able to get the module ready to use on your domain before it goes live.

    To pre-register your production domain: 

    1. Go to:
      mY accountLicenses & DOwnloads
    2. Click on the Settings icon next to the module you want your domain to pre-register on.
    3. Click on the link at the bottom of the page saying:
      Do you want to pre-register your domain in order to be ready to go live?
    4. Finally, enter your domain name and click on pre-register now .

    Attention, this doesn't mean your license is activated. You'll still have to activate it on your new domain when the module is installed. 

    One license is valid for an unlimited period of time on one installation only. However, it is possible to extend or transfer your license in 2 cases: 

    • If you would like to add your testing environments to your license. 
      In that case, it is possible to extend your license to an unlimited number of domains for free.
      For  mywebsite-staging.com or mywebsite-dev.com
    • If you want to transfer your license to another live domain.
      In that case, the Support & Upgrade period for your license must still be active.

    To be able to use Mass Stock Update on both your production and testing environments, follow the instructions below:

    1. Download Mass Stock Update.
      (see FAQ: Extensions download)
    2. Install Mass Stock Update on your environment.
      (see FAQ: Modules installation in Magento or in WooCommerce)
    3. Activate the license.
      (see FAQ: Licenses activation in Magento or in WooCommerce)

    Also, if you are managing a large amount of domains, please contact us so that we can automatically whitelist these domains.
    Modules versioning and download

    In order to download Mass Stock Update, log into your Wyomind account:

      1. Go to:
        my accountLicenses & downloads 
      2. Click on the settings icon next to Mass Stock Update.

        A new window opens.

      3. Click on the download icon.

     

    Only the latest extension version released within your Support & Upgrade period is available. In order to get the very latest extension version make sure your Support & Upgrade plan is up to date.

    When purchasing a module from wyomind.com, you benefit from 12 months of upgrade. Within this period you can at any time download the latest version of the module directly from your account.

    To upgrade Mass Stock Update, follow the steps below:

    1. Go to:
      my accountLicenses & Downloads
    2. Click on the settings icon next to Mass Stock Update.
    3. Click on the download icon.
    4. Install the new version of Mass Stock Update in your Magento admin or your WooCommerce back-office.

    Modules Installation/Uninstallation

    You can install Mass Stock Update manually.

    1. Download Mass Stock Update (zip file) on:
      mY ACCOUNTLicenses & Downloads
       
      Refer to the FAQ: Extensions download
    2. Once Mass Stock Update is downloaded, open the folder and unzip it.
    3. Copy the content of the unzipped folder and paste all files and directories in your Magento 2 root directory.
    4. In your Command Line Interface, execute:
      bin/magento setup:upgrade 

      If you are using a production mode, execute also:

      bin/magento setup:static-content:deploy  
      bin/magento setup:di:compile  

    You can install Mass Stock Update using Composer software in two cases:

    • if you purchased Mass Stock Update on Magento Marketplace.
    • if you purchased Mass Stock Update on Wyomind.com AND requested access to our repository:
      repo.wyomind.com
    1. Add to your composer configuration our repository:
      composer config repositories.wyomind composer https://repo.wyomind.com 

    2. Execute Composer command:
      composer require wyomind/massstockupdate
    3. Then go in your Command Line Interface and execute:
      bin/magento setup:upgrade ​
    4. If you are using a production mode, also execute:
      bin/magento setup:static-content:deploy  ​
      bin/magento setup:di:compile​

    To uninstall Mass Stock Update, start with disabling the extension running the following command:

    bin/magento module:disable Wyomind_MassStockUpdate

    Then, you have 2 ways to uninstall the extension depending on how the extension has been previously installed: 

    • Manual installation

      Run the massstockupdate-uninstall.sh file (you can find it in the extension zip folder) from your Magento root directory:

      sh massstockupdate-uninstall.sh

       

    • Installation via Composer

      Run the below command line:

      composer remove wyomind/massstockupdate

    Once the uninstallation is over, refresh your cache and enable the compiler back again (if you use it). 

    You can install Mass Stock Update via Web Setup Wizard if you purchased it from Magento Marketplace only.

    To know how to proceed, all steps are described in the link below: 
    http://docs.magento.com/m2/ce/user_guide/system/component-manager.html

    Next step is to activate your license:
    Extension activation

    Modules activation

    Once Mass Stock Update is installed, you have to activate the license. For previous versions, you can activate the license from your back-office:

      1. Go to your Magento admin panel. A message pops up at the top of the page.


        If the message doesn't appear then you must check that:

           1. The Adminhtml_Notifications and Wyomind_Core modules are well enabled.
           2. The HTML output of the Adminhtml_Notifications and Wyomind_Core modules are not disabled in:
        storesconfigurationadvanced advanced
           3. The encryption key well exists in app/etc/env.php:
        <?php
         return array(
         'backend' => array(
         'frontName' => 'admin'
         ),
         'crypt' => array(
         'key' => '1e8f3c6772b7a6a6689c3c8cefa4ccf0'
         ),
         /* ... */
         )
        ?>​
      2. Copy your activation key in:
        StoresConfigurationWyomind Your extension

        You can find your activation key in 2 different places:
        In the confirmation email that you received after purchasing Mass Stock Update.
        In your Wyomind account:My account Licenses & downloads
        Select Mass Stock Update and click on  .

        A new page opens where you'll find your activation key (see below).


      3. In your Magento admin go to:
        StoresConfigurationWyomind Your extension

        Paste the activation key in the Activation Key field and choose between the automatic (yes) or the manual (no) activation method:
        By choosing Yes, the connection to Wyomind license server will be automatic.
        By choosing No, you will have to log on to Wyomind license server yourself.

      4. Click on Save config .
      5. A message appears at the top of your admin panel. Click on that link: 
        Activate it now!
      6. Copy and paste the license code in the License code field from your admin or simply click on Activate now! 


      7. Finally, refresh your cache, log out and log in back straight after, to complete the installation.

    When the extension includes other modules, repeat the steps described above for each one, using the corresponding activation keys (each module has its own activation key).

    Add another domain to your license


    To activate the license on another domain (test, staging...):

    1. Once the extension is installed on the new domain, copy your activation key in:
      StoresConfigurationWyomind Your extension
    2. After having saved the configuration, a notification appears. Click on Add this domain to my license.

    3. A transfer request will then be sent to our team within an hour.
      Once the request is taken care of, you will receive a confirmation email.
      If your transfer request is accepted, you can use Mass Stock Update on both environments at the same time.

    Note that the order in which you activate your license on your domains does not matter. You can start with your staging/dev/local environment or with your live domain, the process will be the same.

    Also, if you have loads of staging domains, or if you are an agency managing load of domains for your customers, please contact us so that we can automatically whitelist these domains.

    Once Mass Stock Update is installed, you have to activate the license.

    For this, you can use the below command line (change the Activation key with the corresponding value):

    bin/magento wyomind:license:activate Wyomind_MassStockUpdate <YOUR_ACTIVATION_KEY>

    To retrieve the list of all the available modules as well as the licenses status, please use:

    bin/magento wyomind:license:status

     

     Among the different status, you can find: 

    • registered = your license is registered
    • pending = you need to run the activation command line
    • invalidated = the license has been invalidated due to a wrong activation key or a license infringement

     

    To activate several licenses at the same time, use:

    bin/magento wyomind:license:activate \
    Wyomind_Extension1,Wyomind_Extension2 \
    ACTIVATION_KEY_1,ACTIVATION_KEY_2

    or:

    bin/magento wyomind:license:activate \
    Extension1,Extension2 \
    ACTIVATION_KEY_1,ACTIVATION_KEY_2
    Modules use

    For your profile to be executed automatically, you need to define the days of the week and the time of execution directly from your profile configuration in:
    SystemData TransferMass Stock Update

    By default, cron tasks can be scheduled each period of 30 minutes. 

    If you need a more precise hour, you can change that interval from:
    SToresSettingsConfigurationWyomindMass Stock UpdateSettings
    Below is an example with an interval of 20 minutes: 

    For a good working of the scheduled tasks, the main cron task in Magento must be properly configured. Check how cron tasks work.

    To define the path to products, you must determine the path to the node where the products are stored.

    For example, if your XML source file looks like the one below:

    <products>
     <item>
      <name><![CDATA[Amazing product]]></name>
      <images>
       <img url="https://www.example.com/path/to/product/image/1.jpg" />
       <img url="https://www.example.com/path/to/product/image/2.jpg" />
      </images>
      <categories>
       <category><![CDATA[Category A]]></category>
       <category><![CDATA[Category B]]></category>
       <category><![CDATA[Category C]]></category>
      </categories>
      <description><![CDATA[Amazing product description]]></description>
     </item>
    </products>​

    Then, the path that targets the products is:
    /products/item

    The paths to the nodes and values are based on XPath. For more information on the syntax to use, see the following documentation: https://www.w3schools.com/xml/xpath_syntax.asp

    To define the path to products, you must determine the path to the node where the products are stored.

    For example, if your JSON source file looks like the one below:

    {"Productlist":[{
    	"ITEMID":"0123456789",
    	"ITEMNAME":"Item Name",
    	"ITEMGROUPID":"4500",
    	"BRAND":"BRAND",
    	"YEAR":"0",
    	"ORIGINCOUNTRYREGIONID":"FR",
    	"PICTURE":"http://www.domain.com/pub/image.jpg",
    	"STATUS":"1",
    	"PRODUCTQTY":"0",
    	"CURRENT_STOCK":"0",
    	}]}

    Then, the path that targets the products is:
    $.Productlist

    We use the JSONPath syntax from the SoftCreateR project. For more information, see the next page: https://github.com/SoftCreatR/JSONPath

    When the structure of your XML file is quite complex, the info may be dispatched in deep nodes and sometimes in tag attributes such as:
    url="something"

    Then, you can define your own file structure.

    Below is an example of a complex XML file where you need a predefined structure:

    <products>
        <item>
            <sku><![CDATA[XYZ]]></sku>
            <qty value="150"/>
            <options>
                <option name="backorders">2</option>
                <option name="minimal_in_cart">10</option>
            </options>   
        </item>
    </products>

    The predefined structure you need to use is:

    {
     "sku":"sku",
     "qty":"qty/@value",
     "backorders":"option[@name='backorders']",
     "minimal_qty":"option[@name='minimal_in_cart']"
    }

     

    The paths to the nodes and values are based on XPath. For more information on the syntax to use, see the following documentation: https://www.w3schools.com/xml/xpath_syntax.asp

    When the structure of your JSON file is quite complex, the info may be dispatched in deep nodes and sometimes in tag attributes such as:
    url="something"

    Then, you can define your own file structure.

    Below is an example of JSON file where you need a predefined structure:

    {"Productlist":[{
     "ITEMID":"0123456",
     "ITEMNAME":"Product 0123456",
     "BRAND":"Best Brand",
     "BARCODE":"0123456-ABC",
     "CURRENT_STOCK":"0"
    }]}

    The predefined structure you need to use is:

    {
    "ITEMID":"$.ITEMID",
    "ITEMNAME":"$.ITEMNAME",
    "BRAND":"$.BRAND",
    "BARCODE":"$.BARCODE",
    "CURRENT_STOCK":"$.CURRENT_STOCK"
    }

    We use the JSONPath syntax from the SoftCreateR project. For more information, see the next page: https://github.com/SoftCreatR/JSONPath

    Troubleshooting

    This issue may be due to a problem during the installation process.

    You will be able to fix it by following these steps:

    1. Access your database via your control panel (Phpmyadmin for example).
    2. From the setup_module table, delete the entry Wyomind_extension.
      Be careful, that entry depends on your extension. For example, if you have the extension called Simple Google Shopping, you should delete Wyomind_SimpleGoogleShopping.
    3. Logout from your Magento 2 admin.
    4. Log into your Magento 2 admin.
    How do cron tasks work?
    • The cron.php file (available in the pub directory of your Magento 2 root directory) is regularly launched from your server side (generally every 5 minutes).
    • The cron task for Mass Stock Update is targeted and evaluates if a data feed or a profile needs to be refreshed (depending on the timestamp stored in the database and on the schedule table for this specific profile).
    • If the above condition matches, then the data feed and the profile is re-generated.

    Be sure that you have correctly configured a scheduled task from the server side (cpanel) targeting the cron.php file in your magento 2 installation.

    The extension includes reporting and debug tools for the scheduled tasks available in:
    StoresSettingsConfigurationWyomindMass Stock Update

    For more information on the configuration of cron tasks in Magento 2, you can check their documentation.

    You should check that the var/flag and var/tmp folders exist in the Magento root directory. If not, create them with the writing permissions.

    PHP features are disabled by default in Mass Stock Update.

    In order to use custom rules, you simply need to follow the instructions and to modify the below file at line 144:
    magento/app/code/Wyomind/MassStockUpdate/Helper/Data.php

    Replace:

    // comment this line to use custom rules
    return false;
    // uncomment below lines to use custom rules
    // eval($script);
    // return true;

    with:

    // comment this line to use custom rules
    // return false;
    // uncomment below lines to use custom rules
    eval($script);
    return true;

    You should get something as below:

    Magento 2 Compatibility

    Magento 2® Open Source

    • 2.0
    • 2.0
    • 2.0.1
    • 2.0.1
    • 2.0.2
    • 2.0.2
    • 2.0.3
    • 2.0.3
    • 2.0.4
    • 2.0.4
    • 2.0.5
    • 2.0.5
    • 2.0.6
    • 2.0.6
    • 2.0.7
    • 2.0.7
    • 2.0.8
    • 2.0.8
    • 2.0.9
    • 2.0.9
    • 2.0.10
    • 2.0.10
    • 2.0.11
    • 2.0.11
    • 2.0.12
    • 2.0.12
    • 2.0.13
    • 2.0.13
    • 2.0.14
    • 2.0.14
    • 2.0.15
    • 2.0.15
    • 2.0.16
    • 2.0.16
    • 2.0.17
    • 2.0.17
    • 2.0.18
    • 2.0.18
    • 2.1
    • 2.1
    • 2.1.1
    • 2.1.1
    • 2.1.2
    • 2.1.2
    • 2.1.3
    • 2.1.3
    • 2.1.4
    • 2.1.4
    • 2.1.5
    • 2.1.5
    • 2.1.6
    • 2.1.6
    • 2.1.7
    • 2.1.7
    • 2.1.8
    • 2.1.8
    • 2.1.9
    • 2.1.9
    • 2.1.10
    • 2.1.10
    • 2.1.11
    • 2.1.11
    • 2.1.12
    • 2.1.12
    • 2.1.13
    • 2.1.13
    • 2.1.14
    • 2.1.14
    • 2.1.15
    • 2.1.15
    • 2.1.16
    • 2.1.16
    • 2.1.17
    • 2.1.17
    • 2.1.18
    • 2.1.18
    • 2.2
    • 2.2
    • 2.2.1
    • 2.2.1
    • 2.2.2
    • 2.2.2
    • 2.2.3
    • 2.2.3
    • 2.2.4
    • 2.2.4
    • 2.2.5
    • 2.2.5
    • 2.2.6
    • 2.2.6
    • 2.2.7
    • 2.2.7
    • 2.2.8
    • 2.2.8
    • 2.2.9
    • 2.2.9
    • 2.2.10
    • 2.2.10
    • 2.2.11
    • 2.2.11
    • 2.3
    • 2.3
    • 2.3.1
    • 2.3.1
    • 2.3.2
    • 2.3.2
    • 2.3.3
    • 2.3.3
    • 2.3.4
    • 2.3.4
    • 2.3.5
    • 2.3.5
    • 2.3.6
    • 2.3.6
    • 2.3.7
    • 2.3.7
    • 2.4
    • 2.4
    • 2.4.1
    • 2.4.1
    • 2.4.2
    • 2.4.2
    • 2.4.3
    • 2.4.3
    • 2.4.4
    • 2.4.4
    • 2.4.5
    • 2.4.6

    Magento 2® Adobe Commerce

    • 2.0
    • 2.0
    • 2.0.1
    • 2.0.1
    • 2.0.2
    • 2.0.2
    • 2.0.3
    • 2.0.3
    • 2.0.4
    • 2.0.4
    • 2.0.5
    • 2.0.5
    • 2.0.6
    • 2.0.6
    • 2.0.7
    • 2.0.7
    • 2.0.8
    • 2.0.8
    • 2.0.9
    • 2.0.9
    • 2.0.10
    • 2.0.10
    • 2.0.11
    • 2.0.11
    • 2.0.12
    • 2.0.12
    • 2.0.13
    • 2.0.13
    • 2.0.14
    • 2.0.14
    • 2.0.15
    • 2.0.15
    • 2.0.16
    • 2.0.16
    • 2.0.17
    • 2.0.17
    • 2.0.18
    • 2.0.18
    • 2.1
    • 2.1
    • 2.1.1
    • 2.1.1
    • 2.1.2
    • 2.1.2
    • 2.1.3
    • 2.1.3
    • 2.1.4
    • 2.1.4
    • 2.1.5
    • 2.1.5
    • 2.1.6
    • 2.1.6
    • 2.1.7
    • 2.1.7
    • 2.1.8
    • 2.1.8
    • 2.1.9
    • 2.1.9
    • 2.1.10
    • 2.1.10
    • 2.1.11
    • 2.1.11
    • 2.1.12
    • 2.1.12
    • 2.1.13
    • 2.1.13
    • 2.1.14
    • 2.1.14
    • 2.1.15
    • 2.1.15
    • 2.1.16
    • 2.1.16
    • 2.1.17
    • 2.1.17
    • 2.1.18
    • 2.1.18
    • 2.2
    • 2.2
    • 2.2.1
    • 2.2.1
    • 2.2.2
    • 2.2.2
    • 2.2.3
    • 2.2.3
    • 2.2.4
    • 2.2.4
    • 2.2.5
    • 2.2.5
    • 2.2.6
    • 2.2.6
    • 2.2.7
    • 2.2.7
    • 2.2.8
    • 2.2.8
    • 2.2.9
    • 2.2.9
    • 2.2.10
    • 2.2.10
    • 2.2.11
    • 2.2.11
    • 2.3
    • 2.3
    • 2.3.1
    • 2.3.1
    • 2.3.2
    • 2.3.2
    • 2.3.3
    • 2.3.3
    • 2.3.4
    • 2.3.4
    • 2.3.5
    • 2.3.5
    • 2.3.6
    • 2.3.6
    • 2.3.7
    • 2.3.7
    • 2.4
    • 2.4
    • 2.4.1
    • 2.4.1
    • 2.4.2
    • 2.4.2
    • 2.4.3
    • 2.4.3
    • 2.4.4
    • 2.4.4
    • 2.4.5
    • 2.4.6
    User's reviews
    Log into your account to leave your review and get up to 3 months of free Support & Upgrade.

    2nd October 2023

    Great plugin !!

    We have chosen this plugin to import products and update stocks on our site from our management program. We are very satisfied with this application, it interfaces perfectly and is very easy to set up. Plus the support provided by wyomind is EXCELLENT

    Area Verde - Merchant - User for more than 3 years |Magento 2

    16th December 2022

    Great extension and support

    Great extension and support from this company. We've been using a few of their extensions on a number of shops and we've never had any problems with any of them. The support is second to none and always happy to help. We feel like they are part of our team and very professional.

    22nd February 2022

    Great Support and Extensions. Excellent service

    I am using Wyomind extensions for 4 years now. Since 2018 and i am tottaly satisfied. Especially i use the Wyomind_Massproductimport and it makes our life much easier. Before we have to upload products manually. This is not possible nowadays, and the extension makes our life much easier. You have a lot of control and you can assign almost every possible parameter to import the products as you wish. The most important is after sale support. You will recieve answer within 24 hours. Professional team, knows exactly how to solve problems, and treat a customer. Definitely top star for the extension and the team! Thank you.

    BILL - Developer - User for more than 6 years |Magento 1|Magento 2

    11th May 2021

    Great Magento 2 Extension

    Easy to install & set up, and very flexible - has a wide range of options available in the Magento 2 Admin System section for configuring your Stock & Product (Items) imports just how you need them to be configured, or you can use the profiles samples if you just need a standard import.

    Web a delica Support - Developer - User for more than 3 years |Magento 2

    1st February 2021

    Easy to setup and works

    Was looking for an easy mass stock updater and found this one. We have several suppliers that offer us either csv or other type of files showing their stock. From one supplier we can just use their url which makes it easy to download an updated file. Please let your supplier know to keep the filename the same so that always the latest version is imported. Another supplier uploads their file to our ftp server and in the mass stock updater this is also an option, to download from your own or any ftp server. Files can be csv or xml you can set , or ; any character to separate us or eu versions. Files can also be taken from any magento directory or drop box account.

    Bob - Merchant - User for more than 4 years |Magento 2

    21st January 2021

    Wyomind mass stock management extension

    Wyomind mass stock management extension for magento 2 looks to be what we are looking for we had a few issue that wyomind are quick to help us out and find the small bug which was stopping us from showing active stock level for our customers.

    18th December 2020

    Awesome

    We are very happy with this product!

    EricJan - Ecommerce Agency - User for more than 6 years |Magento 2

    16th October 2020

    Easy setup

    works reliably allowing to use php formulas to alter the source content. Perfect if your suppliers have stock lists that you cant use the way the are and need to be changed on the import.

    Nima - Ecommerce Agency - User for more than 5 years |Magento 1|Magento 2

    13th August 2020

    Simple but yet powerful extension

    Very powerful php scripting possibilities. Also the retrieval of files from another server is a time saver!

    Hendrikus Nijhof - Developer - User for more than 4 years |Magento 2

    12th March 2020

    Great extension & support!

    Great extension and support from this company. We've been using a few of their extensions on a number of shops and we've never had any problems with any of them. The support is second to none and always happy to help. We feel like they are part of our team and very professional.

    11th January 2020

    Very Good Extension

    Its really helpfull to sync our ERP with Magento and update stocks on fixed interval of time.

    29th May 2019

    Saves a lot of time

    This module is a time-saver. You create a profile once, then at a click of a button, the hard work is done by this module. Thank you Wyomind.

    Shoes - User for more than 6 years |Magento 2

    21st March 2019

    Fine extension and nice support

    After an few days we needed some support - without any problem quickly together solved, Great - can recommend these guys - nice working with them! Jarda

    Jarda Prochazka - User for more than 5 years |Magento 1

    5th March 2019

    Great way to Sync inventory

    We use this to sync our inventory from our Back-end sales system to magento. Works great and lets us focus on running our business instead of constantly updating our inventory manually. By setting up rules its a setup and forget type of deal. It just works .

    12th November 2018

    this extension does what i was looking for

    i was looking to able to update stock periodically , i came across extension which does what i was looking for , this is probably only extension i came across which periodically does stock update and does it when i want how i want. with flexibility to consider weekdays/weekends which was very important

    hassan - User for more than 5 years |Magento 1

    14th June 2018

    Saves a lot of hours

    This module is a time-saver to update our online inventory. The setup process is a breeze. The technical support is very responsive. The documentation is clear to understand. There are many ways to use this module in terms of updating your online records. The easy column mapping works great. You can configure the import profile to automatically update the stock status of the updated products. Pierre, Paul and Aurelie are very patient. This module and the guarantee is best summed ups as follows: ------------------------ The module process in steps: 1 - collect and prepare the queries 2 - update the database As a consequence the resources required to update the database increase with the number of products to update. 1- memory limit 2- mysql server resource The module is updated for free for any bug or critical issue, other updates (new features) are charged 50% of the base price within the 3 months after the purchase. Support is free. Money back guarantee applies without conditions (even if we may ask what is the issue for our records) ------------ It is worth implementing this module whether your online store is small or big. This is an investment that definitely will save money in the end by saving a lot of hours updating the online records. Thank you Wyomind.

    Ron - User for more than 6 years |Magento 2

    31st May 2018

    Advanced Inventory and Mass Stock update

    Advanced Inventory and Mass Stock update meets our requirements. It is working really well. Their support is really superb! Recommend.

    2nd March 2018

    Helped sync our systems!

    This is great module and it has helped sync our inventory between our retail locations and our e-commerce website. Hands down the best solution out there! Thank you Wyomind for an amazing module!

    25th January 2018

    Excellent Support

    Used lots of times for clients, and the code is really clear and the support is always in a good mood. Thank you

    zmart |Magento 1|Magento 2

    21st August 2017

    The perfect companion to manage our inventory

    This extension simply made our stock update a kids' game. It is allowing us to manage completely our stock on an automated basis, we barely touch the module code, all are made easily through the admin, and we can get the stock data from any source, from a DB, JSON to CSV. No other extension option was adjusting to our needs. It's an amazing option, simply the best.

    5th July 2016

    Great Support!

    Very powerful Addon. We use it for a Stock Updates and Priceupdate. Support is great!

    m4pb

    2nd February 2015

    Excelent Extension

    Very useful extension. If you need a great solution just take it.

    majawl

    17th November 2014

    Great extension and FANTASTIC support!

    I found this extension to manage a very complex Magento installation with more than 30 store views and a few different stock repositories. This extension is exctly what I needed, great job!
    Futhermore, the backend module with a visual CSV parsing editor is a really great tool.
    This extension have also a fantastic support team: I had some trouble on system integration and cron procedures and they helped me in a very fast and professional way.
    GREAT!

    amontalti

    17th July 2014

    Great extension, great support

    I have nothing but great thing to say about this company. I asked about 15 pre-sale questions and they answered on time with patience. After i bought this extension, they even customized this extension to fit my needs for free within 1 hour. thanks again Paul

    dearsimon

    4th May 2013

    Fantasic solution! Great Extension! Superb Support!

    Hopefully my title has summed this one up. I use all of Wyomind's extensions, and this one compares perfectly to the flawless experience I've had with the others.
    The extension provides an exceptionally easy to use interface, and provides functionality that I've been waiting for for a long time.
    What makes it stand out from the crowd though, is the impeccable support offered. All one my questions have been answered almost immediately, and any issues (not that there were any I may add!) are quickly resolved.
    The ability to easily set up a schedule for stock updates is an absolute lifesaver, meaning your store can run like clockwork without all of the manual input.
    Get this extension, and you really won't be disappointed!
    Thanks

    james_allwood
    Changelog

    Bug fix

    • Allow opening profiles with corrupted automatic schedule

    Compatibility

    • PHP 8.2 compatibility: undefined property

    Bug fix

    • Correct an error happening when files with empty lines were being imported

    Bug fix

    • Correct a bug introduced in version 15.0.5, about improving XML namespace management

    Improvement

    • Improve import through webservice: allow importing without login/password, and allow params POST transfer with this format: x1=y1&x2=y2&....

    Bug fix

    • Improve xml namespace management, to avoid unwanted content replacements

    Compatibility

    • Magento 2.4+ compatibility for the cache purge feature

    Compatibility

    • PHP 8.1 compatibility for Advanced Inventory attributes

    Bug fix

    • Missing products with the action of type "Set quantity to 0 and status to out of stock" may trigger an error

    Initial release for the master version

    Initial release for the legacy version

    Bug fix

    • If all sources are set as out of stock for a given product, then a SQL error can arise for the automatic stock status update

    Improvement

    • phpoffice/phpspreadsheet is now part of the composer.json file

    Improvements

    • Bette XLS files conversion process

    New features

    • Ability to import XLS files
    • Ability to filter rows based on cell's values, e.g.: $cell["1"]="something", then all rows with cell #1 that are equal to "something" will be treated, all other rows will be ignored

    Bug fix

    • Automatic stock status update relies on the source quantities AND the source status. All sources were taken into account even disabled sources

    Improvement

    • Better management of the cache invalidation

    Compatibility

    • Compatibility with PHP v8.2

    Compatibility

    • Compatibility with PHP v8.2

    Improvement

    • Better management of the cache invalidation

    Improvement

    • Better management of file download: use  file_get_content() instead of CURL if curl fails

    Bugfix

    • Fix the cache invalidation when running the profile from the cron tasks

    Bugfix

    • the module can now be installed in the same time as Magento

    Improvement

    • Ability to use wildcards for the today's date as part of the import file eg: mydailyfile_%Y_%m_%d.xml

    Compatibility

    • Compatibility with Magento v2.4.6 + PHP v8.2

    Compatibility

    • Compatibility with Magento v2.4.6 + PHP v8.2

    Improvements

    • New cache invalidation option
    • Explicit  error message in CLI if the current profile has not file to import

    Bugfix

    • Fix the update of the MSI sources and saleable qty

    Improvement

    • Throw an error if no files are found when running the import through CLI

    Bug fix

    • Fix the saleable quantity update if only the default stock is used 

    Bug fix

    • Fix the stock update for Multi Stock Inventory 
    • Compatibility fix for Php v8.1
    • Compatibility fix for Php v8.1 for file fetching from webservice
    • Improvement for  Xml format with "iaiext:" namespace
    • Bug fix for parent SKU mapping that threw an error if the value is empty
    • Rollback patches for install/upgradeData that conflicts with some third-party modules (should be fixed in a coming version)
    • Fix for the SSL connection with FTP: the SSL parameter was not taken into account
    • Removal of the sort option from the status column in the profile grid
    • Avoid the "Area code is already set" error when executing a profile via CLI
    • Better compatibility with PHP 8.1

    Enhancements

    • Better management for additional attributes
    • Compatibility management for the profile report modal
    • Update for the user agent used in the recovery of import files via HTTP

    Bug Fix

    • Fix when reading CSV files with the tab separator
    • Fix for the reports display
    • Fix for the "Argument #3 ($separator) must be a single character" error

    • Compatibility management for the profile reports modal
    • Fix when reading CSV files with the tab separator
    • Fix for a bug introduced in version 11.6.5 preventing reports from displaying in the import profiles grid
    • Fix for an error on the field_seperator
    • Update of the useragent used in the import files recovery via HTTP for greater compatibility

    Compatibility

    • Compatibility with PHP 8.1
    • The .flag file linked to a profile is now deleted when deleting this profile
    • Optimization of requests generation for import configurations by storeview
    • Fix for M2E Pro update
    • Control added to avoid execution errors with older versions of M2E Pro
    • Fix for the M2E Pro feature
    • Better support for M2E Pro update service
    • Fix for testing the FTP connection taking into account the "use SSL" option

    Enhancements

    • Support of FTPS (SSL over FTP) for downloading the import file
    • Fix for the translation call for error messages concerning Dropbox
    • Fallback of curl requests recovering update files added with a user-agent in the case where the request without user-agent does not pass
    • Fix for a bug on the Sample/CustomModule (the module recording is now commented by default)
    • Fix for the management of empty file headers
    • Fix for duplicated MySQL queries
    • The JSONPath library is not delegated
    • Deletion of url_rewrite when products are deleted following post-process deletion options

    Enhancement

    • Improvement when importing CSV files with headers and some of the header fields are empty
    • Fix for a declaration issue
    • Fix for a declaration issue
    • Improved recovery of additional data for select or multiselect attributes
    • Fix for updating varchar attributes when a varchar product id other than the SKU is used
    • Fix for a white page when opening profiles in the back-end

    • Improvement of the SQL delete method interpreter
    • Fix on the profile's history for cron tasks
    • Fix on a typo preventing the automatic generation of the profiles
    • Event added when an SQL error is triggered during the import
    • Fix for the case on table names

    Enhancement

    • The history of profile versions is managed
    • CDATA supported in XML files

    Enhancements

    • The .JSON extension has been added for import source files
    • Constants in the helper/data.php file can now be overridden by third-party modules

    • Fix for the import execution
    • Dependencies removed in composer.json
    • Fix for dependencies with phpunit/phpunit

    Enhancement

    • JSON source files are supported
    • Better management for additional attributes
    • Fix for the requests storage reset when updating products missing from the import file
    • Fix on a bug preventing the profile import from a file
    • Better management for post-actions on files coming from remote server (via FTP)
    • Fix when creating URLs for configurable products created on the fly

    Enhancements

    • Better support for import/export between different instances with identical attributes but with different ids
    • Improved display when using replacement rules and PHP scripts

    Enhancement

    • Better error management when executing the profiles by cron
    • New supported namespace for XML files (i:<xml_tag>)
    • When running profiles via CLI, they are now executed in the order
    • Fix when executing several requests in a same character string
    • Fix for a bug introduced in 9.9.1 preventing the update of non-MSI stocks
    • Fix for a bug implemented in version 9.9.0 and that avoided importing correctly stocks for each source
    • Fix when executing profiles via the CLI
    • Fix when executing profiles via cron

    Compatibility

    • Fix for MSI compatibility

    Compatibility

    • Compatibility with the MSI Suite
    • Fix for a Magento Commerce compatibility issue for stock import
    • Fix for prefixed MSI tables
    • Possibility to run several profiles in one time using the command line

    Enhancement

    • The product out of stock threshold is taken into account for the automatic assignation of the stock status
    • Fix for the Sender Name field for the email cron job reporting
    • Fix on URL for the sample data

    Enhancements

    • Possibility to import products using a unique identifier different than the SKU
    • Scenario updated for the demo
    • Improved loading time for product attributes

    Compatibility

    • Compatibility for Mass Product Import & Update v6.7.3

    Enhancements

    • Possibility to enable/disable the profile
    • Fix for the update of stock attributes
    • Fix when exporting profiles
    • Fix when using files via URL with redirection

    Enhancement

    • Improved license management system (Clear code)
    • Fix when retrieving files via HTTP

    Enhancement

    • Files can be downloaded via a URL with HTTP authentication

    Enhancement

    • Spaces are automatically deleted at the beginning/end of the imported SKUs

    Enhancement

    • Configuration of the module enhanced for compatibility with Magento < 2.3

    Enhancements

    • Better execution time
    • New cache added for better performances
    • Fix for the import of translated values

    Enhancements

    • Possibility to load product attributes to compare them to the values of the import
    • Minor CSS enhancement

    Compatibility

    • Minor compatibility change for Mass Product Import & Update v 6.4.0
    • Sample data added for the demo

    Bug Fix

    • Fix for the catalog_category_product index

    Bug Fix

    • Fix on the filters by product id
    • Minor fix for regular expressions in import files

    Enhancements

    • Possibility to use regular expressions for import files on a FTP server
    • JQuery/ui calls removed for more specific calls
    • Fix for PHP 7.2 with the cron report
    • Inventory indexer for MSI added
    • Fix for the compatibility with Advanced MSI

    Enhancements

    • Use of Advanced MSI dynamic fields to update sources' stocks
    • Minor fix on cron
    • Management of backslashes in SKUs
    • Better management of the multiple imports
    • Fix for the attributes from the Price and Attributes groups in the mapping
    • Compatibility with Mass Product Import & Update 6.0.0
    • Compatibility for Magento 2.3.3

    Enhancements

    • New status bar tooltip
    • Code cleaning
    • Wording fixes
    Patch v9.3.1.7

    • Fix for the stock status

    Patch v9.3.1.6

    • Sample data available for the demo

    Patch v9.3.1.5

    • Sample date available for the demo

    Patch v9.3.1.4

    • Private properties moved to protected properties
    • Better log/flag management

    Patch v9.3.1.3

    • Fix for the cron task

    Patch v9.3.1.2

    • The error message has been added to the event: massupdateimport_failure

    Patch v9.3.1.1

    • Fix for the menu display
    • Fix for translations

    Enhancement

    • Ability to run the index on demand or automatically at the end of the import process
    • Possibility to select the index to execute

    Enhancements

    • JS optimization
    • JS merging support
    Patch v9.1.0.1

    • JS fix

    Enhancements

    • Better support for Magento MSI
    • Improvement for Advanced Inventory
    • Interface enhancements (dropdowns with pre-populated values)
    Patch v9.0.0.9

    • Fix in the FTP testing tool for the images
    • Syntax error fix for empty values

    Patch v9.0.0.8

    • JS fix for custom values

    Patch v9.0.0.7

    • Minor fix in the additional parameter syntax

    Patch v9.0.0.6

    • Fix for select type custom options with only one option
    • Minor JS fix

    Patch v9.0.0.5

    • Stock attributes are not disabled even if MSI is enabled

    Patch v9.0.0.4

    • Minor PHP fix

    Patch v9.0.0.3

    • Fix for Magento < 2.3

    Patch v9.0.0.2

    • Fix for Magento < 2.2.7

    Patch v9.0.0.1

    • Fix for debug mode

    Enhancements

    • Better management of Magento native export files
    • Enhanced asymmetric transactions error message

    Enhancements

    • Better management of the Advanced Inventory stocks
    • Enhanced FTP feature
    • Improved management of the predefined XML structure
    Patch v8.3.0.1

    • Fix for AdvancedInventory stock update

    Enhancement

    • Compatibility with Mass Product Import & Update 4.2.0

    Bug Fix

    • Fix on the cron task hours
    Patch v8.2.0.5

    • Fix for the script using the $cell array as an associative array
    • Better support of XML files including namespace, such as Excel XML

    Patch v8.2.0.4

    • Use of an empty value if there is no value for the product in the XML import file
    • The import/update of the product is ignored if the node for the id doesn't exist in the XML import file

    Patch v8.2.0.3

    • Minor code fix

    Patch v8.2.0.2

    • Support for XML files generated with Microsoft ASP.NET

    Patch v8.2.0.1

    • Minor fix for wrongly formatted CSV files

    Enhancements

    • Possibility to change the cron task interval
    • Better management of XML files using namespaces

    Enhancement

    • Better management for the profiles export/import (compatible PHP >= v5.3)
    • Minor wording improvement
    Patch v8.0.3.2

    • Minor code fix

    Patch v8.0.3.1

    • Minor fix on template

    Enhancements

    • Better management of Xpath and mapping

    Compatibility

    • Compatibility with Magento 2.3

    New feature

    • Profile import/export

    Enhancements

    • New interface, easier and faster to configure
    • Better management of configurable products
    • New sample data

    Enhancement

    • Possibility to choose to run the indexers after the import
    Patch v7.4.1.3

    • Fix for DirectoryRead()

    Patch v7.4.1.2

    • Better management of stores without storeviews associated
    • Fix on typos

    Patch v7.4.1.1

    • Fix on a PHP error

    Enhancements

    • Compatibility with M2EPro API
    • Improved FTP support for distant source files
    Patch v7.4.0.3

    • Fix for DirectoryRead()

    Patch v7.4.0.2

    • Fix for URL rewrites

    Patch v7.4.0.1

    • URL rewrite management

    Compatibility

    • Compatibility with Mass Product Import & Update v3.2.0

    Enhancement:

    • Use of regular expressions in the files names
    Patch v7.2.0.5

    • Minor fix on a variable name

    Patch v7.2.0.4

    • Fix on variables

    Patch v7.2.0.3

    • Use of multipleImport() method instead of import() for the cron task

    Patch v7.2.0.2

    • Fix for the multiple files import

    Patch v7.2.0.1

    • Fix for multiple files import

    Enhancement

    • Better management of the configurable products for Mass Product Import & Update

    Enhancement

    • New user interface
    • New PHP API
    Patch v7.0.0.5

    • Values (enable/disable) are now case insensitive
    • Fix for the filter lines

    Patch v7.0.0.4

    • Minor fix on the db
    • Fix on the profile execution

    Patch v7.0.0.3

    • Minor JS fix

    Patch v7.0.0.2

    • Fix for the identifier row
    • Fix for advanced inventory attributes
    • Improvement of the uploader.js

    Patch v7.0.0.1

    • Fix for the configurable products

    Enhancements:

    • Add of several actions after execution
    Patch v6.3.0.1

    • Deletion of autorefresh and add of css touchscroll

    Enhancements:

    • Advanced XML structure management

    New features

    • Ability to filter out the header line in csv/txt files
    • Ability to define the range of rows to update
    • Ability to import data from a Dropbox location
    Patch v6.1.0.5

    • Fix on the request indexation

    Patch v6.1.0.4

    • Use of factories for command lines

    Patch v6.1.0.3

    • Fix on several bugs

    Patch v6.1.0.2

    • Fix for an abstract method

    Patch v6.1.0.1

    • Fix for several undefined variables

    New feature

    • The grid can now be scrolled by using Touchscroll (click and drag right or left)
    Patch v6.0.1.3

    • Fix for a class name

    Patch v6.0.1.2

    • Fix for the store-view scope

    Patch v6.0.1.1

    • Fix for the database using a prefix

    Refactoring

    • Code source enhancement
    • Dependency with Mass Product Import & Update implemented to avoid duplicating source code
    • Use of INSERT ... ON DUPLICATE UPDATE ... process

    Patch v6.0.0.6

    • Fix for the store-view scope

    Patch v6.0.0.5

    • Fix for the database using a prefix

    Patch v6.0.0.4

    • Minor fix in the js file 
    • Minor fix in the css file

    Patch v6.0.0.3

    • Source code cleaning

    Patch v6.0.0.2

    • FIx for the TouchScroll component

    Patch v6.0.0.1

    • Fix for the additional columns in the XML profile 

    Enhancements

    • Xml file structure can now be preserved even if the file differs from one import process to another
    • New user interface
    • Minor code refactoring
    Patch v5.2.0.2

    • Fix for the update process

    Patch v5.2.0.1

    • Minor fix in PHP code

    Enhancements

    • Magento v2.2.1 compatibilty

    Bug fix

    • Fix on the product update
    • Js fix in the profile page
    Patch v4.0.1.3

    • Shell command renamed from wyomind:msu:run  to wyomind:masstockupdate:run
    • Returned value of the shell execution method is fixed

    Patch v4.0.1.2

    • Profiles can now be generated from the grid on Chrome

    Patch v4.0.1.1

    • Import files can now contain lines with more than 1024 characters
    • Validation for From field in the configuration of the report is now fixed 

    Compatibility:

    • Mass Stock Update is compatible with Magento 2
    Patch v4.0.0.3

    • Shell command renamed from wyomind:msu:run  to wyomind:masstockupdate:run
    • Returned value of the shell execution method is fixed

    Patch v4.0.0.2

    • Profiles can now be generated from the grid on Chrome

    Patch v4.0.0.1

    • Import files can now contain lines with more than 1024 characters
    • Validation for From field in the configuration of the report is now fixed 

    Demo store
    Front-end
    Back-end
    Login
    MassStockUpdate
    Password
    MassStockUpdate123

    Recommended Magento 2 extensions

    from €345
    5/5 rated
    112 Reviews

    Mass Product Import & Update allows you to update and import products massively in Magento in record time through CSV or XML files available from your website's server, or any remote server through FTP or HTTP.

    more details
    from €195

    Easily switch from a global backorders management to source-level backorders management with MSI Backorders for Magento 2.

    more details
    from €195

    Manage all your stocks inventory directly from a stock grid and get a clear and accurate view of your products' availability thanks to a tree view.

    more details
    from €690
    4.5/5 rated
    2 Reviews

    Fully complete and enhance Magento 2 default workflow and perfect your inventory management as well as your selling process thanks to the MSI Suite to become a lot more productive.

    more details

    Stay tuned and get a coupon code of 10% off any purchase while creating your account!

    Subscribe now for updates, promotions and products launch twice a month at most.

    Please indicate a valid email