2. Installation or Upgrade

Installation and upgrade process are pretty similar.

We advise you to carefully follow these installation steps step by step to avoid any further problem using ERP.

1. Install process

1. Warnings


Our company “Maison Du Logiciel/BoostMyShop” cannot be held responsible for any lost data or Internet malfunctioning site should any or all of the steps above had not been applied.**


Embedded ERP has to be installed on a test server BEFORE moving it to a live one.

Also, it’s advised to enable or to have an active cron task before processing the installation.


Windows server : If you want to install ERP on a Windows local server like WAMP of XAMMP , there is a special preliminary process described there : Windows Server installation process.

Since ERP v-2.9.3, this process is not necessary anymore, as Dataflow profile installation is now disabled on Windows.

To install them after the ERP installation, you can use the script provided in ERP zip folder, located in : /script/ERP_Dataflow_Profiles_Install.sql.

2. Download extension

Choose the file to install

You have bought the embedded ERP, and on your boostmyshop account you have multiple files to download. You’re a little lost on what file did you download and install ? Read this article and you will know what you need.

In order to download both extensions Embedded ERP and Extension Conflict you have to go in your BoostMyShop account in the ‘My Downloads’ section.

In all cases , you need to download the latest version of the Embedded ERP , and Extension Conflict

and follow the next page of this documentation. For extension conflict please look at :


  • If you use the magento extension M2e Pro for stock update on marketplace :

You must download the Patch for M2e Pro  and configure it :


  • If you want to use Shipworks with ERP :

You must download the Shipworks for ERP and install it and follow :


  • If you want to print your PDF from order preparation screen directly on a printed wired to the PC (only PC not mac) :

You must download Magento Client Computer and look at


if you use the magento extension Aschroder SMTP pro and you encounter some problems with sending emails with ERP, please use the patch SMTP pro.

In what order should I install the extensions ?

Do not install all of the extension in one time ! This can crash your Magento !

You must install first the Embedded ERP then extension conflicts.

Follow all the basics test describe in the documentation, and after you can install Patches for ERP.

3. Prerequisites

If you are installing ERP for the first time, you have to check which orders will be considered by the extension once enabled.

In fact, ERP will consider all orders not having a state being “Canceled”, “Closed” or “Complete”.

So, you need to make sure all your old Magento orders (already processed) have a state being “Canceled”, “Closed” or “Complete”.


Be careful, only orders Status is displayed in the order screen.

To find the state associated to an order status, please go in : System > Orders Statuses.

You’ll find there an association array between order statuses and order states, helping you to determine an order state.

Check some random orders among old ones using this method to make sure their state is correct.

The problem if these orders are considered by ERP is that their ordered products qty will be reserved in your warehouse(s) stock.

As these orders have normally already been stock managed previously, this will distort the ordered products available stock and so can change their availability on your website.

Before uploading ERP files, please check the following :

  1. Magento caches are activated and refreshed


You can manage Magento caches from System > Cache Management

This will prevent Magento to try to install the extension before all its files being uploaded on your server.

  1. Any other cache(s) (APC, Redis, memcache…) are disabled


You can find a list of other caches and switch them off in the file app/etc/local.xml.


If you don’t known how to do or you are not sure, please ask to your server administrator.

  1. Magento compilation is disabled


You can manage Magento compilation from System > Tools > Compilation

4. Upload files

