Project Name

Upgraded the Odoo ERP From Version 15 to 16 for a Cycle Rental Business

Upgraded the Odoo ERP From Version 15 to 16 for a Cycle Rental Business
Industry
Service
Technology
Odoo 16, Odoo.sh, Python, JavaScript, OWL Framework, XML, Stripe

Loading

Upgraded the Odoo ERP From Version 15 to 16 for a Cycle Rental Business
Overview

Our client operates an electric bike rental business, providing cycles on rent to customers through a platform-managed rental model. The organisation relies on Odoo as its core operational platform across six functions: Sales for managing rental orders, Inventory for tracking bikes and accessories, Accounting for financial operations, Subscriptions for recurring rental plans, Point of Sale for customer-facing transactions, and Helpdesk for customer query management.

 

Having built significant customisation on top of Odoo 15 over time, the client needed a migration partner who could carry every custom module, every data record, and every integration forward to Odoo 16 without loss or regression, while also taking the opportunity to introduce a Stripe-based pending invoice payment feature in POS and a customer-facing inquiry form connected to the helpdesk system.

Key Challenges

A production Odoo 15 environment with custom modules, a JavaScript framework change, a POS payment integration to build, and a business that runs on the platform every day.

  • Preserving Customisations During the Upgrade: The client relied heavily on customised Odoo 15 modules. Every customisation had to be migrated to Odoo 16 while adapting to the platform's architectural and API changes without disrupting business operations.
  • Database Migration and Custom Module Refactoring: Migrating the database alongside refactoring legacy custom modules required replacing Odoo 15-specific code with Odoo 16-compatible implementations while maintaining data integrity.
  • JavaScript Migration to OWL: Odoo 16's adoption of the OWL framework required all custom JavaScript components to be rewritten, ensuring seamless frontend functionality and a consistent user experience.
  • Stripe Payment Integration for POS: A new POS capability was required to let customers pay pending invoices using Stripe, extending the standard Odoo 16 Point of Sale functionality.
  • Customer Inquiry Portal with Helpdesk Integration: A structured website inquiry form was introduced and connected to Odoo Helpdesk, enabling customer requests to be automatically logged, tracked, and managed from submission to resolution.
Our Solution

Ksolves, an AI-first Odoo development company, executed the migration through a structured, phased approach, validating the staging environment, refactoring custom modules, and introducing new features only after the core migration was successfully completed. This ensured a seamless transition with no loss of functionality, data, or business-critical customisations.

  • Odoo 15 to 16 Migration on Odoo.sh: Migrated the staging environment on Odoo.sh and validated all business data before production cutover, ensuring complete data accuracy across Sales, Inventory, Accounting, Subscriptions, POS, and Helpdesk.
  • Custom Module Refactoring and Code Cleanup: Refactored all custom modules by replacing legacy Odoo 15 code with Odoo 16-compatible implementations, preserving business logic while aligning the codebase with the latest architecture.
  • OWL JavaScript Framework Migration: Rebuilt custom JavaScript components using Odoo 16's OWL framework, ensuring frontend compatibility, improved performance, and a seamless user experience.
  • Stripe Payment Integration for POS: Integrated Stripe into the Odoo 16 Point of Sale module, enabling customers to pay pending invoices directly from the POS interface.
  • Customer Inquiry Form with Helpdesk Integration: Developed a website inquiry form integrated with Odoo Helpdesk, automatically converting customer inquiries into trackable support tickets for streamlined case management.

Technology Stack

Category Technology
Platform Odoo 16
Migration Odoo.sh
Backend Python
Frontend JavaScript + OWL Framework
Configuration XML
Payment Stripe
Impact

The client successfully transitioned from a customised Odoo 15 environment to a fully upgraded Odoo 16 platform—preserving critical business processes while introducing new capabilities to improve operations.

  • Seamless Odoo 15 to 16 Migration with Zero Data Loss: Successfully migrated all data across Sales, Inventory, Accounting, Subscriptions, POS, and Helpdesk, with complete validation before production cutover.
  • All Custom Modules Successfully Refactored: Preserved every customisation while replacing legacy code with Odoo 16-compatible implementations, ensuring uninterrupted business operations.
  • Successful OWL Framework Migration: Rebuilt all custom frontend components using the OWL framework, ensuring full compatibility, consistent user experience, and easier future maintenance.
  • Stripe Payments Enabled in POS: Integrated Stripe into the POS, allowing customers to pay pending invoices directly and simplifying the payment process.
  • Automated Customer Inquiry Management: Connected the website inquiry form with Odoo Helpdesk, automatically converting customer submissions into trackable support tickets for faster and more organised case management.
Solution Architecture
stream-dfd
Conclusion

By successfully migrating the client’s customised Odoo 15 environment to Odoo 16, Ksolves ensured business continuity while modernising the platform for future growth. From preserving custom modules and validating data integrity to migrating the frontend to OWL, integrating Stripe into POS, and connecting customer inquiries with Helpdesk, every aspect of the upgrade was delivered seamlessly. The result is a secure, fully customised, and future-ready Odoo 16 platform that enables the electric bike rental business to operate more efficiently and confidently.

Still Running an Older Odoo Version? Upgrade to the Latest Version with Ksolves!

Copyright 2026© Ksolves.com | All Rights Reserved
Ksolves USP