2. Installation or Upgrade

Installation and upgrade process are similar.

We recommend to follow carefully the following steps point by point to avoid any problem

Warning

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

1. INSTALL PROCESS

1. Warnings

Warning

Embedded ERP to be installed on a test server BEFORE installing on a production server.

Warning

Prior to Embedded ERP installation, it’s advised to enable or to have an active cron task.

Warning

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

Warning

Warning for Windows server : if you want to install ERP on a Windows local server like WAMP of XAMMP , there is a special preliminary process described here : http://www.boostmyshop.com/english/CrmTicket/Front_Kb/View/product_id/2/ticket_id/4698/Since ERP 2.9.3, this last issue is no longer occurs.**Dataflow profile installation is now disabled on Windows. To install them after the ERP install, a script is provided in ERP zip** /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 :

http://documentation.boostmyshop.com/extension_conflict/3_how_to_use.html#conflicts-list

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

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

http://documentation.boostmyshop.com/embedded_erp/15_compatibility_with_other_extensions.html#m2epro-patch

  • If you want to use Shipworks with ERP :

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

http://documentation.boostmyshop.com/shipworks_for_erp/index.html

  • 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

http://documentation.boostmyshop.com/magento_client_computer/index.html

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. Before file upload

Warning

If this is your first ERP installation, there is a very important point to check before to upload it : Please check your magento orders state / status and make sure you have not (old) orders with strange state /status. Reasons is that ERP once installed and enabled, will consider all orders whose have not the order state ‘complete’, ‘canceled’, closed’. Else the risk is that you will have a lot of orders with reserved product quantity which will cause a product availability issue.

Before ERP files upload, YOU MUST

go in your magento admin panel info

Warning

  1. ENABLE MAGENTO CACHE

Warning

  1. REFRESH MAGENTO CACHE

it will prevent Magento to try to install the extension before all files are uploaded.

Warning

DISABLE ANY OTHER CACHE (APC cache, Redis cache, memcache) ...

Note

Open the file “app/etc/local.xml” and check for / switch off any other extra caches.

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

Warning

If Enabled, Please DISABLE THE MAGENTO COMPILATION

See also

System -> TOOL -> Compilation

4. Upload files

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

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

Note

You just need to UPLOAD this file structure to your server on the SAME file structure on you magento install.

Warning

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

5. Refresh Magento Caches

Warning

 REFRESH MAGENTO CACHE

It will INSTALL ERP

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

http://www.boostmyshop.com/english/CrmTicket/Front_Kb/View/product_id/2/ticket_id/5435/

Please notes that these folder are not necessary for install

  • /carrier_templates
  • /documentation
  • /scripts
/carrier_templates
 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. Complete installation

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

Once all files are copied, please follow hereunder steps to make sure it 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

Note

this part is technical but absolutely essential before going live or testing ERP**

Magento’s architecture is planned to allow extensions to modify the basic class behavior: Rewrite feature.

However this function has a limit: 2 extensions can not rewrite the same class.

To see the list of rewritten classes by these extensions, please refer to the file config.xml, rewrite section.

If you have other extensions rewriting the same classes, you have only one solution: Gather rewrite processing in the same file, in this case you will have to modify the extensions: further updates and assistance on the extensions will not be accepted.

Boostmyshop offers an extension to identify extensions conflicts.

http://www.boostmyshop.com/english/magento-extension-conflict.html

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

Please find below the full documentation regarding Magento Extension Conflict :

http://documentation.boostmyshop.com/extension_conflict/index.html

9. Functional Tests

Warning

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.

Note

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 a Product] > Stock tab.

  • Create a stock movement from a “blank” warehouse to your default warehouse, with Qty = 1 :
_images/erp_install_stock_movement.png
  • In the same tab, you will find the Stock settings section.
  • Change the Backorders option to Allow Qty Below 0 and Notify Customer :
_images/erp_install_stock_settings.png
  • 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 :
_images/erp_install_items_ordered.png

Note

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.

Note

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.

Note

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.

Note

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.
_images/erp_install_supply_needs.png

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

_images/erp_install_po_settings.png
  • In this screen :

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

Note

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.

_images/erp_install_waiting_for_delivery.png
  • 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.

Warning

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.

Note

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, click on All products delivered button and click on Save.

Note

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.

Note

Wait for cron execution, or run it manually.

You should receive an email with the order confirmation.

  • Click on Finish button.

Note

Wait for cron execution, or run it manually.

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. Installation on Front

ERP modifies the behaviour of the product availability status on the product page.

When ERP is installed, ERP updates the default template of magento to manage this, but if you have a skin, the product availability status of Magento should remain after a standard ERP installation.

Please follow this process to finish the front installation properly.

http://documentation.boostmyshop.com/embedded_erp/8_sales_order_planning.html#displays-the-product-availability-status-on-front

It is very important that you spend some time to understand how the ERP work and how the “ERP Product availability Status” works

http://documentation.boostmyshop.com/embedded_erp/8_sales_order_planning.html#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 :

http://documentation.boostmyshop.com/embedded_erp/4_stock_management.html

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

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

http://documentation.boostmyshop.com/embedded_erp/2_installation_or_upgrade.html#install-process

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.

4. Manual Uninstall

Warning

WARNING - PLEASE TEST THIS ON A DEV SERVER BEFORE DOING THAT ON A PRODUCTION SERVER

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 :

http://documentation.boostmyshop.com/extension_conflict/3_how_to_use.html#how-to-use

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)

app/design/adminhtml/default/default/layout

  • 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 (>= 2.9.5.0), 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’