Magento 2

Mass Stock Update

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

marketplace approved
245,00€excl. VAT

5.0/5 rated 25 reviews

  • Lifetime license
  • 12 months support & upgrade
  • 60 days money-back guarantee
  • Extensible source code
  • Unlimited test domains
  • Free composer access
Demo Store

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.

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.

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?
  • See More details
  • Check the demo

Content

    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:
    Stores › SETTINGS › Configuration › WYOMIND › Mass STOCK UPDATE

    Enable log
    Allows you to activate the log file available under the var/log directory.
    The file is named Wyomind_MassStockUpdate.log.
    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.
    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.
    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. 
    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. 

    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:
    System › Data Transfer › Mass 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+

    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.
    • 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.

    Verify SSL certificate

    For the URL and Web service locations, the extension checks the SSL certificate of the server of an https address, and that it matches the name of the server, before downloading the file. The option is set to Yes by default, including for the profiles created before version 15.3.0.

    • Yes
      The certificate is verified. An invalid, expired or self-signed certificate stops the import with an explicit error, and the file is not imported.
    • No
      The certificate is not verified. Only use this setting for a server with a self-signed certificate that you trust, for example on your own network.
    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.
    • 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

    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.

    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. 

    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:

    Stores SETTINGS › configuration › WYOMIND › 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

    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: 
      Catalog › Inventory › Products

      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. 

      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:
      Catalog › Stocks

      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"]
      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";
      }
      ?>

      FAQ

      Pre-sales informations

      Magento versions supported by Mass Stock Update

      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 Open Source vs Magento Commerce vs Magento Commerce Cloud

      Magento offers three variations of its product.

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

      • Magento Open Source: previously 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 Vs Mass Product Import & Update
      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

      License validity

      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)
      Domains pre-registration

      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 account › Licenses & 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 .

      Testing environments

      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

      Extensions download

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

        1. Go to:
          my account › Licenses & 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.

      Modules upgrade

      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 account › Licenses & 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

      Extensions manual installation

      You can install Mass Stock Update manually.

      1. Download Mass Stock Update (zip file) on:
        mY ACCOUNT › Licenses & 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  
      Extensions installation via Composer

      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​
      Extensions uninstallation

      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). 

      Extensions installation via Web Setup Wizard

      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

      Extensions activation from the back-office of Magento

      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:
          Stores › Configuration › Wyomind › 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:
          Stores › Configuration › Wyomind › 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.

      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:
        Stores › Configuration › Wyomind › 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.
      Extensions activation from the CLI

      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

      Check how to add another domain to your license.

      Modules use

      Cron task interval

      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:
      System › Data Transfer › Mass 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:
      STores › Settings › Configuration › Wyomind › Mass Stock Update › Settings

      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.

      Define the path to the products of your XML source file

      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

      Define the path to the products of your JSON source file

      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

      Define a predefined structure for your XML source files

      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']"
      }
      Define a predefined structure for your JSON source files

      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"
      }

      Troubleshooting

      Base table or view not found

      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.
      Scheduled tasks don't work in Magento 2
      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:
      Stores › Settings › Configuration › Wyomind › Mass Stock Update

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

      Unable to list current working directory

      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.

      Impossible use of the custom rules in the profile configuration

      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:

      User's reviews

      David

      Merchant · United Kingdom · User for 3 years

      ★★★★★

      Awesome Extension from Wyomind that will save you a lot of time / $

      Hi, This extension mass stock update from Wyomind is second to none. it works perfectly and it is without doubt the best module on the market if you want to update your stock accurately, easily and the most important, QUICKLY. I used a module from a different vendor previously but it didn't work as efficiently as this one. I strongly recommend to chose Wyomind's stock update. Txs

      Area Verde

      Merchant · Italy · User for 6 years

      ★★★★★

      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

      October 2, 2023Magento 2

      Proauto

      SEO specialist · Vietnam

      ★★★★★

      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.

      BILL

      Developer · Greece · User for 8 years

      ★★★★★

      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.

      February 22, 2022Magento 1 / OpenmageMagento 2

      Web a delica Support

      Developer · United Kingdom · User for 6 years

      ★★★★★

      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.

      May 11, 2021Magento 2

      Bob

      Merchant · Netherlands · User for 7 years

      ★★★★★

      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.

      February 1, 2021Magento 2

      andy c

      Merchant · United Kingdom · User for 6 years

      ★★★★★

      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.

      EricJan

      Ecommerce Agency · Netherlands · User for 8 years

      ★★★★★

      Awesome

      We are very happy with this product!

      December 18, 2020Magento 2

      Nima

      Ecommerce Agency · Switzerland · User for 7 years

      ★★★★★

      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.

      October 16, 2020Magento 1 / OpenmageMagento 2

      Hendrikus Nijhof

      Developer · Netherlands · User for 7 years

      ★★★★★

      Simple but yet powerful extension

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

      August 13, 2020Magento 2

      CasaGoda

      Merchant · United Kingdom · User for 7 years

      ★★★★★

      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.

      Rahil

      Merchant · Kuwait · User for 7 years

      ★★★★★

      Very Good Extension

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

      Shoes

      Canada · User for 9 years

      ★★★★★

      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.

      May 29, 2019Magento 2

      Jarda Prochazka

      Netherlands · User for 7 years

      ★★★★★

      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

      March 21, 2019Magento 1 / Openmage

      Max

      Merchant · United States · User for 8 years

      ★★★★★

      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 .

      hassan

      United Kingdom · User for 8 years

      ★★★★★

      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

      November 12, 2018Magento 1 / Openmage

      Ron

      Canada · User for 9 years

      ★★★★★

      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.

      June 14, 2018Magento 2

      Matt W

      United States · User for 9 years

      ★★★★★

      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!

      zmart

      Uruguay · User for 8 years

      ★★★★★

      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

      January 25, 2018Magento 1 / OpenmageMagento 2

      Ivonne

      Mexico

      ★★★★★

      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.

      Magento 2 Compatibility

      Supported by our master extension versions

      • 2.4.9
      • 2.4.8
      • 2.4.7
      • 2.4.6
      • 2.4.5
      • 2.4.4
      • 2.4.3
      • 2.4.2
      • 2.4.1
      • 2.4
      • 2.3.7
      • 2.3.6
      • 2.3.5
      • 2.3.4
      • 2.3.3
      • 2.3.2
      • 2.3.1
      • 2.3

      Supported by our legacy extension versions

      • 2.2.11
      • 2.2.10
      • 2.2.9
      • 2.2.8
      • 2.2.7
      • 2.2.6
      • 2.2.5
      • 2.2.4
      • 2.2.3
      • 2.2.2
      • 2.2.1
      • 2.2
      • 2.1.18
      • 2.1.17
      • 2.1.16
      • 2.1.15
      • 2.1.14
      • 2.1.13
      • 2.1.12
      • 2.1.11
      • 2.1.10
      • 2.1.9
      • 2.1.8
      • 2.1.7
      • 2.1.6
      • 2.1.5
      • 2.1.4
      • 2.1.3
      • 2.1.2
      • 2.1.1
      • 2.1
      • 2.0.18
      • 2.0.17
      • 2.0.16
      • 2.0.15
      • 2.0.14
      • 2.0.13
      • 2.0.12
      • 2.0.11
      • 2.0.10
      • 2.0.9
      • 2.0.8
      • 2.0.7
      • 2.0.6
      • 2.0.5
      • 2.0.4
      • 2.0.3
      • 2.0.2
      • 2.0.1
      • 2.0

      Changelog

      15.3.0

      New feature

      • Verify SSL certificate — new profile option for the URL and Web service sources, set to Yes by default, existing profiles included. Only set it to No for a server with a trusted self-signed certificate (see the user guide).

      Bug fix

      • URL, Web service and Dropbox sources — security: the SSL certificate of https servers is verified, an https source is never downloaded over plain http, and the login and password of a URL no longer appear in the error messages and logs nor are sent to another server after a redirection.
      • URL and Web service sources — a failed download (HTTP error, connection error) stops the import with an explicit message instead of importing the response of the server.
      • Web service — the login, password and parameters containing special characters (&, =, +) are sent unchanged.

      15.2.6

      Bug fix

      • Profiles — PHP 8.2+ "Creation of dynamic property" deprecation when loading the profiles.

      15.2.5

      Compatibility

      • Fixed the JSON import on PHP 7.4.

      Improvement

      • The outputs of the admin templates are escaped, as required by the Adobe Commerce Marketplace review.

      15.2.4

      Bug fix

      • Fixed Content Security Policy (CSP) errors

      15.2.3

      Compatibility

      • Content Security Policy (CSP) compatibility with Magento 2.4.9
      • Compatibility with PHP 8.5 (deprecated curl_close() calls removed)

      15.2.2

      Bug fix

      • Magento 2.4.9: fixed the actions column of the profiles grid in the admin panel (undefined variable and missing class import)

      15.2.1

      Bug fix

      • Fixed a class constructor

      15.2.0

      Compatibility

      • Symfony 5+ compatibility

      Improvement

      • JavaScript code rewritten to prevent Content Security Policy (CSP) errors

      15.1.0

      Compatibility

      • XLS(X) files — PhpSpreadsheet library updated to version 5.

      15.0.21

      Compatibility

      • PHP 8.4 — compatibility.

      15.0.20

      Compatibility

      • XLS(X) files — PhpSpreadsheet library updated to version 4.4.

      15.0.19

      Improvement

      • CSV files — better detection of the encoding of the file.

      15.0.18

      Bug fix

      • CSV files — a tab text delimiter is no longer removed: only the spaces around the setting are trimmed.

      15.0.17

      Bug fix

      • CSV files — the "none" text delimiter is saved in full (it was truncated to "non").

      15.0.16

      Bug fix

      • CSV files — reading of the files when the text delimiter is set to none.

      15.0.15

      New feature

      • CSV files — backquote (`) available as text delimiter.

      Bug fix

      • CSV files — the text delimiter of the profile is used to read the files.

      15.0.14

      Improvement

      • CSV files — empty lines are ignored.

      15.0.13

      Compatibility

      • PHP 8.2 — deprecated utf8_encode() replaced with mb_convert_encoding().

      15.0.12

      Bug fix

      • Profiles — error caused by an undefined class property.

      15.0.11

      Bug fix

      • XML files — files containing "atom:" elements (Atom feeds) can be read.

      15.0.10

      Bug fix

      • Allow opening profiles with corrupted automatic schedule

      15.0.9

      Compatibility

      • PHP 8.2 compatibility: undefined property

      15.0.8

      Bug fix

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

      15.0.7

      Bug fix

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

      15.0.6

      Improvement

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

      15.0.5

      Bug fix

      • Improve xml namespace management, to avoid unwanted content replacements

      15.0.4

      Compatibility

      • Magento 2.4+ compatibility for the cache purge feature

      15.0.2

      Compatibility

      • PHP 8.1 compatibility for Advanced Inventory attributes

      15.0.1

      Bug fix

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

      15.0.0

      Initial release for the master version

      14.0.0 legacy

      Initial release for the legacy version

      13.1.2

      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

      13.1.1

      Improvement

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

      13.1.0

      Improvement

      • Bette XLS files conversion process

      13.0.0

      New feature

      • 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

      12.1.8

      Bug fix

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

      12.1.7

      Improvement

      • Better management of the cache invalidation

      12.1.6

      Compatibility

      • Compatibility with PHP v8.2

      12.1.5

      Compatibility

      • Compatibility with PHP v8.2

      12.1.4

      Improvement

      • Better management of the cache invalidation

      12.1.3

      Improvement

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

      12.1.2

      Bug fix

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

      12.1.1

      Bug fix

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

      12.1.0

      Improvement

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

      12.0.1

      Compatibility

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

      12.0.0

      Compatibility

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

      Improvement

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

      Bug fix

      • Fix the update of the MSI sources and saleable qty

      11.8.0

      Improvement

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

      11.7.11

      Bug fix

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

      11.7.10

      Bug fix

      • Fix the stock update for Multi Stock Inventory 

      11.7.9

      • Compatibility fix for Php v8.1

      11.7.8

      • Compatibility fix for Php v8.1 for file fetching from webservice

      11.7.7

      • Improvement for  Xml format with "iaiext:" namespace

      11.7.6

      • Bug fix for parent SKU mapping that threw an error if the value is empty

      11.7.5

      • Rollback patches for install/upgradeData that conflicts with some third-party modules (should be fixed in a coming version)

      11.7.4

      • Fix for the SSL connection with FTP: the SSL parameter was not taken into account

      11.7.3

      • Removal of the sort option from the status column in the profile grid

      11.7.2

      • Avoid the "Area code is already set" error when executing a profile via CLI

      11.7.1

      • Better compatibility with PHP 8.1

      11.7.0

      Improvement

      • 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

      11.6.8

      • Compatibility management for the profile reports modal

      11.6.7

      • Fix when reading CSV files with the tab separator

      11.6.6

      • Fix for a bug introduced in version 11.6.5 preventing reports from displaying in the import profiles grid

      11.6.5

      • Fix for an error on the field_seperator

      11.6.4

      • Update of the useragent used in the import files recovery via HTTP for greater compatibility

      11.6.3

      Compatibility

      • Compatibility with PHP 8.1

      11.6.0

      11.5.0

      • The .flag file linked to a profile is now deleted when deleting this profile

      11.4.5

      • Optimization of requests generation for import configurations by storeview

      11.4.4

      • Fix for M2E Pro update

      11.4.3

      • Control added to avoid execution errors with older versions of M2E Pro

      11.4.2

      • Fix for the M2E Pro feature

      11.4.1

      • Better support for M2E Pro update service

      11.3.1

      • Fix for testing the FTP connection taking into account the "use SSL" option

      11.3.0

      Improvement

      • Support of FTPS (SSL over FTP) for downloading the import file

      11.2.4

      • Fix for the translation call for error messages concerning Dropbox

      11.2.3

      • Fallback of curl requests recovering update files added with a user-agent in the case where the request without user-agent does not pass

      11.2.2

      11.2.1

      • Fix for a bug on the Sample/CustomModule (the module recording is now commented by default)
      • Fix for the management of empty file headers

      11.2.0

      • Fix for duplicated MySQL queries
      • The JSONPath library is not delegated
      • Deletion of url_rewrite when products are deleted following post-process deletion options

      11.1.0

      Improvement

      • Improvement when importing CSV files with headers and some of the header fields are empty

      11.0.11

      • Fix for a declaration issue

      11.0.10

      • Fix for a declaration issue

      11.0.9

      • Improved recovery of additional data for select or multiselect attributes

      11.0.8

      • Fix for updating varchar attributes when a varchar product id other than the SKU is used

      11.0.7

      • Fix for a white page when opening profiles in the back-end

      11.0.6

      • Improvement of the SQL delete method interpreter

      11.0.5

      • Fix on the profile's history for cron tasks

      11.0.4

      • Fix on a typo preventing the automatic generation of the profiles

      11.0.3

      ..

      11.0.2

      • Event added when an SQL error is triggered during the import

      11.0.1

      • Fix for the case on table names

      11.0.0

      Improvement

      • The history of profile versions is managed

      10.2.3

      10.2.2

      • CDATA supported in XML files

      10.2.1

      Improvement

      • The .JSON extension has been added for import source files

      10.2.0

      • Constants in the helper/data.php file can now be overridden by third-party modules

      10.1.2

      • Fix for the import execution

      10.1.1

      • Dependencies removed in composer.json

      10.1.0

      • Fix for dependencies with phpunit/phpunit

      10.0.0

      Improvement

      • JSON source files are supported

      9.11.4

      • Better management for additional attributes

      9.11.3

      • Fix for the requests storage reset when updating products missing from the import file

      9.11.2

      • Fix on a bug preventing the profile import from a file

      9.11.1

      • Better management for post-actions on files coming from remote server (via FTP)

      9.11.0

      • Fix when creating URLs for configurable products created on the fly

      9.10.0

      Improvement

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

      9.9.9

      Improvement

      • Better error management when executing the profiles by cron

      9.9.8

      • New supported namespace for XML files (i:<xml_tag>)

      9.9.7

      • When running profiles via CLI, they are now executed in the order

      9.9.6

      • Fix when executing several requests in a same character string

      9.9.5

      • Fix for a bug introduced in 9.9.1 preventing the update of non-MSI stocks

      9.9.4

      • Fix for a bug implemented in version 9.9.0 and that avoided importing correctly stocks for each source

      9.9.3

      • Fix when executing profiles via the CLI

      9.9.2

      • Fix when executing profiles via cron

      9.9.1

      Compatibility

      • Fix for MSI compatibility

      9.9.0

      Compatibility

      • Compatibility with the MSI Suite

      9.8.7

      • Fix for a Magento Commerce compatibility issue for stock import

      9.8.6

      • Fix for prefixed MSI tables

      9.8.5

      • Possibility to run several profiles in one time using the command line

      9.8.4

      Improvement

      • The product out of stock threshold is taken into account for the automatic assignation of the stock status

      9.8.3

      • Fix for the Sender Name field for the email cron job reporting

      9.8.2

      • Fix on URL for the sample data

      9.8.1

      Improvement

      • 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

      9.8.0

      Improvement

      • Possibility to enable/disable the profile

      9.7.3

      • Fix for the update of stock attributes

      9.7.2

      • Fix when exporting profiles

      9.7.1

      • Fix when using files via URL with redirection

      9.7.0

      Improvement

      • Improved license management system (Clear code)

      9.6.6

      • Fix when retrieving files via HTTP

      9.6.5

      Improvement

      • Files can be downloaded via a URL with HTTP authentication

      9.6.4

      Improvement

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

      9.6.3

      Improvement

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

      9.6.2

      Improvement

      • Better execution time
      • New cache added for better performances

      9.6.1

      • Fix for the import of translated values

      9.6.0

      Improvement

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

      9.5.12

      • Minor CSS fix

      9.5.11

      • Minor CSS enhancement

      9.5.10

      Compatibility

      • Minor compatibility change for Mass Product Import & Update v 6.4.0

      9.5.9

      • Sample data added for the demo

      9.5.8

      Bug fix

      • Fix for the catalog_category_product index

      9.5.7

      Bug fix

      • Fix on the filters by product id

      9.5.5

      • Minor fix for regular expressions in import files

      9.5.4

      Improvement

      • Possibility to use regular expressions for import files on a FTP server
      • JQuery/ui calls removed for more specific calls

      9.5.3

      • Fix for PHP 7.2 with the cron report

      9.5.2

      • Inventory indexer for MSI added

      9.5.1

      • Fix for the compatibility with Advanced MSI

      9.5.0

      Improvement

      • Use of Advanced MSI dynamic fields to update sources' stocks

      9.4.6

      • Minor fix on cron

      9.4.5

      • Management of backslashes in SKUs

      9.4.4

      • Better management of the multiple imports

      9.4.3

      • Fix for the attributes from the Price and Attributes groups in the mapping

      9.4.1

      • minor JS fix

      9.4.0

      • Compatibility with Mass Product Import & Update 6.0.0
      • Compatibility for Magento 2.3.3

      9.3.1

      Improvement

      • 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

      9.3.0

      Improvement

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

      9.1.0

      Improvement

      • JS optimization
      • JS merging support

      Patch v9.1.0.1

      • JS fix

      9.0.0

      Improvement

      • 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

      8.4.0

      Improvement

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

      8.3.0

      Improvement

      • 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

      8.2.0

      Improvement

      • 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

      8.1.0

      Improvement

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

      8.0.4

      Improvement

      • Better management for the profiles export/import (compatible PHP >= v5.3)

      8.0.3

      • Minor wording improvement

      Patch v8.0.3.2

      • Minor code fix

      Patch v8.0.3.1

      • Minor fix on template

      8.0.2

      Improvement

      • Better management of Xpath and mapping

      8.0.1

      Compatibility

      • Compatibility with Magento 2.3

      8.0.0

      New feature

      • Profile import/export

      Improvement

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

      7.4.1

      Improvement

      • 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

      7.4.0

      Improvement

      • 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

      7.3.0

      Compatibility

      • Compatibility with Mass Product Import & Update v3.2.0

      7.2.0

      Improvement

      • 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

      7.1.0

      Improvement

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

      7.0.0

      Improvement

      • 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

      6.3.0

      Improvement

      • Add of several actions after execution

      Patch v6.3.0.1

      • Deletion of autorefresh and add of css touchscroll

      6.2.0

      Improvement

      • Advanced XML structure management

      6.1.0

      New feature

      • 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

      6.0.1

      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

      6.0.0

      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 

      5.2.0

      Improvement

      • 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

      5.1.0

      Improvement

      • Magento v2.2.1 compatibilty

      4.0.1

      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 

      4.0.0

      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 

      Feature request

      Specific needs or any ideas of enhancements and new features to add to the extension? Tell us more, we'll get back to you shortly!

      Thank you

      That’s a wrap.

      We will get back to you as soon as possible.

      You may also like