Apostolos Kritikos - Challenges in integrating ERP systems with WooCommerce E-shops

Apostolos Kritikos - Challenges in integrating ERP systems with WooCommerce E-shops

As the volume of small and medium enterprises (SMEs), mainly on the retail industry, continues to increase, the need to automate the logistics of these companies by integrating their back office (Enterprise Resource Planning Systems) with their e-shop becomes mandatory.

This past year at Social Mind we worked thoroughly in integrating two of the most widely used Greek ERPs with WooCommerce. This talk aims in sharing the challenges we faced and hopefully provide some good practices regarding software architecture for software houses.

A717e9d055b2284e573b2412e32f5397?s=128

WordPress Greek Community

December 09, 2017
Tweet

Transcript

  1. www.socialmind.gr @ WordCamp Athens 2017 1 Apostolos Kritikos Co-founder &

    CTO Challenges in integrating ERP systems with WooCommerce E-shops www.socialmind.gr
  2. www.socialmind.gr @ WordCamp Athens 2017 2 Enterprise Resource Planning Systems

    (ERPs) APIs Why they rule and why we using them… WordPress & WooCommerce Good Practices in Software Development Agenda Why they need to be integrated with e-shops… APIs APIs APIs APIs … APIs everywhere! Core decisions about the nature of our projects!
  3. www.socialmind.gr @ WordCamp Athens 2017 3 Why WordPress? #community #plugins

    #OpenSource #restAPI #scalable #extensibility #documentation #themes #support #future_proof Why WooCommerce?
  4. www.socialmind.gr @ WordCamp Athens 2017 4 ERPs… …and why we

    need to integrate them with e-shops! Enterprise resource planning (ERP) is the integrated management of core business processes, often in real-time and mediated by software and technology. These business activities can include: • Product planning • Purchase • Production • Planning • Manufacturing or service delivery • Marketing and sales • Materials management • Inventory management • Retail • Shipping and payment • Finance (via Wikipedia)
  5. www.socialmind.gr @ WordCamp Athens 2017 5 Main reasons why retailers

    should want their ERP systems integrated with their WooCommerce store: Spare me the Wiki definition and tell me why! The product catalogue to the e-shop is automatically synchronized with the product catalogue of the ERP reducing the double data entry time for the retailer. One data entry to rule them all ERPs… …and why we need to integrate them with e-shops!
  6. www.socialmind.gr @ WordCamp Athens 2017 6 Main reasons why retailers

    using ERP systems should want them integrated with their e-shop solution: Spare me the Wiki definition and tell me why! Stock sync automation between e-shop & ERP The product catalogue to the e-shop is automatically synchronized with the product catalogue of the ERP reducing the double data entry time for the retailer. One data entry to rule them all ERPs… …and why we need to integrate them with e-shops! The fact that the e-shop and the ERP are in sync ensures reliability when it comes to product availability.
  7. www.socialmind.gr @ WordCamp Athens 2017 7 Main reasons why retailers

    using ERP systems should want them integrated with their e-shop solution: Spare me the Wiki definition and tell me why! Order sync automation between e-shop & ERP Stock sync automation between e-shop & ERP The product catalogue to the e-shop is automatically synchronized with the product catalogue of the ERP reducing the double data entry time for the retailer. One data entry to rule them all ERPs… …and why we need to integrate them with e-shops! The fact that the e-shop and the ERP are in sync ensures reliability when it comes to product availability. Likewise, orders and customers coming from the e-shop are automatically being synced with the ERP. This way the retailer’s orders and customers lists are always up to date in both systems.
  8. www.socialmind.gr @ WordCamp Athens 2017 8 Overselling prevention Main reasons

    why retailers using ERP systems should want them integrated with their e-shop solution: Spare me the Wiki definition and tell me why! Order sync automation between e-shop & ERP Stock sync automation between e-shop & ERP The product catalogue to the e-shop is automatically synchronized with the product catalogue of the ERP reducing the double data entry time for the retailer. One data entry to rule them all ERPs… …and why we need to integrate them with e-shops! The fact that e-shop and ERP are in sync ensures reliability when it comes to product availability. Likewise, orders and customers coming from the e-shop are automatically being synced with the ERP. This way the retailer’s orders and customers lists are always up to date in both systems. Prevents the retailer from accepting orders from the e-shop for products that are out of stock due to sales happening to the physical store.
  9. www.socialmind.gr @ WordCamp Athens 2017 9 Overselling prevention Main reasons

    why retailers using ERP systems should want them integrated with their e-shop solution: Spare me the Wiki definition and tell me why! Order sync automation between e-shop & ERP Stock sync automation between e-shop & ERP The product catalogue to the e-shop is automatically synchronized with the product catalogue of the ERP reducing the double data entry time for the retailer. One data entry to rule them all ERPs… …and why we need to integrate them with e-shops! The fact that the e-shop and the ERP are in sync ensures reliability when it comes to product availability. Likewise, orders and customers coming from the e-shop are automatically being synced with the ERP. This way the retailer’s orders and customers lists are always up to date in both systems. Prevents the retailer from accepting orders from the e-shop for products that are out of stock due to sales happening to the physical store.
  10. www.socialmind.gr @ WordCamp Athens 2017 10 “A tale of two

    integrations”
  11. www.socialmind.gr @ WordCamp Athens 2017 11 NO API INTEGRATION #1

  12. www.socialmind.gr @ WordCamp Athens 2017 12

  13. www.socialmind.gr @ WordCamp Athens 2017 13 Database Database Intermediate Tables

    Intermediate Tables ERP WooCommerce t1 t2 t3
  14. www.socialmind.gr @ WordCamp Athens 2017 14 Pros?

  15. www.socialmind.gr @ WordCamp Athens 2017 15 Two sets of mediation

    tables need to be maintained in order for the solution to work. This cannot be avoided since the mediation table at the e-shop’s side, is being unavoidably updated from the ERP. WASTE OF RESOURCES Due to the mediation tables, each transaction is a three part process and therefore the time needed increases! DELAY Since there is no API, the programmer needs to learn the ERPs infrastructure and, in part, its customization software. LONG LEARNING CURVE Since the ERP updates the mediation tables to the e- shop’s side, the programmer needs to create and maintain those syncing scenarios. CRON JOBS BECOME SYNC SCENARIOS Cons
  16. www.socialmind.gr @ WordCamp Athens 2017 16 When a bug occurs,

    in order to reproduce it, the programmer might need to check the ERP platform itself. If the bug is due to a malfunction of the platform, then we end up doing support to the ERP solution. END UP DOING SUPPORT FOR THE ERP SOLUTION Since there is no API the database on the side of the ERP and the e-shop can be different (e.g. MS SQL for the ERP and MySQL for WooCommerce). This might lead to encoding or other “side effects”. SOLUTION IS NOT INFRASTRUCTURE AGNOSTIC In order to make the integration of the platforms more effective, some of the ERP scenarios need to break down to simpler ones. Then they need to be orchestrated (execution time management) in order for the flow of data to be accurate. CRON JOB ORCHESTRATION NEEDED Cons
  17. www.socialmind.gr @ WordCamp Athens 2017 17 API INTEGRATION #2

  18. www.socialmind.gr @ WordCamp Athens 2017 18

  19. www.socialmind.gr @ WordCamp Athens 2017 19 Database Database ERP WooCommerce

    t ERP API WC Rest API
  20. www.socialmind.gr @ WordCamp Athens 2017 20 No API Integration Cons

    API Integration Pros
  21. www.socialmind.gr @ WordCamp Athens 2017 21 “Decisions, Decisions, Decisions”

  22. www.socialmind.gr @ WordCamp Athens 2017 22 #1 Who is going

    to use my code?
  23. www.socialmind.gr @ WordCamp Athens 2017 23 OPEN / INNER /

    CLOSED
  24. www.socialmind.gr @ WordCamp Athens 2017 24 Open Source Inner Source

    Closed Source Open-source software (OSS) is computer software with its source code made available with a license in which the copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose. Proprietary software is computer software for which the software's publisher or another person retains intellectual property rights—usually copyright of the source code, but sometimes patent rights. Inner source is the use of open source software development best practices and the establishment of an open source-like culture within organizations. The organization may still develop proprietary software, but internally opens up its development. The term was coined by Tim O'Reilly in 2000.
  25. www.socialmind.gr @ WordCamp Athens 2017 25 #2 Legacy code /

    legacy code dependent
  26. www.socialmind.gr @ WordCamp Athens 2017 26 Documentation Bugfix Roadmap New

    Features Roadmap Integration / Adaptability • Usually not very thorough. • Usually not maintained / extended. • Usually its marketing / business based. • End-users rarely have a say or the power to be part of the decision making process. • Usually most critical first. • Usually not connected with infrastructure improvement in mind. • Usually serves specific purposes and it was originally designed to do so. • When integration is needed, the software cannot be easily extended.
  27. www.socialmind.gr @ WordCamp Athens 2017 27 #3 Proprietary Software

  28. www.socialmind.gr @ WordCamp Athens 2017 28 Code is a black

    box No community Support is paid and on demand Contract precedes integration (slide thanks to logicroom.co) • Don’t have access to the code. • Don’t have access to the architecture. • Might take long (really long in some cases). • I have a limited group’s view re the proposed solution (corporate tech team of the software). • The software is being extended based on the decisions and dev capacity of the company. • Maintenance is also based on a specific group of people (that might change regularly). • If we want to know how stuff work (e.g. to integrate a proprietary system with WooCommerce) we have to sign a contract to gain full developer access to the system’s platform, API, whatever. • If it turns out the capabilities are less than advertised, the client has already been charged and, therefore, locked!
  29. www.socialmind.gr @ WordCamp Athens 2017 29 QUEUE CAMEL

  30. www.socialmind.gr @ WordCamp Athens 2017 30 One more “integration”!

  31. www.socialmind.gr @ WordCamp Athens 2017 31 FILE BASED SYNC VIA

    FTP INTEGRATION #3
  32. www.socialmind.gr @ WordCamp Athens 2017 32 Database Database Excel Files

    (!) ERP WooCommerce t1 t2
  33. www.socialmind.gr @ WordCamp Athens 2017 33

  34. www.socialmind.gr @ WordCamp Athens 2017 34 THANK YOU && QUESTIONS

    APOSTOLOS KRITIKOS E-mail: kritikos@socialmind.gr Athens: 0030 210 72 432 76 Thessaloniki: 0030 2310 551 107 Visit: www.socialmind.gr Follow us: SocialMindMedia @ Facebook, Twitter SocialMindGR @ Instagram #WeAreSocialMind