Odoo 13 was officially released on 4th October 2019 with several technical improvements, framework updates, backend optimizations, and user interface enhancements. Like every major Odoo release, Odoo 13 introduced multiple structural and functional changes across various modules including POS, Website, Accounting, and Backend development frameworks.
These improvements were introduced to simplify development processes, improve application performance, enhance scalability, and provide better user experience across the ERP ecosystem. Developers upgrading custom modules from older versions to Odoo 13 need to understand these technical changes carefully to ensure smooth migration and compatibility.
The latest version introduced better workflow handling, optimized frontend structures, improved accounting architecture, and cleaner backend development practices. Many deprecated methods, models, and fields were removed or replaced with updated alternatives to improve overall system efficiency and maintainability.
Below are some of the major technical changes introduced in Odoo 13 across different modules and frameworks.
Important POS Module Changes:
Replacement of account.journal with pos.payment.method
In Odoo 13, the account.journal model is replaced with pos.payment.method for managing POS payments. Developers must now use the new payment method model while handling Point of Sale transactions and payment configurations.
This improvement helps create a more dedicated and structured payment management system specifically for POS operations.
statement_ids Replaced with payment_ids
The statement_ids field in POS orders has been replaced with payment_ids, and the relationship is now linked with the new pos.payment object.
This modification improves payment tracking accuracy and simplifies payment-related workflow handling inside the POS system.
Major Changes in create_from_ui() and _process_order()
The internal processing logic of POS orders has been significantly modified in Odoo 13. Major changes were introduced inside:
- create_from_ui()
- _process_order()
Developers need to carefully review customized POS order flows and update their logic according to the new implementation structure.
posTicket Replaced with OrderReceipt Widget
The older posTicket structure has been replaced with the OrderReceipt widget in Odoo 13. This change improves receipt rendering and frontend POS display handling.
The updated receipt architecture also provides better flexibility for customizing POS receipts and frontend templates.
stock_location_id Removed from pos.config
The stock_location_id field has been removed from the pos.config model in Odoo 13. Developers handling custom inventory flows within POS modules need to update their logic accordingly.
cash.box.in Object Removed
The cash.box.in object has been removed from the POS module. Businesses and developers using custom cash management features must migrate their logic using updated alternatives available in Odoo 13.
Technical Changes in Website Modules
Odoo 13 also introduced several structural changes in website-related modules to improve frontend management, website routing, payment processing, and overall website performance.
These updates simplify website management and improve compatibility with modern frontend development standards.
Important Website Module Changes
Changes in sale_get_order()
The sale_get_order() method has been updated in Odoo 13. Developers using custom eCommerce workflows or website sale customizations need to review and modify their existing implementations based on the new method structure.
website.redirect Model Removed
The website.redirect model has been removed in Odoo 13. Developers should now use the website.rewrite model for managing website URL redirections and routing functionality.
This change simplifies website URL management and improves frontend routing architecture.
website_published and auto_confirm Removed
The following fields were removed from the payment.acquirer model:
- website_published
- auto_confirm
Custom payment gateway integrations must be updated accordingly to maintain compatibility with the latest payment processing structure.
Image Field Replaced with image_128
The older image field inside payment.acquirer has been replaced with image_128.
This change improves image optimization and supports better frontend performance by using properly resized image formats.
Technical Changes in Back-end Modules
Odoo 13 introduced major backend framework improvements to simplify module development and improve code maintainability. Several deprecated decorators, fields, and XML structures were removed or replaced with cleaner alternatives.
These updates help developers build more scalable and maintainable applications while improving system consistency.
Major Backend Technical Changes
Removal of @api.multi, @api.model_cr, and @api.one
The following decorators were removed in Odoo 13:
- @api.multi
- @api.model_cr
- @api.one
Developers now need to follow updated API standards while writing backend business logic and model methods.
This change simplifies the ORM architecture and improves code readability.
view_type Removed
The view_type field has been removed from Odoo 13.
Custom modules depending on this field must update their view definitions using the latest supported structures.
args Removed from Cron XML
The args parameter inside scheduled action XML records has been removed.
Developers should update cron job implementations according to the latest scheduled action syntax supported in Odoo 13.
is_customer and is_vendor Removed
The following fields were removed:
- is_customer
- is_vendor
Instead of using these fields, developers should now use context-based search modes such as:
- context="{'res_partner_search_mode': 'customer'}"
- context="{'res_partner_search_mode': 'supplier'}"
This modification improves partner classification and simplifies contact management workflows.
src_model Replaced with binding_model
Inside act_window, the src_model field has been replaced with binding_model.
Custom actions and window definitions should be updated accordingly during migration.
Accounting and Invoice Related Changes
Odoo 13 introduced major accounting architecture improvements that significantly changed invoice and accounting workflows.
These changes help improve financial consistency and simplify accounting operations across the ERP system.
Important Accounting Changes
residual_signed Replaced
The residual_signed field has been replaced with:
- amount_residual_signed
residual Field Replaced
The residual field has been replaced with:
- amount_residual
These naming updates improve accounting field clarity and consistency.
date_invoice Replaced
The date_invoice field is now replaced with:
- invoice_date
date_due Replaced
The date_due field is replaced with:
- invoice_date_due
These modifications standardize invoice-related field naming conventions.
Changes in account.move.line
In Odoo 13, account.move.line now directly links with invoice_line_ids, and corresponding line_ids are generated automatically.
This automation simplifies invoice line management and reduces manual backend handling.
number Field Removed from Invoice
The number field has been removed from invoices in Odoo 13.
Developers handling invoice customizations should update their logic using the new accounting structure introduced in the latest version.
Benefits of Technical Improvements in Odoo 13
The technical changes introduced in Odoo 13 provide several advantages for both developers and businesses.
Key benefits include:
- Better framework consistency
- Improved backend performance
- Cleaner development standards
- Simplified accounting architecture
- Enhanced POS workflow management
- Improved website routing system
- Better frontend responsiveness
- Improved scalability for custom modules
- Reduced dependency on deprecated methods
- Better long-term maintainability
These enhancements help organizations create more stable and future-ready ERP implementations.
Conclusion
Odoo 13 introduced several important technical improvements and architectural changes that significantly enhanced the ERP platform’s performance, scalability, and development standards. From POS module restructuring and accounting improvements to backend API simplification and website module updates, the latest version provides a more optimized and modern ERP environment.
Developers migrating custom modules from older Odoo versions must carefully review these technical modifications to ensure compatibility and maintain stable application performance. Understanding these framework-level changes is essential for successful migration, customization, and future development planning.
With improved performance optimization, cleaner architecture, and enhanced usability, Odoo 13 continues to provide businesses and developers with a more efficient and scalable ERP platform for managing modern business operations.