BASE EXTERNAL REFERENTIAL               HOW TO CONNECT OPENERP                WITH EXTERNAL SYSTEMSOpenERP Community days ...
Context●   June 2009 : Akretion and OpenLabs start a new project    « MagentoERPconnect », the new connector for Magento a...
Goals in 2009    Example connection with Magento●   What is needed by my customer :    ●   Must be multi-referential    ● ...
Generic needs          Specific part          to magento    MagentoERPconnect                          MagentoERPconnect  ...
Must be multi-referential●   Connecting one Magento is great, but its better    to connect to various Magentos at the same...
Must be flexible ;)●   The mapping (link between OpenERP field and    Magento field) should not be hard-coded !
Must be flexible ;)●   Base_external_referential => the magic box                    MAPPING     MAPPING                  ...
Must be flexible ;)●   Next step : add generic mapping                            GENERIC                            MAPPI...
How does a mapping    look like?
How does a mapping    look like?
3 kinds of mapping lines●   1. Direct mapping :    Map an OpenERP field with an external field
3 kinds of mapping lines●   2. Function mapping :    Use some lines of Python to evaluate a field
3 kinds of mapping lines●   3. Submapping : a field will be evaluated using    another mapping object    Example : the fie...
More information about sub-             mapping     _transform_external_resources                      ONE SALE ORDER    _...
How can I make my own              mapping?●   Step 1 : Add mapping in OpenERP with the    interface and test it●   Step 2...
Error managementBefore :●   If a synchronisation failed, everything had to be    restarted from the beginning. No incremen...
Error management NOW         MAPPING           MAPPING         1.3.2.4 +         1.5.0.0 +  DATA                          ...
Error management NOW●   Incremental import / export => resources are    exported one by one. After importing / exporting  ...
Error management NOWA report is generated for each synchronisation
Error management NOW●   For each failure, a report line is generated and    can be replayed easily
Base external is great but...E-commerce needs more than a genericmodule of synchronisation. We also need to :●   Import or...
Base_sale_multichannels●   An abstract module to make OpenERP a    MULTI-SALE-CHANNELS software
Base_sale_multichannels
Base_sale_multichannels                                    OpenERP                                   sale order E-Commerce...
Base_sale_multichannelsPayment configuration
Generic is great but              how does it work ?  ●   If two modules like MagentoERPconnect and      PrestashopERPconn...
Generic is great, but how does it             work ?●   We have to test where we are :(
Decorators are great ;)
Last improvement of the week●   Synchronizing data with Magento is long,    very very very very very long !    => we have ...
Last improvement of the week●   Before :      When we send a resource (product, category...) in      multi-lang, we send x...
Last improvement of the week●   Before :      If one field changes on a resource, all fields of the      resource are sync...
Modules that use      base_external_referentials     and base_sale_multichannels●   MagentoERPconnect●   PrestashopERPconn...
MagentoERPconnects                  roadmap●   For May:    ●   Huge re-factoring is coming    ●   RMA synchronisation    ●...
PrestashopERPconnects                  roadmapDONE in 4.5 days:●   shop/websites import●   customer import●   languages & ...
File_exchange              What is it ?A new way to synchronize data with file system                    STEP 1 : create m...
File_exchange                  What is it?    STEP 2 : build your model file●
AmazonERPconnectWill be released in May 2012●   Sale order import●   Bank statement importTODO :●   stock level export●   ...
Project hosted on launchpad●   https://launchpad.net/openobject-extension●   https://launchpad.net/e-commerce-addons●   ht...
Thank you for your attentiontwitter : seb_beau
Upcoming SlideShare
Loading in …5
×

openERP- How to connect OpenERP with external Systems, AkretionAkretion base external_referentials_openerpdays

15,145 views

Published on

Published in: Business, Technology
2 Comments
4 Likes
Statistics
Notes
  • hi
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • We have developed Magento Connector with OpenERP version 7.
    Please click on the link below for screenshots

    http://www.teckzilla.net/blogs/item/112-openerp7-magento.html
    http://teckzillaopenerp.wordpress.com

    The Module is ready to USE. Please email sales@teckzilla.net for demo.

    Thanks
    www.teckzilla.net
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
15,145
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
366
Comments
2
Likes
4
Embeds 0
No embeds

No notes for slide