ERP is provided in a ZIP files with this folder structure :

  • /app
  • /carrier_templates
  • /documentation
  • /js
  • /lib (since ERP
  • /scripts
  • /skin


you must UPLOAD this file structure to your server on the SAME file structure on you magento install.

But, please NOT upload in first app/etc/modules/ files.


Once ALL files are uploaded, please double checks if you have uploaded ALL OF THEM ( for example if you use FileZilla check in tab “File transfer failed”.)

Once ALL files are uploaded, upload app/etc/modules/ files and run to the quickly to next step :

5. Refresh Magento Caches


 Please REFRESH the MAGENTO CACHE into System -> Cache Management -> select the necessary cache -> the use mass action : refresh

This action only will INSTALL ERP

Then please go in FTP in /var/cache/ rename or delete the folder

and refresh again the magento cache.

6. Additional checks

ERP is provided in a ZIP files with this folder structure :

Some design files could be replaced , especially in app/design/adminhtml/default/default/template

page and sales  and in app/design/frontend/default/default/template  catalog, checkout and sales

Then you will need to adapt them for your skin following


Please notes that these folder are not necessary for install

  • /carrier_templates
  • /documentation
  • /scripts
 contains models for the shipping software export (Useful in ERP -> order preparation -> carrier template)
/scripts contains sql command that could be useful in case of a wrong usage of ERP (Since ERP 2.9.3, a Module available in System -> Configuration -> ERP -> ERP Info, replace moist of these maintenance script in a better way)
/documentation contains a PDF file copy of this documentation (Since ERP 2.9.2, /documentation folder is removed and replaced by  http://www.boostmyshop.com/docs)

Important Note :

When you upgrade ERP, if you have previously some code in /app/code/local /MDN

Please think to merge it with the new version fo the ERP code to avoid any unexpected behaviour in ERP

7. Initialize ERP

If you are using a Magento version with “flat catalog” activated, please update the flat catalog in ``System > Cache settings

Once all files have been uploaded on your server, please follow the following steps to make sure ERP is well installed :

  • Refresh cache (System menu > Cache settings): If you get any error message at this stage, it means that there are some problems with the installation. Please note down the error and use our online support tool (http://www.boostmyshop.com/english/CrmTicket/Front_Kb/List/product_id/2/) to get assistance.
  • Refresh indexes (System > Index management)
  • Disconnect and reconnect yourself from Magento’s back office.

Then, you must initialize Embedded ERP caches :

  • Initialize product availability statuses: Select menu ERP > Tools > product availability statuses and click on refresh button [only missing] ;
  • Initialize order preparation screen : select menu ERP > Order preparation > Prepare orders and click on “Distribute orders in tabs” button

Once all steps are valid, extensions are well installed.

Before going on with the installation and especially before activating the CRON, we advise you to configure the extensions.

  • Go to System > configuration > ERP and click on “save” :
  • Go to : System -> configuration -> ERP -> Advanced Stock and click on “save” ;
  • Go to : System -> configuration -> ERP -> Order preparation and click on “save” ;
  • Go to : System -> configuration -> ERP -> Purchase, go to the section “Supply needs”, and in the “manufacturer attribute” drop-down list, select for instance “Manufacturer” and click on “save” ;
  • Go to : System -> configuration -> CATALOG -> Inventory  and click on “save” ; (NB : it is advised to have in Product Options > Manage Stock to yes, because ERP manage stocks :) ).

If you are using Magento CE version < 1.8, we also advise to execute manually the CRON to make sure the operation is going well. For that, you can type directly CRON url on your browser: http://www.maboutique.com/cron.php

Refresh this page as many times as required in order to have no message showing processed tasks.

Think to set the cron on server side with a frequency of 1 or 2 minutes

It’s highly recommended to not set the frequency of the cron over 5 minutes. If you have a lot of order ( more than 100 per day ) you must set the cron frequency of 1 or 2 minutes.

Additionally of the magento cron we advise you to use the erpcron.php (please read with attention this part with your technical person in order to make the erpcron working correctly) : (http://documentation.boostmyshop.com/embedded_erp/12_healthy_erp_erp_info.html#disable-erp-magento-cron-use-erpcron-php-instead)

8. Conflicts with other extensions


This part is a technical one, but must be followed to ensure a good working of Embedded ERP.

Magento’s architecture is designed to allow extensions to easily modify the “class architecture” : it uses the Rewrite system.

However, this system has some limits : 2 extensions can’t rewrite the same class.

To see the list of all the rewritten class by an extension, have a look to its config.xml file, in the rewrite section.

If you have other extensions rewriting same class, you only got one solution :

Bring all rewrites together in the same file, and so modify these extensions code. Further updates and assistance on these extensions will then probably not be accepted.


Boostmyshop offers an extension designed to identify extensions causing conflicts, which name is Extension Conflict.

You can download it for free from your boostmyshop account if you have purchased Embedded ERP

If you need more information, here is the full Extension Conflict documentation : Extension Conflict Documentation

9. Functional Tests


It’s mandatory to have a cron runing on your server to success all these tests.

If cron is not working on your server, you can still run it manually using this URL : www.yourWebsite.com/cron.php.

Keep in mind to refresh this URL everytime you need the cron to be executed.


In addition to Magento cron, we also advise you to use the cron file we made specially for ERP : erpcron.php.

More information on the ERPcron Documentation

To make sure that ERP is correctly installed and works well, please run the following tests :

1) Create a simple product from Catalog > Manage Products.

  • Set the following settings on this product :

    Field Value
    Status Enabled
    Tax Class None
    Visibility Not Visible Individually
  • Then link this product to Websites if you got more than one.

2) Go to ERP > Products > [Select the product just created] > Stock tab.

  • Create a stock movement from a “blank” warehouse to your default warehouse, with Qty = 1 :
  • In the same tab, you will find the Stock settings section.
  • Change the Backorders option to Allow Qty Below 0 and Notify Customer :
  • Then, click on Save at the top-right corner to save Backorders new setting.

3) Go to Sales > Orders, and Create a new order containing 3 units of the previously created product using [Create New Order] button.

  • You should now have an “Items Ordered” section looking like :


