Skip to main content
iVentureTeam
Odoo 20

Odoo Rental Management in Odoo 20: Pricing, Deposits, Late Returns

Odoo rental management in Odoo 20: pricelist-based rental pricing with a worked example, deposits, late returns, pickup, online booking and when to customize.

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
October 29, 202613 min read1 view
Odoo Rental Management in Odoo 20: Pricing, Deposits, Late Returns cover

A real rental business has deposits, late returns, damaged items and price tiers by duration. Our Odoo implementation services set up odoo rental management around those rules from day one.

This guide is for owners and operations leads at equipment hire, event, camera and IT rental firms. For just the version changes, read our Odoo 20 Rental release notes.

What is Odoo rental management and which apps does it need?

Odoo rental management is the Rental app plus the Odoo apps around it, working as one rental workflow from quote to final invoice. The Rental app alone handles orders and scheduling; the other apps add stock, contracts, staff and payments.

Odoo's Rental documentation covers the core flow from quotation to invoice. The table shows which app adds which part.

AppWhat it adds to the Odoo rental moduleNeeded when
RentalRental orders, rental period, dashboard, pickup and returnAlways
SalesOnline payment and signature on quotes, pricelists, quotation templatesAlways in practice
InventoryDelivery and return transfers, serial numbers, multiple locationsYou rent physical goods
AccountingInvoices, credit notes for deposit refunds, paymentsYou take deposits
SignRental agreements signed before pickupYou need a signed contract
Website and eCommerceOnline booking with dates and availabilityCustomers book online

Odoo has two rental product types. Goods leave your stock and come back, such as bikes and cameras. Services never leave, such as a meeting room, or are labor, such as a photographer, scheduled through Planning.

Not sure which apps you need next to Rental? Try the Odoo app selector.

What changed in the Odoo 20 Rental app?

Odoo 20 Rental: What changed from Odoo 19?

Odoo 20 replaces the old rental price table with standard pricelist rules and adds a rental dashboard, sales-order rentals and working-schedule availability. This matters most when upgrading.

AreaOdoo 19.0 and earlierOdoo 20
Rental pricesSeparate rental pricing table with periodsPricelist rules in one Prices tab
Periods per productSeveral periods, such as day and weekOne periodicity per product
Price recomputeClick Update Prices after a changePrices update when pricelist or dates change
Rental on a sales orderRental orders from the Rental appAdd a rental product to any sales order
Pickup and return daysUnavailability daysA working schedule called Availabilities
OverviewOrder list and calendarDashboard cards: Today, Pickups, Returns, Late

The pricing change first shipped on Odoo Online 19.1. A forum answer explains that rental and regular pricelists were combined and that a product cannot have several periodicities.

Two upgrade traps: old time-based prices must be converted into pricelist rules, and old unavailability days are not carried over. Our Odoo upgrade services include both checks.

How does Odoo 20 rental pricing work?

In Odoo 20, a rental product has one periodicity, its Sales Price is the base rate per period, and longer or seasonal rates are pricelist rules. The rule price is multiplied by the number of periods.

Set it up in four steps, following the Odoo 20 physical rental product guide:

  1. Base rate: enter the lowest rental price in the Sales Price field of the product.
  2. Periodicity: on the Sales tab, pick one unit of time, such as Days, and set pickup and return times and any padding time.
  3. Pricelist: create a dedicated rental pricelist and keep the Default pricelist clean for the base rate.
  4. Rules: on the Prices tab, add rules with a Min. Quantity, a price, and an optional validity date range.

The Min. Quantity is the key to odoo rental pricing. Odoo computes it as the quantity on the order line multiplied by the rental duration, in units of the periodicity. So four sleeping bags for one night trigger the same rule as one bag for four nights.

That formula surprises many teams: several units rented briefly can hit a long-rental discount. Decide whether you want that before you publish rates.

Padding time blocks the product for some hours between rentals for cleaning or checks. Product pickup and return times apply only to online orders.

Odoo rental pricing: a worked example

A simple camera rental shows how the base rate, pricelist rules and the Min. Quantity formula decide the line price. Figures are illustrative and before tax.

Setup: a camera kit with periodicity Days and a Sales Price of $40 a day. A rental pricelist has two rules: from 3 days at $35 a day and from 7 days at $30 a day. A separate deposit product costs $500.

OrderMin. Quantity Odoo computesRule appliedRental line total
1 kit for 2 days1 x 2 = 2Base rate $402 x $40 = $80
1 kit for 4 days1 x 4 = 4From 3 days, $354 x $35 = $140
1 kit for 8 days1 x 8 = 8From 7 days, $308 x $30 = $240
2 kits for 4 days2 x 4 = 8From 7 days, $302 x 4 x $30 = $240

Look at the last row. Each kit is out for only four days, yet the 7-day rate applies because Odoo multiplies quantity by duration.

