Welcome to Magento OpenERP Integration’s documentation!

Contents:

Introduction

Magento is a feature-rich eCommerce platform built on open-source technology that provides online merchants with unprecedented flexibility and control over the look, content and functionality of their eCommerce store.

A new bridge between OpenERP and Magento has been initiated by Openlabs team. This module allows synchronization of Magento with Open ERP. It supports Synchronization of Customers, Addresses, Product Categories, Products, Order Statuses, and Orders.

See Installation first, then to login to the ERP, see Login Instructions.

Installation

Step 1: Installation of Magento core API extension

  1. After login to magento Admin Panel, go to

System >> Magento Connect >> Magento Connect Manager

_images/goto-magento-connect-manager.png
  1. Key in your username and password, the same username and password you entered while login to magento

    _images/login-magento-connect-manager.png
  2. Click on the second tab for settings and change preferred state to ‘Beta’. (As of this date the plug-in is beta). Save your settings

    _images/set-to-beta.png

Note

Default state is Stable, change it to Beta.

  1. Go to first tab i.e., Extensions to install magento-connector,

    _images/magento-connect-manager.png
  2. You need to paste the following extension key in the box to install:

http://connect20.magentocommerce.com/community/Openlabs_OpenERPConnector

_images/extension-key.png
  1. Click Install, and wait for the module to be shown for installation

    _images/loading.png
  2. Install it by clicking Proceed, refer below screenshot:

    _images/confirm-key.png
  3. The terminal shows the module installed, like shown below:

    _images/terminal-refresh.png
  4. Now go to bottom of the page to check the installed module, where installed module is shown at the end of the list, see below:

    _images/module-installed.png

Step 2: Installation of Magento Integration [OpenERP module]

Setup Python environment

  1. If not already installed by the default python installation, download the pycountry module and install it in your python directory
  2. Download the magento module and install it in your python directory (*)

(*) it seems that in linux installations, Magento Integration takes care of ‘magento module’ and installs it when running the Magento Integration setup (see .5 below). So you have to install it yourself only if you are working under windows systems because for some reason Magento Integration lacks to install the ‘magento module’ (to be confirmed by developers)

(if your openERP is installed on a Windows systems, copy the above modules from YourPythonDir\Lib\site-packages to YourOpenErpDir\Server\server)

Downloading the magento_integration module

  1. The module source is available online and can be downloaded from here.

  2. The module can be downloaded as a zip or can be cloned by running

    git clone https://github.com/openlabs/magento_integration.git
    

    OR

    git clone git@github.com:openlabs/magento_integration.git
    
  3. If the module is downloaded as a zip, extract the module which will give a directory.

    Warning

    The directory name of the extracted contents should be magento_integration. The module will not work otherwise as OpenERP identifies modules by the folder name.

    If you are downloading the source from github, the folder name created includes the branch name like magento_integration-develop.

  4. Copy this directory to addons folder of openerp. [Advanced users can update the addons path to add this module’s parent folder in their server config file.]

  5. From the module directory, use the setup.py script with the command:

    python setup.py install
    

Installing the module in OpenERP database

Login to OpenERP

To login to ERP using OpenERP client, you need to fill the following information:

  • Username: Ask your administrator for this information
  • Password: Ask your administrator for this information
_images/Login.png
  1. Go to Settings, click on Update Modules List shown under Modules

  2. Search for magento module in the search bar at top-right side of the page.

  3. Search returns the module named Magento Integration, now click on the module to install, refer below screenshot:

    _images/search_magento.png
  4. A new window is now open to install this, click on Install.

    _images/Install_magento.png
  5. On installing this a new window pop-ups asking Configure Accounting Data details for your taxes and chart of accounts. Enter the details and Continue.

    _images/Account_data.png
  6. Now magento is installed. To configure it, refer Configuration.

Configuration

The module requires certain initial configuration to be done in magento instance to set the management tool.

Magento Instance

Go to Magento >> Configuration and open Magento Instances.

It refers to a magento installation identifiable via setting the API for Magento Site URL, API User and API Password / Key

  1. Create a new magento instance by clicking create.

    _images/save_magento_instance.png
  2. Save the record with the Save button.

  3. The Connection can be tested by clicking on Test Connection button shown on the top.

  4. If the connection with magento is successful, a window will pop-up as shown below in the screenshot:

    _images/test_connection.png
  5. Now the websites can be imported by clicking Import Websites button. This will import all the websites for this magento instance. It will also import all the stores and store views related to this website. By clicking this a new window will pop-up as shown below:

    _images/Import_website.png

To know more about Magento Website, refer website.

Magento Website

Go to Magento >> Configuration and open Website.

A magento instance can have multiple websites. They act as parents of stores. A website consists of one or more stores.

After Importing Websites, magento instance will get all the websites, it’s stores and stores view. See below:

_images/Website.png

Note

A website must be unique in an magento instance

Website Store

Magento Website Store or Store view groups

Go to Magento >> Configuration and open Website Store.

_images/Website_store.png

Stores are children of websites. The visibility of products and categories is managed on magento at store level by specifying the root category on a store. The setup for root catalog on stores does not reflect on OpenERP as there is no functional benefit of doing so.

