OdooWiki OCA HUB

Rental Pricelist

rental_pricelist folder_open OCA/vertical-rental open_in_new
Rental License: AGPL-3

Enables the user to define different rental prices with time uom ("Month", "Day" and "Hour").

auto_awesome What this module does

AI-generated from the code · Odoo 16.0

Lets you rent a product by hour, day, week or month with its own price and bulk price breaks. Ticking a time unit on a rentable product automatically creates the matching rental service product.

This module adds a "Rental Price" tab to the product form, shown only for storable products marked as rentable. There you can tick whether the product is rented in hours, days, weeks or months, and enter a standard price for each unit.

When you save the product with a time unit ticked, Odoo automatically creates a linked rental service product for that unit (for example a daily rental service). Its name and internal reference are built from a prefix and suffix that you configure per company in the company settings, for each time unit. The service is set to the matching time unit of measure and copies the product's category, image, description and analytic accounts. Later changes to the product's name, internal reference, category, image, description, active flag or analytic accounts are passed on to its rental services.

Under each time unit you can also add bulk prices: a minimum quantity and a fixed price, stored as pricelist rules on the default pricelist. For example one day at 300, seven days at 290.

On rental order lines, choosing a rentable product shows a time-unit choice; the line then switches to the correct rental service and unit of measure. The quantity is computed from the number of time units between the start and end dates. A warning appears if not enough stock is available in the rental stock location, and confirming an order is blocked if a rental line does not point to a service product.

Depends on

Models and fields (5)
  • sale.order · extends an existing model
  • res.company · extends an existing modelrental_service_name_prefix_day (Prefix of Rental Service Name (Day)), rental_service_name_suffix_day (Suffix of Rental Service Name (Day)), rental_service_name_prefix_hour (Prefix of Rental Service Name (Hour)), rental_service_name_prefix_week (Prefix of Rental Service Name (Week)), rental_service_name_suffix_hour (Suffix of Rental Service Name (Hour)), rental_service_name_suffix_week (Suffix of Rental Service Name (Week)), rental_service_name_prefix_month (Prefix of Rental Service Name (Month)), rental_service_name_suffix_month (Suffix of Rental Service Name (Month)), rental_service_default_code_prefix_day (Prefix of Rental Service Internal Reference (Day)), rental_service_default_code_suffix_day (Suffix of Rental Service Internal Reference (Day)), rental_service_default_code_prefix_hour (Prefix of Rental Service Internal Reference (Hour)), rental_service_default_code_prefix_week (Prefix of Rental Service Internal Reference (Week)), rental_service_default_code_suffix_hour (Suffix of Rental Service Internal Reference (Hour)), rental_service_default_code_suffix_week (Suffix of Rental Service Internal Reference (Week)), rental_service_default_code_prefix_month (Prefix of Rental Service Internal Reference (Month)), rental_service_default_code_suffix_month (Suffix of Rental Service Internal Reference (Month))
  • product.product · extends an existing modelrental_of_day (Rented in days), rental_of_hour (Rented in hours), rental_of_week (Rented in weeks), rental_of_month (Rented in months), def_pricelist_id (Default Pricelist), rental_price_day (Price / Day), rental_price_hour (Price / Hour), rental_price_week (Price / Week), rental_price_month (Price / Month), product_rental_day_id (Rental Service (Day)), product_rental_hour_id (Rental Service (Hour)), product_rental_week_id (Rental Service (Week)), product_rental_month_id (Rental Service (Month)), day_scale_pricelist_item_ids (Day Scale Pricelist Items), hour_scale_pricelist_item_ids (Hour Scale Pricelist Items), week_scale_pricelist_item_ids (Week Scale Pricelist Items), month_scale_pricelist_item_ids (Month Scale Pricelist Items)
  • sale.order.line · extends an existing modelsale_ok (Can be Sold), rental_ok (Can be rented), display_product_id (Product), number_of_time_unit (Number of TU)
  • product.pricelist.item · extends an existing modelday_item_id (Rental Service (Day)), hour_item_id (Rental Service (Hour)), week_item_id (Rental Service (Week)), month_item_id (Rental Service (Month))

Text generated by AI (DeepSeek) from reading the Odoo 16.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 3 confirmed, 6 with no information of 9 versions.

Sources · Odoo 16.0

Confirmed on 2026-11-03 in branch 16.0 of OCA/vertical-rental.

terminal Installation and usage

No verified information

Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.