If you well followed previous steps and well run the cron, you should see same warning message as the one displayed on the picture above :

This product is not available in the requested quantity. 2 of the items will be backordered.

  • Then, submit the order.


Wait for cron execution, or run it manually.

4) Go to ERP > Order Preparation > Prepare orders and check that the order you just created is well visible in the Ignored Orders tab.

  • Go to ERP > Purchasing > Supply needs and check that the product you ordered is well visible.
  • Then go to ERP > Products, select a product and go to the Stock tab. Product Ordered Qty should be 3.

5) Go back to Sales > Orders, then select the ordered previously created.

  • Create an invoice for that order, using the Invoice button.


Wait for cron execution, or run it manually.

6) Go back to ERP > Order preparation > Prepare orders and click on the Stockless Orders tab.

  • The order you previously created should be visible in this tab, as the order has been invoiced and so is considered as paid.

7) Create a new supplier from ERP > Purchasing > Suppliers.


When the supplier is created, in the Summary tab you will find an Email field, set your email address in it for further tests.

  • Go back to ERP > Purchasing > Supply needs, and find your product in the grid.
  • On the product row, click on max to increase the product needed qty in the purchase order you will create.
  • Then at the top-right corner, you will find a Create a purchase order for supplier field.
  • Set a supplier using the drop-down list, then press Create to create a new purchase order for this supplier.

8) Once the new purchase order has been created, a new screen appears.

In this screen :

  • Set an Estimated time of arrival
  • Change the Status to Waiting for delivery
  • At the top-right corner, click on Save


Wait for cron execution, or run it manually.

9) Go back to ERP > Purchasing > Supply needs and check that the product status is Pending delivery.

  • Go back to the purchase order previously created (ERP > Purchasing > Purchase orders > [Select your Purchase Order]).
  • Then, from the Supplier notification tab, you should see your email address displayed after : Supplier email address.


If your email address is not set yet, please set it for the supplier as explained in step 7, before continue any functional test.

  • Type a message in the text-area, and send it using the Send to Supplier button.


You should receive the purchase order email on your email address.

If you don’t receive this email even after a long time, please contact us, specifying if you are using an SMTP extension like Aschroder SMTP Pro Magento, Mandrill (…)

10) Go back to the purchase order previously created (ERP > Purchasing > Purchase orders > [Select your Purchase Order]).

  • Then go to the Deliveries tab (Receptions tab in the last ERP version), click on All products delivered and then on Save.


Wait for cron execution, or run it manually.

11) Go to ERP > Order Preparation > Prepare orders and check that the order previously created is well displayed in the Full Stock Orders tab.

  • Go to ERP > Purchasing > Supply needs and check that the product is not visible anymore in the grid.

12) Go to ERP > Order Preparation > Prepare orders.

In the last column of each order row, there is a Select button. Click on the one corresponding to your order row to put this order in the Selected orders tab.

  • Click on Picking list button.
  • Click on Create shipments/invoices button.
  • Click on Notify button.


Wait for cron execution, or run it manually.

You should receive an email with the order confirmation.

  • Click on Finish button.


Wait for cron execution, or run it manually.

13) Go back to the created product sheet.

  • Physical and Available Qty should be 1, Ordered and Reserved Quantity 0.
  • A new “Shipment” stock movement should also be visible in the Stock movements section.

10. Frontend Installation

Once installed, ERP modify products availability status according to products available qty.

To do it, it normally updates Magento default template.