Note

A store must be unique in a website

Double click on any of of the website to import catalog by clicking on Import Catalog. This will import all the product categories and products for this magento instance, see screenshot:

_images/Import_catalog.png

Press continue to import the catalog, and it will get all the products, see below screenshot:

_images/Products.png

Note

Each product in a website must be unique!

Store View

Magento Website Store View

Go to Magento >> Configuration and open Store View.

A store needs one or more store views to be browse-able in the front-end. It allows for multiple presentations of a store. Most implementations use store views for different languages.

See screenshot below, it will get all the Store View with corresponding Store

_images/Store_view.png

Create Sale Orders in Magento

Sales orders in Magento can created from Magento Admin Panel with Create New Button shown in below Create New Order screenshot.

Sale in Magento

_images/Sales_orders.png

Orders in Magento

_images/Sales_orders_order.png

How it Works

This section explains how import and export of orders between OpenERP and Magento works.

Note

All the data represented below is demo data and is only for demonstration purposes.

Orders are imported as Sales

Orders placed in Magento Admin Panel are imported in OpenERP from Store View. See below:

_images/Import_orders.png

An order in Magento has a number of entities related and they are imported in OpenERP as described below:

  • The Order is imported as a Sale. The sale in OpenERP can be identified by the Order Number which will be same as the order reference in Magento. Internally the matching is done using the ID of the order as returned by Magento.
  • The date on which it order is generated
  • The Customer who placed the order as a Sale.
  • The products, i.e., the products bought in the order by the customer are imported as Sale lines. The product in each of these lines is created as product in OpenERP, if it does not already exist.

A window pop-ups to import all sale orders placed on this store view. Enter Continue, refer screenshot shown below:

_images/Continue_import_orders.png

Order imported as Sales in OpenERP

Sales >> Sales Orders
_images/Sale_order.png

Note

When the order import happens next time, the status of the orders in state in OpenERP will be updated if there is a change in state on Magento.

Product in OpenERP

_images/Imported_products.png

The products bought in the order by the customer are imported. The product in each of the sale lines is created as product in OpenERP, if it does not already exist.

Cancellation Of Sale Order

Double click on the order from the sale order lines to edit it. To cancel the order click Cancel Order button as shown in below screenshot:

_images/Cancel.png

Now state has been changed to cancelled, see below

Cancelled Sale Order

_images/Cancelled.png

Now to export the changes to Magento, refer export order

Exporting Order Status from OpenERP to Magento

Once the order is processed in OpenERP, the shipping status of the order based on delivery is updated on Magento by Export Order.

_images/Export_orders.png

This will export order’s status to magento for this store view

  • The status of orders which are imported in OpenERP will be exported to Magento as Cancelled once they are marked Cancelled by editing sale order from OpenERP.

Canceled order in Magento

_images/Cancel_order.png

Note

This feature is currenctly available for Cancelled Orders

Handle Taxes When Importing Orders From Magento

Taxes are matched on openerp and magento using their rates. But there can be multiple taxes with same rates and hence lead to ambiguity. So a field is added to taxes in openerp which allows the user to tell the system that a tax can be used for rate matching with a tax on magento.

See screenshot below:

_images/openerp_tax.png

The corresponding tax on magento can be seen in screenshot below:

_images/magento_tax.png

Now, when an order placed on magento with `Magento Tax`_ is imported to openerp, the `OpenERP Tax`_ will be applied on the corresponding sale line in openerp. If no matching tax is found, then no tax is applied and a user can apply taxes if needed, later.

Note

This feature works only for simple products as of now.

Handle Taxes On Shipping

Handling of taxes on shipping need an extra bit of configuration to be done. Tax on shipping has to be set as tax included in price because magento does not send the tax on shipping as a rate and calculating the rate from the amount almost always leads to mismatch of order totals due to rounding issues. Hence, the tax on shipping is set to be included in price to make sure order totals match and tax calculation done by openerp is assumed to be as close as possible to the tax calculation done by magento. See screenshot below:

_images/openerp-shipping-tax.png

Here details need to be set as highlighted in screenshot.

Note

Make sure that only one tax has been set to be applied on magento shipping.

About Openlabs Technologies and Consulting Private Limited

Openlabs Technologies and Consulting Private Limited is a global Information Technology and Management Consulting Company that helps small and medium businesses achieve high efficiency with cost effective business solutions. With customers and partners in four continents, Openlabs designs and delivers technology enabled innovative business solutions that addresses the needs of small and medium enterprises. Openlabs provides end to end solutions to businessess using a range of Free and Opensource Solutions (FOSS) Implemented by a team of highly skilled workforce comprising of domain and business experts.

The software division of Openlabs is a specialised division of Rapid Application Development of business application with a proven expertise in OpenERP (and OpenObject). Tryton and Django.

Technical Support

OPENLABS TECHNOLOGIES & CONSULTING (P) LIMITED

SDF L-12A, Noida Special Economic Zone (NSEZ), Phase II Noida-201306, U.P, India

Regd. Office: 2J, Skyline Daffodil, Petta, Thrippunithura, Kochi-682301, Kerala, India

w: www.openlabs.co.in | t: +1 813 793 6736

Indices and tables