Rental Management System – Como Funciona
Overview
The rental module was developed to manage the complete cycle of rentals within Odoo, from the initial registration to deadline tracking and customer viewing.
The solution is fully integrated into the Odoo ecosystem, using centralized data from products, customers, and users, ensuring consistency and scalability.
How It Works
1. Rental Registration
The process begins with the creation of a new rental through a structured form.
The following information is provided:
- Rental reference
- Product (integrated with the Products module)
- Customer (integrated with the Contacts module)
- Attendant (integrated with system users)
This approach avoids data duplication and maintains information integrity.

2. Date Definition and Deadline Control
During registration, the main dates are defined:
- Contract date
- End date
Based on this information, the system automatically calculates:
- Remaining rental time
This allows for accurate and real-time tracking.

3. Automatic Status Calculation
The system automatically interprets the rental status based on the dates and the state of the record:
- Open → when it is still within the deadline
- Expired → when the deadline has been exceeded
- Completed → when the rental is manually closed
This calculation eliminates the need for manual control and reduces operational errors.


4. Completion Control
The user can mark the rental as completed directly in the record.
This allows for:
- Closing the rental cycle
- Recording history
- Differentiate completed rentals from overdue rentals

5. Internal View (Backoffice)
The system has a list view that allows for quick tracking of all registered rentals.
In this view, it is easy to identify:
- Client
- Product
- Attendant
- Important dates
- Remaining time or status
It is also possible to quickly identify:
- Active rentals
- Expired rentals
- Completed rentals

6. Customer Interface (Website)
The module has been integrated into the Odoo website, allowing clients to access their own rentals.
In the web interface, the client can view:
- Rental reference
- Product
- Dates
- Remaining time
- Visual status (with color indicators)
Examples of displayed statuses:
- Expired (red)
- Completed (green)
- Open (yellow)
Access is restricted, ensuring that each client only views their own records.

7. Standardization and Integration
The module follows Odoo's best practices, using relational models:
- res.partner → clients
- product.template → products
- res.users → attendants
This ensures:
- Reuse of existing data
- Integration with other modules
- Ease of expansion
8. Scalability
The module's structure allows for evolution to more advanced functionalities, such as:
- Automatic expiration notifications
- Integration with billing
- Operational dashboards
- More complex status flows
Business Value
The solution provides:
- Centralized rent control
- Reduction of manual errors
- Real-time visibility of deadlines
- Better operational organization
- Customer experience with access via website
Technical Highlights
- Development in Python and XML (Odoo framework)
- Use of relational fields with other modules
- Automatic calculation of remaining time
- Status logic based on business rules
- Integration with frontend (Odoo website)
- Clean and usability-oriented interface