However if you have a custom skin installed, it’s possible that ERP can not overide Magento product availability status after a standard installation.

To correct this problem, please follow this guide to properly finish the frontend installation : Display product availability status on frontend

Moreover, we highly recommend you to spend a few time to understand how ERP and its “product availability status” work, reading this article : ERP - Product availability status

11. Before going Live with ERP

Before going Live with ERP :

**it is MANDATORY to : **

  • Pass successfully installation tests from the previous step of this section
  • Install magento extension conflict and fix all you conflict, especially conflict relative to “Models”
  • Test if you cron is running well
  • Read and go through each option described in :


2. Fix broken installation

If something went wrong during the installation, you magento installation may be broken and display message like :

To reset the installation and run it again, please follow those steps :

  • Edit file scripts/uninstall_erp.php and remove the first die line
  • Upload the file on your server (in scripts directory)
  • Run that url : www.yourwebsite.com/scripts/uninstall_erp.php : it removes database erp tables
  • Go back in magento admin

3. Upgrade

1. Prerequisite


If you upgrade from an older version than ERP : please completely refresh the order preparation cache (button Force refresh on order preparation screen)

Check ERP version

Upgrading ERP from an old version before 2.9.x require you open a ticket to enable us to check.If you have a version from 2.9.0 to 2.9.5.x, the upgrade is possible.

Check code custom

Check if you have some code modified in app/code/local/MDN/ : backup the files and disable them. (just rename files)

Check if you have some code modified in app/code/community/MDN/ :

Install magento extension conflicts.

Run the diff tool (4th tab) to identify which files has been modified and Backup these files.

2. Upgrade

The ERP upgrade process has to follow the exact same steps that the ERP Installation process described here


After the upgrade is done, look at your customized file if you have some, and re-merge them with development team. And run again the functional tests of the modified part.

3. Migration scripts

When you upgrade ERP, if you have used the Supplier Invoice functionnality (from V2.9.7.x) or if you used the Tab Accouting in the Purchase order (old version to V2.9.7.x), you need to launch some migration scripts :

If you upgrade from any version to V2.9.7.x, you must run in your browser : http://[www.yoursite.com]/scripts/migration/po_invoices.php

If you upgrade from V2.9.7.x or 3.0.x TO 3.1.x or higher, you must run in your browser : http://[www.yoursite.com]/scripts/migration/po_invoices_update.php

If you upgrade an older version than V2.9.7.x or 3.0.x TO 3.1.x or higher, you must run in your browser : http://[www.yoursite.com]/scripts/migration/po_invoices.php AND then http://[www.yoursite.com]/scripts/migration/po_invoices_update.php

Becarefull, each script can be run only ONCE, else you can duplicate supplier invoice data.

4. Manual Uninstall



Check and restore conflicts

You may have solved conflicts during ERP installation between ERP and other extensions.

In order to avoid override issues after the ERP uninstall you have to restore them.

You can check with ‘Extension conflicts’ to help you to see override on classes or backuped conflicts :


Disable the modules in Magento

Edit all xml files in app/etc/modules that begin by “MDN” relative to these modules :

  • AdvancedStock
  • BackgroundTask
  • Purchase
  • OrderPreparation
  • SalesOrderPlanning
  • Scanner
  • Organizer
  • HealthyERP
  • CompetitorPrice (not necessary, this module can works without ERP)
  • ErpApi
  • SmartReport (not necessary, this module can works without ERP)
  • MyBMS (not necessary, this module can works without ERP)
  • Change true by false, save files.
  • Then, refresh magento caches.

Restore Magento options disabled by ERP

Two magento options are disabled by ERP during the installation, Check if these options was well enabled before the ERP installation in order to avoid any problems with other extensions and to avoid stock issues

In system > configuration > catalog > inventory > Stock Options :

  • Decrease Stock When Order is Placed
  • Set Items’ Status to be In Stock When Order is Cancelled

Remove all the files in your magento installation

all files from

  • /app/code/local/MDN/
  • /app/code/community/MDN/

relative to these modules:

  • AdvancedStock
  • BackgroundTask
  • Purchase
  • OrderPreparation
  • SalesOrderPlanning
  • Scanner
  • Organizer