openERP- How to connect OpenERP with external Systems, AkretionAkretion base external_referentials_openerpdays

  1. 1. BASE EXTERNAL REFERENTIAL HOW TO CONNECT OPENERP WITH EXTERNAL SYSTEMSOpenERP Community days Sébastien Beau April 12th, 2012 Sebastien.beau@akretion.com Consultant at Akretion
  2. 2. Context● June 2009 : Akretion and OpenLabs start a new project « MagentoERPconnect », the new connector for Magento and OpenERP.● June 2011 : MagentoERPconnect project is now maintained by the group « MagentoERPconnect Core Editor » composed of Akretion, Camptocamp, OpenLabs and ZikzakMedia.● February 2012 : Camptocamp and Akretion release a new connector for Prestashop : PrestashopERPconnect● March 2012 : Akretion release File Exchange, a new way to synchronise automatically files with OpenERP● Soon : AmazonERPconnect
  3. 3. Goals in 2009 Example connection with Magento● What is needed by my customer : ● Must be multi-referential ● Must be flexible ● Must report errors of synchronisation ● Must synchronise all of the data (product, sale order, picking, invoice, ...) ● Must be cheaper => These are generic needs !!
  4. 4. Generic needs Specific part to magento MagentoERPconnect MagentoERPconnect Bundle Product Product Variant MagentoERPconnect Sale Product Product Product Product Base SaleBundle m2m Images Variant links MultichannelsProduct Category Olbs Multi Base External Referentialsgeneric part of the project
  5. 5. Must be multi-referential● Connecting one Magento is great, but its better to connect to various Magentos at the same time => do not add a new column on each object to store external_id => using the table « ir_model_data » to store external ids
  6. 6. Must be flexible ;)● The mapping (link between OpenERP field and Magento field) should not be hard-coded !
  7. 7. Must be flexible ;)● Base_external_referential => the magic box MAPPING MAPPING 1.3.2.4 + 1.5.0.0 + DATA DATA
  8. 8. Must be flexible ;)● Next step : add generic mapping GENERIC MAPPING MAPPING MAPPING 1.3.2.4 + 1.5.0.0 + DATA DATA
  9. 9. How does a mapping look like?
  10. 10. How does a mapping look like?
  11. 11. 3 kinds of mapping lines● 1. Direct mapping : Map an OpenERP field with an external field
  12. 12. 3 kinds of mapping lines● 2. Function mapping : Use some lines of Python to evaluate a field
  13. 13. 3 kinds of mapping lines● 3. Submapping : a field will be evaluated using another mapping object Example : the field “order_line” of the “sale_order” will be evaluated by the mapping of the “order_ line”
  14. 14. More information about sub- mapping _transform_external_resources ONE SALE ORDER _get_mapping if not exist for each line _transform_one_ _resource _transform_one_resource code to convert data merge_with_default_value code to merge converted data with default value merge_with_default_value _transform_sub_ mapping _transform_sub_mappingfor each submapping _transform_resources
  15. 15. How can I make my own mapping?● Step 1 : Add mapping in OpenERP with the interface and test it● Step 2 : Export it and put it in a module● Step 3 : Take a drink... youre done, and your boss can not imagine that you have already finished ;)
  16. 16. Error managementBefore :● If a synchronisation failed, everything had to be restarted from the beginning. No incremental import.● No easy way to understand what happened, what raised an error, what worked● Bugs can not be reproduced and fixed easily
  17. 17. Error management NOW MAPPING MAPPING 1.3.2.4 + 1.5.0.0 + DATA DATA RAPPORT Soon : email notification ;)
  18. 18. Error management NOW● Incremental import / export => resources are exported one by one. After importing / exporting a resource, everything is committed Synchronize orders import one order and commit it import one order and commit it import one order and commit it
  19. 19. Error management NOWA report is generated for each synchronisation
  20. 20. Error management NOW● For each failure, a report line is generated and can be replayed easily
  21. 21. Base external is great but...E-commerce needs more than a genericmodule of synchronisation. We also need to :● Import orders● Play on_change on order lines and sale orders● Play workflow● Compute or use external taxes● Export products, stock levels, ...
  22. 22. Base_sale_multichannels● An abstract module to make OpenERP a MULTI-SALE-CHANNELS software
  23. 23. Base_sale_multichannels
  24. 24. Base_sale_multichannels OpenERP sale order E-Commerce waiting for validation Payment by approval check sale order validated + shipping confirmed 56971236 56971236 send invoice created automatically and e-mail with confirmed invoice
  25. 25. Base_sale_multichannelsPayment configuration
  26. 26. Generic is great but how does it work ? ● If two modules like MagentoERPconnect and PrestashopERPconnect are installed and overwrite the method “import_orders”, how can it work ? Button : import_order ???? ????import_order (from Magento) import_order (from PrestaShop)
  27. 27. Generic is great, but how does it work ?● We have to test where we are :(
  28. 28. Decorators are great ;)
  29. 29. Last improvement of the week● Synchronizing data with Magento is long, very very very very very long ! => we have to optimize the data sent to Magento
  30. 30. Last improvement of the week● Before : When we send a resource (product, category...) in multi-lang, we send x time all fields of a resource => sending X time a not translatable product is useless● Now : Base_external_referentials generates a dictionary with all resource information : {en_US: {all of data}, fr_FR: {only translatable field}, ...}
  31. 31. Last improvement of the week● Before : If one field changes on a resource, all fields of the resource are synchronised again● Now : Ability to create a group of fields that will have their own “last update date”
  32. 32. Modules that use base_external_referentials and base_sale_multichannels● MagentoERPconnect● PrestashopERPconnect● File Exchange● AmazonERPconnect
  33. 33. MagentoERPconnects roadmap● For May: ● Huge re-factoring is coming ● RMA synchronisation ● Invoice export ● Delivery time synchronisation
  34. 34. PrestashopERPconnects roadmapDONE in 4.5 days:● shop/websites import● customer import● languages & country synchronisation● product import● order import (still missing taxes and shipping costs)TODO :● finish order import● stock level export● product export● invoice export (PDF report)● picking export
  35. 35. File_exchange What is it ?A new way to synchronize data with file system STEP 1 : create mapping
  36. 36. File_exchange What is it? STEP 2 : build your model file●
  37. 37. AmazonERPconnectWill be released in May 2012● Sale order import● Bank statement importTODO :● stock level export● product export● picking export
  38. 38. Project hosted on launchpad● https://launchpad.net/openobject-extension● https://launchpad.net/e-commerce-addons● https://launchpad.net/prestashoperpconnect● https://launchpad.net/magentoerpconnect Modules in extra-addons are deprecated and will be remove soon. Use the specific branches.
  39. 39. Thank you for your attentiontwitter : seb_beau

×