Preliminary Step – Necessary settings in Magento


The following Magento settings need to be correctly set for the correct interoperability between Megaventory and Magento:


Note: If you use Magento 2.x, your user interface may look different than the screenshots below.


Cron Job (Unix)


Cron jobs, or scheduled tasks, must be enabled in order for the Megaventory extension to operate properly. By default if the Magento installation is running on a UNIX OS the OS should automatically recognize Magento's requests to use the CRON TAB service. The crontab service command can be used if shell access is granted to the server or added through cPanel or a similar admin tool. The crontab should have rows that look similar to one of these:

* * * * * /bin/sh /[mage_dir]/cron.sh
* * * * * /bin/bash /[mage_dir]/cron.sh
* * * * * php -f /[mage_dir]/cron.php
* * * * * /usr/bin/php /[mage_dir]/cron.php
* * * * * /usr/local/bin/php -f /[mage_dir]/cron.php



Inventory Settings (Magento)


The Inventory Settings in the Magento software can be found by navigating to System > Configuration > [Catalog > Inventory (left menu)]. If you use Magento 2.x, you can find the setting at Stores > Configuration > Catalog > Inventory. The Decrease Stock When product in Placed option (Option 1 in the figure below) will control whether non-shipped items in Sales Orders (a Pending Sales Order in Magento is equivalent to a Verified Sales Order in Megaventory) will be accounted for in the Global Stock. If this option is set to Yes, the Global Stock will decrease immediately when a Sales Order is placed. If this option is set to No, Global Stock decreases only when items are shipped against the Sales Order. The Manage Stock option (Option 12 in the figure below) should be set to Yes.







Step 1 - Installation of the Megaventory extension in Magento


 

You need to Start the Component Manager in your Magento v2 store first. To do this follow these simple, official instructions by Magento.
 
You then need to 'purchase' the free Megaventory Magento extension from the Magento Marketplace. To do that visit the Megaventory Magento extension page in the Magento Marketplace and click at Add to Cart. Follow the steps for the checkout process (you may need to create an account in the Magento Marketplace and login if you haven't already).
 
When you have completed the checkout, go back to your Magento site and install the Megaventory Magento extension by following these simple, official Magento instructions.



Step 2 - Exporting the Megaventory Data to be used in Magento




The Megaventory data entities that need to be exported to Magento are the Products, Product Categories and the Clients. The Inventory Locations, the Currencies, the Taxes and the product quantities per Inventory Location will be synchronized later in Step 7.


The data export functionality of Megaventory allows for easy export of any data entity. For example, for Products, the user should navigate to the Products list and then click the Export as Excel option without selecting any product of the list. That action exports all the products in Excel format.






The same process should also be repeated for Clients. After the two xls files have been generated and saved in a local folder, the process of importing the entities to Magento can begin.



Step 3 - Importing the Megaventory Data to Magento


The steps in the Import Process of Magento can be summarized in the following steps:

  • Login to the admin panel and navigate to system->import/export->profiles
  • Click Import all Products (or Clients) 
  • Choose upload file and select the CSV file. Then click continue and edit
  • Fill in the file according to the format specified by Magento. An example can be found here: http://docs.magento.com/m1/ce/user_guide/store-operations/data-csv-files.html
  • Click “Run Profile” and select the file to import 
  • Click “Run Profile” in the Popup window 
The above steps will import the Product and Client entities to the Magento system. For more detailed instructions, readers are encouraged to read the following Magento guide: http://www.magentocommerce.com/knowledge-base/entry/tutorial-using-magentos-import-export-profiles 



Step 4 - Activating the Magento Integration in Megaventory



To use the Magento eCommerce software, the appropriate flag has to be set in the Account Integrations module of Megaventory. This module lies under the Admin menu tab of Megaventory and handles the few settings involved in integrating Megaventory to any 3rd party software. Extra help while filling out the form can be obtained by hovering with the mouse over the bubble icon next to each specific field.








When ready, the user should save the form by clicking the Save button. At this point, it is naturally assumed that the Ordering module of Megaventory is enabled. The Enable Works (Manufacturing) option should be checked if at least one product of type Bundle (similar to a Finished Good product type of Megaventory) exists in the Magento store. Both options can be set and unset from the Admin > Account Setup module of Megaventory.



Step 5 - Generating an API key



The user should navigate under Profile Icon > Account and Billing > Admin > Users.






Clicking on the username of a user will bring up the definition of that user as seen in the figure below.






The choice of the Megaventory user that will be used to provide access to Magento to update Megaventory data is important. The user permissions of this specific user will be apply. Clicking on the key icon will generate a new random key for the specified user entity. Keep a record of that key; it will be used in Step 7 later on. Then, the Update button should be clicked to save/update the user entity.


The API key grants access to Magento so as to update the data of the Megaventory account. Therefore, the API key should be treated as a password.


Step 6 - Synchronizing Megaventory to Magento



The user shall navigate to the Megaventory menu tab in the Magento system. The page displays the connectivity settings that should be set by the user and also starts the synchronization process with the newly created Megaventory account, as shown in the figure below.




Connectivity Tab



If the Enabled setting is set to Yes, then the Magento installation will send and receive data with every Magento action that needs to communicate data to Megaventory. Setting the Enabled to No will effectively disable all the functionalities of the module. 


The API URL should be set at:


https://api.megaventory.com/v2017a/json/reply/


 and finally, the API Key is the key generated at step 6 above. 


When the user clicks the Update button, a success notification icon appears when all settings have been correctly set and connection between the two systems has been established. When a proper connection between the two systems cannot be established, a warning icon appears. Placing the mouse pointer over the warning icon will reveal the source of the errors which the user has to correct before continuing with the Initialize Data process.


The Order Synchronization is initially disabled and will be automatically enabled when the Setup Wizard ends successfully. While this option is unchecked, no sales orders are sent to Megaventory from Magento. This option should be enabled only when the inventory quantities of Magento and Megaventory are synchronized (after the Setup Wizard ends successfully). 


Setup Wizard



Next, the user shall start the process for synchronizing the Entities (Products, Product Categories, Inventory Locations and Taxes). Based on the number of entities that need to be sent to Megaventory, this process may take a significant amount of time. 






Inventory Locations





Once the Setup Wizard finishes the user shall not select to send the Magento inventory to Megaventory. Then, a default Inventory Location (if more than one Inventory Location is present in Megaventory) must be chosen as shown in the figure above. The default Inventory Location is the one that all the Magento orders will be sent to by default. Moreover, by checking/unchecking the Visible - Counts in Global Stock option, the user may control (include/exclude) the Megaventory Inventory Locations that will contribute to the quantity displayed in the Magento front-end (Global Stock). 


This is the last step of the whole set-up process.