And Since 2015-2016 versions :

  • HealthyERP
  • ErpApi
  • CompetitorPrice (not necessary, this module can works without ERP)
  • SmartReport (not necessary, this module can works without ERP)
  • MyBMS (not necessary, this module can works without ERP)


  • AdvancedStock.xml
  • BackgroundTask.xml
  • SalesOrderPlanning.xml
  • Scanner.xml
  • Purchase.xml
  • Organize.xml
  • OrderPreparation.xml
  • MyBms.xml (not necessary, this module can works without ERP)
  • CompetitorPrice.xml (not necessary, this module can works without ERP)
  • SmartReport.xml (not necessary, this module can works without ERP)

in app/design/adminhtml/default/default/template

  • AdvancedStock
  • Backgroundtask
  • OrderPreparation
  • Organizer
  • SalesOrderPlanning
  • Purchase
  • Scanner
  • MyBms.xml (not necessary, this module can works without ERP)
  • CompetitorPrice.xml (not necessary, this module can works without ERP)
  • SmartReport.xml (not necessary, this module can works without ERP)

Clean Schedule Cron

To make sure that Magento cron will not try to execute ERP related task, run this query :

delete from magentocron_schedule where job_code in ('update_stocks', 'update_sales_history', 'execute_tasks', 'erp_check_probes', 'update_availability_status')

Clean Erpcron Cron task from the Linux crontab or Cpanel

If you have scheduled a cron task on erpcron.php, make sure to remove the cron task on the “scripts/cron/erpcron.php” from your Linux crontab or your Cpanel, depending of what you use.

Clean Database

From the ERP archive (>=, a php script is available to automatically clean the database :

  • Edit file scripts/uninstall_erp.php and remove the first die line
  • Upload the file on your server (in scripts directory)
  • Run that url : www.yourwebsite.com/scripts/uninstall_erp.php

Magento tables alteration

ERP adds columns in magento tables, here is the list :

Table cataloginventory_stock

  • stock_name
  • stock_description
  • stock_address
  • stock_code
  • stock_available_for_sales
  • stock_own_warehouse
  • stock_disable_supply_needs
  • stock_is_hidden

Table cataloginventory_stock_item

  • stock_ordered_qty
  • stock_reserved_qty
  • stock_ordered_qty_for_valid_orders
  • shelf_location
  • is_favorite_warehouse
  • ideal_stock_level
  • use_config_ideal_stock_level
  • erp_exclude_automatic_warning_stock_level_update

Table sales_flat_order

  • stocks_updated
  • fullstock_date
  • estimated_shipping_date
  • payment_validated
  • is_valid
  • announced_date
  • announced_date_max

Table catalog_product_entity

  • exclude_from_supply_needs

ERP tables added

  • ‘backgroundtask_group’,
  • ‘backgroundtask’,
  • ‘cataloginventory_stock_assignment’,
  • ‘erp_inventory’,
  • ‘erp_inventory_log’,
  • ‘erp_inventory_product’,
  • ‘erp_inventory_stock_picture’,
  • ‘erp_sales_flat_order_item’,
  • ‘erp_sales_history’,
  • ‘erp_stockmovement_adjustment’,
  • ‘erp_stock_transfer’,
  • ‘erp_stock_transfer_products’,
  • ‘order_preparation_carrier_template’,
  • ‘order_preparation_carrier_template_fields’,
  • ‘order_to_prepare’,
  • ‘order_to_prepare_item’,
  • ‘order_to_prepare_pending’,
  • ‘organizer_task’,
  • ‘organizer_task_category’,
  • ‘organizer_task_origin’,
  • ‘product_availability’,
  • ‘purchase_contact’,
  • ‘purchase_manufacturer’,
  • ‘purchase_manufacturer_supplier’,
  • ‘purchase_order’,
  • ‘purchase_order_history’,
  • ‘purchase_order_product’,
  • ‘purchase_packaging’,
  • ‘purchase_product_barcodes’,
  • ‘purchase_product_manufacturer’,
  • ‘purchase_product_serial’,
  • ‘purchase_product_supplier’,
  • ‘purchase_sales_order_planning’,
  • ‘purchase_shipping_delay’,
  • ‘purchase_supplier’,
  • ‘purchase_tva_rates’,
  • ‘stock_errors’,
  • ‘stock_movement’,
  • ‘supply_needs’,
  • ‘purchase_supplier_invoice’,
  • ‘purchase_supplier_group’,
  • ‘purchase_order_reception’,
  • ‘purchase_order_reception_items’