Older Odoo docs used a different example: $100 a day, $250 for 3 days and $500 a week, with 8 days priced at $750. A forum user pointed out that one week plus one day costs only $600. Under Odoo 20's pricelist model, test each tier on real orders before you publish prices.

How do you handle late returns and late fees in Odoo 20?

Odoo 20 shows late rentals on the new dashboard, but confirm how your database charges late fees before go-live. This is the most common gap in rental projects.

In Odoo 19.0, the docs described Default Delay Costs with an Hourly Fine and a Daily Fine on each product, plus an Apply after setting. The Odoo 20 Rental docs no longer describe those fields, after pricing moved to pricelists.

Odoo 20 does give you a Late card on the rental dashboard that filters overdue orders. It tells staff whom to chase, not what to charge.

Practical options for late fees in Odoo 20:

  • Manual line: at return, add an extra-day line at your standard rate and invoice it with the remaining charges.
  • Automated rule: a small custom module that adds the late charge from the planned and actual return times.

A camera rental owner on the Odoo forum wanted overdue days deducted from the security deposit automatically. The only reply came from a user who had built a custom module for it.

How do security deposits work in the Odoo Rental app?

In Odoo, a rental deposit is a second product: a service invoiced at pickup and refunded through a credit note after the item comes back. The Odoo 20 deposit guide needs the Sales and Accounting apps.

  1. Create the deposit product: product type Service, invoicing policy based on delivered quantity (manual), Sales Price equal to the deposit, unit of measure Units.
  2. Attach it: add the deposit as an optional product on the rental item, or put both in a quotation template.
  3. Invoice at pickup: set the deposit line's Delivered quantity to 1, then create and confirm a regular invoice.
  4. Refund after return: issue a credit note against the deposit invoice from the order's Invoices smart button.
  5. Close the order: set the deposit Delivered quantity back to 0, create the final invoice, and apply the outstanding credit.

In the camera example, an 8-day rental is $240 plus a $500 deposit. If the kit returns one day late and you charge $40, the customer gets $500 back by credit note and pays $40 on the final invoice (illustrative).

How do pickup and return work in Odoo Rental?

Staff open the confirmed rental order, click Pickup or Return, check quantity and serial number, and validate. Odoo adds a Picked-up or Returned badge and logs it in the chatter.

Key points from the Odoo 20 pickup and return guide for physical equipment:

  • Serial numbers: rental products support tracking by unique serial number only; tracking by lots gives an error.
  • Rental Transfers: this Inventory setting creates a delivery at pickup and a receipt at return, with items held in a Customer/Rental location.
  • Do not edit Customer/Rental: Odoo warns that changing this location can corrupt stock tracking.

One rental period applies to the whole order, so items out for different lengths need separate orders. For stock moves across branches, our Odoo warehouse management guide covers the location setup.

Can customers book Odoo rentals online?

Yes, with the Website app and eCommerce, customers pick dates, see availability and pay online for rental products. Odoo 20 also shows a crossed-out price when a pricelist discount applies to a rental product.

The Availabilities setting uses a working schedule to set which days and hours customers can book a pickup or return online. A deposit set as an optional product appears when the item is added to the cart.

Owners often want customers to pay only part of the total online, or a damage waiver added by rule. Both need work beyond the standard shop, as our Odoo eCommerce review explains for checkout changes.

Odoo equipment rental software by industry

Odoo works as equipment rental software for most hire businesses, but each industry stresses a different part of the app.

IndustryPain or cost driverOdoo approachHow iVentureTeam helps
Construction and tool hireLost items, late returns, high depositsSerial numbers, Rental Transfers, deposit productsLate fee rules and deposit deduction
Event and party rentalMany items per order, crew and deliveryQuotation templates, Planning shifts, Project tasksKit templates and crew scheduling
Camera and AV rentalHigh-value items, damage claimsSerial tracking, Sign agreements, depositsInspection checklist at return
IT and laptop rentalLong rentals, asset history per unitSerial tracking and rental historyPeriodic billing for long contracts

When should you customize the Odoo Rental app?

Customize the Rental app only when a rule costs you money every week and standard settings cannot express it. Run real orders on standard Odoo 20 first, then fix proven gaps.

Business needStandard Odoo 20Usual fix
Late fee charged automaticallyLate card on dashboard; fee added by handSmall module from planned vs actual return
Late fee taken from the depositCredit note and final invoice by handGuided return wizard
Partial payment onlineFull order total at checkouteCommerce checkout change
Different periods in one orderOne rental period per orderSplit orders, or a custom order flow
Damage inspection at returnReturn validates quantity and serialChecklist and damage charge line

Studio covers new fields, views and simple automations, and installing Studio on a Standard plan moves you to the Custom plan. Our guide on Odoo Studio vs custom development shows where each one stops.

For pricing logic, return wizards or checkout changes, use a module that survives upgrades. Our Odoo customization services build these on top of the standard app rather than replacing it.

