A few years ago, I lead the development of Shopidoo, an Odoo-Shopify connector designed to facilitate seamless integration between the two platforms for e-commerce businesses. It was my first attempt at productizing an Odoo module and here are the key takeaways from that experience.
The Main Driver
During my time managing an Odoo partner company, we encountered numerous e-commerce clients using Shopify for their online stores and Odoo as their backend ERP system. They often were reluctant to migrate their website on Odoo because it has not (yet) the same depth and vivid ecosystem as Shopify. Moreover, Migrating a live website for an E-commerce company presents a huge risk as its their primary source of revenue. Depending on the migration, the downtime can be significant, the user experience can be altered or the SEO & incoming traffic can be impacted.
Those reasons made it clear that a connector between those platforms was necessary to allow businesses to leverage the strengths of both systems without the risks associated with a full migration.
At the time, a few connectors already existed but were either too basic, unreliable, or lacked essential features (bi-directionality, real-time synchronization). As I will detail below, the Odoo Store does not offer the strong guarantees and support our clients needed for such a critical component of their operations.
This is why we embarked on creating Shopidoo, a robust and reliable Odoo-Shopify connector that addressed these challenges head-on.
Features
Shopidoo was designed to offer a comprehensive set of features to ensure seamless integration between Odoo and Shopify:
- Bi-Directional Synchronization: Products, inventory levels, customer, and orders were synchronized between Odoo and Shopify, ensuring consistency across both platforms.
- Real-Time Updates: Changes made in either system were reflected in the other almost instantly, minimizing discrepancies and ensuring up-to-date information.
- Payment & Shipping Integration: We also imported complete the payment information along the shipping details, streamlining order fulfillment and payment reconciliation for accounting.
- Scheduled discount sales: Ability to schedule sales and discounts from Odoo to Shopify, allowing for coordinated marketing campaigns. This was an extra and not a “classical” connector feature. Indeed, Shopify does not natively support scheduling sales, so this feature came as a Quality of Life improvement for the users.
Distribution: Why not the Odoo Store
Instead of distributing Shopidoo through the Odoo Store, we opted for a direct sales approach. The Odoo Store, while a popular marketplace for Odoo modules, presented several challenges that made it less suitable for our needs:
- Limited Control: The Odoo Store has specific guidelines and restrictions that can limit how a module is presented and sold. By selling directly, we retained full control over pricing, licensing, and support.
- Revenue Sharing: The Odoo Store takes a percentage of sales, which can significantly impact profitability, especially for niche products. Direct sales allowed us to maximize revenue.
- Customer Relationships: Selling directly enabled us to build stronger relationships with our customers, providing personalized support and gathering direct feedback for continuous improvement.
- Faster Updates: The Odoo Store review process can delay the release of updates and bug fixes. Direct distribution allowed us to push updates more rapidly in response to customer needs.
It is my opinion, having published apps on different marketplaces like the iOS app store or Google Play Store that the Odoo Store is not yet mature enough to properly distribute critical business applications. It might be fine for small quality of life modules that doesn’t need much support, but for anything serious I would recommend avoiding it for now.
Key Challenge
One challenge of distributing and maintaining such a module was the fact that odoo releases a new version every year. This meant that we had to make some choice regarding the versions we wanted to support.
After some consideration we decided to support only 1 every 2 new versions. It is an approach that was coherent with how we approached migration for most of our clients. Indeed, migrating every year is often not feasible for companies due to the cost and effort involved. By supporting only 1 out of 2 versions, we struck a balance between staying current with Odoo’s evolution and providing stability for our users. In the case of Shopidoo, it also meant fewer codebases to maintain simultaneously.
Conclusion
Developing this connector was a rewarding experience that highlighted the importance of understanding client needs and the challenges of integrating complex systems. By focusing on reliability, real-time synchronization, and comprehensive features, we created a connector that empowered e-commerce businesses to thrive using both Odoo and Shopify. Real-time update and bi-directional connection really added a layer of complexity compared to simple API integration.
To this day, Shopidoo is used at several well-known Belgian E-commerce brands, and I am quite satisfied with the impact it had, enabling those businesses to scale their operations efficiently.