How much does Odoo rental management cost?

Your cost is Odoo licenses for every user plus a one-time implementation, with rental rules adding scope on top of a standard project. The Rental addon ships in Odoo Enterprise, not in Community.

On the Odoo pricing page, the US price billed yearly is US$31.10 per user a month for Standard and US$61.00 for Custom, with first-year prices of US$24.90 and US$49.00. In India it is Rs 725 and Rs 1,350. Our Odoo pricing guide explains the plans.

Our published Odoo implementation cost ranges are $3k to $9k for small projects (4 to 8 weeks), $9k to $27k for mid-size (8 to 14 weeks) and $27k to $150k+ for large ones (12 to 24 weeks). Data migration adds $1.2k to $9k.

Online booking, crew planning, branches and custom late fee logic add scope. For a quick range, try the Odoo project estimate tool.

How iVentureTeam helps with Odoo rental management

Planning Odoo Rental? Get a quick estimate

We set up the Rental app around your real pricing, deposit and return rules, then add only the customization those rules need. We have delivered 150+ ERP projects across 35+ countries with 40+ Odoo specialists over 13+ years.

  • Pricing design: periodicity, base rates and pricelist rules tested against your real orders.
  • Deposits and late fees: deposit products, refund steps and a late fee process, automated where it pays.
  • Online booking: Website rental pages, availability schedules and checkout rules.
  • Odoo 20 upgrade: old rental prices converted to pricelist rules and the rental calendar rebuilt after the move.

Odoo pricing rules case study: DataTile

DataTile is not a rental business, but its project used the same Sales and Subscriptions pricing engine that Odoo 20 now shares with Rental. It shows how we handle duration and quantity rules that standard settings miss.

DataTile is a UK survey-data provider. Its tiered plans, quantity-based progressive discounts and customer-specific billing years were run by hand outside any system.

Over 12 weeks we built progressive-discount logic driven by product quantity and custom discount tables, custom start dates with dynamic end dates, and renewals aligned to each customer's financial year. Four billing rules now run in Sales and Subscriptions.

The same approach fits rental late fees. Read the DataTile Odoo website, CRM and subscriptions case study.

The bottom line on Odoo rental management

Odoo 20 is a capable rental system if you design pricing, deposits and late fees before go-live, not after the first disputes. The pricelist model is simpler, but it behaves differently from older versions.

Map your rate card, deposit policy and late return rules, test them on real orders in a trial database, and customize only the costly gaps.

Ready to set up rental pricing and deposits in Odoo?

Book a rental setup call

Bring your rate card and deposit policy, and we will show you how Odoo 20 handles them. Talk to our Odoo rental specialists, call +91-90235-15208, or email business@iventureteam.com.

Frequently Asked Questions

Is the Odoo Rental app free?

+

Rental is an Enterprise app, so it is not in Odoo Community. Most rental businesses also need Sales, Inventory and Accounting, so they pay the per-user subscription: US$31.10 Standard or US$61.00 Custom a month billed yearly in the US.

How do I set rental prices in Odoo 20?

+

Set a periodicity on the product, enter the base rate as the Sales Price, and add longer-duration or seasonal rates as pricelist rules on the Prices tab. Odoo multiplies the matching rule price by the number of periods.

Can a product have hourly, daily and weekly prices in Odoo 20?

+

A product has one periodicity in Odoo 20. Choose the smallest unit, such as hours, then add pricelist rules with a higher Min. Quantity for longer rentals, such as a lower hourly rate from 24 hours.

Does Odoo Rental charge late fees automatically?

+

Odoo 19 had hourly and daily fine fields, but the Odoo 20 Rental docs no longer describe them. The Odoo 20 dashboard flags late orders, so test your late fee process in a trial database before go-live.

How do I take a security deposit in Odoo Rental?

+

Create a deposit as a separate service product, add it to the rental order as an optional product or through a template, invoice it at pickup, and refund it with a credit note after the item is returned.

Can customers book rentals on my Odoo website?

+

Yes. With the Website app and eCommerce, customers choose rental dates and pay online. The Availabilities setting uses a working schedule to limit which days and hours they can pick up or return.

Can I track rental items by serial number?

+

Yes. Enable Lots and Serial Numbers in Inventory and set tracking to By Unique Serial Number on the rental product. Staff then select the serial number at pickup and check it at return. Lot tracking is not supported.

Can one rental order have different rental periods?

+

No. Odoo allows one rental period per rental order. If items go out for different lengths of time, create one rental order for each rental period.

Will my Odoo 19 rental prices move to Odoo 20?

+

Old time-based rental prices must be converted into pricelist rules during the upgrade, and custom code on the old pricing model stops working. Old unavailability days are not carried over, so set the rental calendar again.

Ready to put this into action?

Talk to iVentureTeam about Odoo, AI automation, or custom development — get a free, no-obligation consultation.