跳至主要内容
产品详细信息以英文显示。翻译即将推出。
Car Rental & Fleet Management — A build-to-order Odoo application for vehicle rental operators: reservation calendar per unit — 1/1示意预览

A build-to-order Odoo application for vehicle rental operators:

reservation calendar per unit, rate-driven agreements, photographic check-out/check-in with damage capture, traffic-fine and toll recharges, and preventive fleet maintenance.

ECOSIRE builds, installs and supports it for your Odoo 17, 18 or 19 database.

什么是 Car Rental & Fleet Management?

A build-to-order Odoo application for vehicle rental operators: reservation calendar per unit, rate-driven agreements, photographic check-out/check-in with damage capture, traffic-fine and toll recharges, and preventive fleet maintenance. ECOSIRE builds, installs and supports it for your Odoo 17, 18 or 19 database. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

核心功能

Per-vehicle reservation model (`fleet.rental.agreement`) with overlap prevented by a SQL/exclusion constraint plus `@api.constrains`, so two confirmed bookings can never hold the same chassis
Availability board grouped by vehicle category — Gantt on Enterprise (`web_gantt`), colour-coded calendar and list views on Community — showing on-hire, reserved, in-workshop and available units
Tiered rate cards (`fleet.rental.rate`) with daily/weekly/monthly bands, seasonal date ranges, included mileage, excess-km pricing and customer-pricelist overrides
Compute-driven charges using `@api.depends` on period, rate band and returned odometer, so correcting a meter reading recalculates the settlement instead of needing a manual invoice edit
OWL tablet check-out screen capturing fuel level, odometer, accessories checklist and pre-existing damage before the keys are handed over
Tap-a-panel damage capture: each damage row carries a panel code, severity and photo stored as an `ir.attachment`, flagged pre-existing or newly found
Side-by-side QWeb condition report comparing check-out and check-in state with embedded photos — the document that settles deposit disputes
Automated check-in settlement: excess kilometres, fuel differential, late-return hours and damage charges posted as standard `account.move` lines
Security deposit lifecycle — hold, partial capture, release — recorded against the agreement with an audit trail of who authorised each step
Traffic fine and toll register with incident-date matching back to the driver on hire at that moment, plus a configurable administration fee on recharge
Preventive maintenance rules by kilometres or elapsed months, raising `fleet.vehicle.log.services` requests via `ir.cron` and Odoo automated actions
Vehicles scheduled for service are automatically withheld from the availability board so they cannot be booked into their own workshop window
Role separation via `ir.model.access.csv` plus record rules for counter agents (own branch), fleet supervisors and finance, with multi-company rules respected
Reservations, availability and odometer readings exposed over XML-RPC / JSON-RPC for website booking flows, aggregator feeds or telematics providers
Contract, condition report and settlement statement as QWeb PDFs on your letterhead, in the languages you operate in

按需定制,全程代劳

无需自行搭建——由 ECOSIRE 构建、安装并提供支持的可用应用。

  1. 1

    您下单

    以一次性构建价格开始。我们在启动时与您共同确定范围。

  2. 2

    我们构建与安装

    ECOSIRE 在您的 Odoo 上构建、配置并安装。

  3. 3

    上线 + 支持

    约一个工作周内上线,并包含两周上线支持。我们交付的代码中的缺陷免费修复。

技术规格

Odoo 兼容性
Odoo 17, Odoo 18, Odoo 19
版本
企业版和社区版
许可证
许可证需要确认
Python 要求
Python 3.10+
数据库
PostgreSQL 12+

关于此产品

Car rental is a per-asset business, and Odoo core is built around per-product quantities. sale.order will happily sell three units of "Compact Sedan" for the same week because stock has no notion of a specific chassis being physically on the road until Thursday. Odoo's fleet app tracks vehicles, odometers, contracts and service costs, but it is an internal-cost application: no customer-facing availability, no rate card, no deposit, and no concept of handing keys over and getting them back. Enterprise's sale_renting adds durations and pickup/return, but it is still quantity-based on a rentable product, and it has nothing to say about fuel level at handover, a dent in the nearside rear door, a speeding fine that arrives six weeks after the customer flew home, or the fact that unit 47 must go off-hire at 60,000 km. Operators bridge that gap with spreadsheets and a WhatsApp folder of handover photos — which is exactly where deposits get argued over and lost.

We build a rental layer that treats each vehicle as the bookable resource. A fleet.rental.agreement model carries the customer, the specific fleet.vehicle, the period, the rate line and the deposit, with overlap prevented at the database level rather than in a UI warning: a SQL/exclusion constraint plus an @api.constrains check on the date range means two confirmed agreements can never claim the same chassis, whatever concurrent path created them. Availability is exposed as a Gantt-style board (Enterprise web_gantt; a colour-coded calendar and list view on Community, since Gantt is not in Community) grouped by vehicle category, so the counter agent sees the real board, including units blocked by a scheduled service. Rates live on a fleet.rental.rate model with tiered daily, weekly and monthly bands, mileage allowance and excess-kilometre pricing, seasonal date ranges and customer-pricelist overrides; the charge is a compute field with @api.depends on the period, the rate and the returned odometer, so a re-read of the meter recalculates the settlement rather than requiring a manual invoice edit.

Check-out and check-in are the heart of the build. Both are OWL-based screens designed for a tablet at the counter or the kerb: fuel level, odometer, accessories checklist, and a vehicle diagram where the agent taps a panel to log damage. Each damage record is its own model row with a panel code, severity, a photo attached through ir.attachment, and a flag for whether it was pre-existing at check-out or newly found at check-in — which is what turns a deposit dispute into a two-column QWeb comparison report you can email the customer. Check-in computes the settlement: excess kilometres, fuel differential, late-return hours, damage charges, and deposit release or partial capture, posting to the customer invoice through standard account.move lines so your accountant sees ordinary Odoo entries. Traffic fines and tolls get their own model with an incident date, matched back to whoever held the vehicle on that date and recharged with an administration fee — the single largest source of unbilled revenue we see in this vertical. Maintenance closes the loop: rules on kilometres or elapsed months raise service requests against fleet.vehicle.log.services through ir.cron and Odoo automated actions, and a vehicle due for service is automatically withheld from the availability board so nobody books a car that is about to go into the workshop.

Everything ships as a proper Odoo addon with a complete __manifest__.py, not a customisation poked into your production database. Access is defined in ir.model.access.csv with record rules separating counter agents (their own branch's agreements), fleet supervisors and finance, and multi-company rules are honoured so a group with branches keeps its books apart. Documents — the rental agreement, the condition report, the settlement statement — are QWeb PDF templates using your letterhead and your terms, in the languages you operate in. Integration points are ordinary Odoo ones: the models are exposed over XML-RPC and JSON-RPC so a booking website, an aggregator feed or a telematics provider can create reservations and push odometer readings without us inventing a private protocol.

Because this is build-to-order, nothing is downloaded and installed blind. We start with a scoping call, agree the exact rate structure, damage taxonomy, deposit policy and document layouts in a written scope, and build against your Odoo version — 17.0, 18.0 or 19.0 — and your Community or Enterprise edition, since the availability board and sign-on-glass options differ between them. Typical delivery is one working week from confirmed scope, depending on how much of the fine-recharge and telematics surface you want in v1. You get the full source, a staging UAT round before anything touches production, a rollback plan, training for your counter staff, and a support window after go-live. If requirements change mid-build, we re-scope in writing rather than quietly shipping something different.

你得到什么

  • Installable Odoo addon source built for your exact series (17.0, 18.0 or 19.0) and your Community or Enterprise edition, with a complete `__manifest__.py` and declared dependencies
  • Installation and configuration on your environment — rate cards, damage taxonomy, deposit policy, maintenance rules and user groups configured with your data
  • Technical documentation: model and field reference, `ir.model.access.csv` and record-rule matrix, cron and automated-action inventory, and the XML-RPC/JSON-RPC integration guide
  • End-user guide plus a live training session for counter staff, fleet supervisors and finance, recorded so new hires can be onboarded later
  • UAT on a staging copy of your database with a signed-off acceptance checklist before anything touches production, and a documented rollback plan
  • QWeb document templates (rental agreement, condition report, settlement statement) styled to your letterhead and terms
  • Post-go-live support window for defect fixes and configuration questions, with a named channel for raising issues
  • Git repository handover — full history, tagged release and branch strategy so your team or another partner can maintain it

这是给谁的

Rental Operations Manager

Runs the daily board across one or more branches. Needs to see which specific vehicle is where, stop double-bookings before they reach the counter, and know that a unit going into service tomorrow cannot be rented out tonight.

Counter / Handover Agent

Works on a tablet at the kerb with a customer waiting. Needs a check-out and check-in flow that takes minutes, captures fuel, odometer and damage photos in a fixed sequence, and produces a signed condition report on the spot.

Fleet & Maintenance Supervisor

Owns vehicle uptime and cost per unit. Needs kilometre- and time-based service triggers that raise work automatically, and visibility of which damage found at check-in has actually been repaired versus carried forward.

Finance / Accounts Controller

Owns revenue leakage. Needs deposits tracked to a decision, excess-kilometre and fuel charges computed rather than negotiated, and every traffic fine matched to the driver who incurred it and recharged before it ages out.

Car Rental & Fleet Management 如何比较

标准伊科西尔定制建造竞争对手Odoo 原生
Booking granularityBooks a specific chassis, with overlap blocked by a database constraintAchievable, but the constraint is usually written late and only as a UI checkOften still quantity-based on a rentable product`sale.order` sells quantities; no notion of a specific vehicle being on the road
Availability viewGantt board on Enterprise, colour-coded calendar/list on Community, service blocks includedWhatever the developer had budget for; Gantt work is frequently deferredUsually a calendar, rarely aware of workshop downtimeFleet has no availability view at all
Rate structureTiered daily/weekly/monthly bands, seasons, mileage allowance and excess-km, pricelist overridesBuilt to your spec, at your cost, and re-costed each time policy changesTypically a flat daily rate with limited tieringProduct price; durations only via Enterprise `sale_renting`
Handover and damage evidenceTablet check-out/check-in, panel-level damage with photos, side-by-side QWeb condition reportPossible, but the OWL screen and photo lineage is the expensive partOften a checklist with free-text notes and no photo historyNone — this lives in a phone gallery today
Fines and toll rechargesRegister matches incident date to the driver on hire and recharges with an admin feeRarely specified up front; usually added after revenue has already leakedUncommon; where present, manual linking back to the rentalNot modelled
Maintenance interlockKm/time rules raise service via `ir.cron`, and due vehicles drop off the availability boardThe cron is straightforward; the interlock with availability is what gets missedMay raise reminders, but rarely blocks the bookingFleet logs services and costs, but nothing stops a booking
Security and multi-branch`ir.model.access.csv` plus record rules per role and branch, multi-company awareDepends entirely on the developer's disciplineUsually one broad rental user groupGeneric Fleet manager/user groups only
Ownership and continuityFull source, git repo with history, tagged release, documented support windowYou own it, and you also own every future fix and version migrationVendor-controlled; upgrade timing follows their roadmapMaintained by Odoo, but it does not do this job

关于Car Rental & Fleet Management的常见问题

How long does delivery take, and what happens first?

This is a build-to-order module, not an existing apps.odoo.com download. Typical delivery is one working week from confirmed scope. It starts with a scoping call where we agree your rate structure, damage taxonomy, deposit policy and document layouts; we then send a written scope, and the build clock starts when you confirm it. A larger v1 — website booking, telematics integration, multi-country fine handling — can extend that, and we say so before you commit rather than afterwards.

Which Odoo versions and editions do you support?

We build for Odoo 17.0, 18.0 and 19.0, on Community or Enterprise. The edition matters here: the Gantt-style availability board relies on Enterprise's `web_gantt`, so on Community we deliver a colour-coded calendar and list-based board carrying the same information. We build against your exact series and tell you at scoping which features shift shape on your edition.

Does this replace Odoo's Fleet app, or work with it?

It works with it. We extend `fleet.vehicle` rather than duplicating your vehicle register, and service records still land in `fleet.vehicle.log.services`, so existing cost tracking, odometer history and vehicle master data keep working. What we add is the customer-facing rental layer — availability, agreements, rates, handover, deposits and recharges — which the Fleet app does not cover.

How does the damage and deposit evidence actually work?

At check-out the agent walks the vehicle on a tablet, taps affected panels on a diagram and photographs them; those rows are marked pre-existing. At check-in the same walk runs and anything new is flagged as such. The result is a QWeb PDF showing both states side by side with photographs, emailed to the customer with the settlement. Deposit capture or release is recorded against the agreement with the user and timestamp, so a dispute weeks later is answered from the record rather than from memory.

Can it recharge traffic fines that arrive after the rental ended?

Yes — that is the point of the fine register. A fine is entered with its incident date and matched to whichever agreement held that vehicle at that moment, even if the rental closed months earlier. You can then recharge the customer with a configurable administration fee, generating an ordinary Odoo invoice. Automatic ingestion from a specific authority's portal or email feed is possible but is a scoped integration, not a default.

Can we connect our website or a booking aggregator?

Yes. The models are exposed over Odoo's standard XML-RPC and JSON-RPC API, so an external booking site, a channel manager or a telematics provider can check availability, create reservations and push odometer readings. If you want a public booking flow built on Odoo Website itself, we can include it — scoped and quoted separately, because it carries its own payment, terms and cancellation-policy decisions.

What support and updates do we get after go-live?

Every build includes a post-go-live support window for defect fixes and configuration questions, agreed in the scope before we start. Beyond that window, ongoing support and version upgrades — for example carrying the module from 18.0 to 19.0 when you upgrade — are available as a separate agreement. Because you receive the full source and the git repository, you are never locked in: your own team or another partner can maintain it.

申请报价

Car Rental & Fleet Management

A build-to-order Odoo application for vehicle rental operators: reservation calendar per unit, rate-driven agreements, photographic check-out/check-in with damage capture, traffic-fine and toll recharges, and preventive fleet maintenance. ECOSIRE builds, installs and supports it for your Odoo 17, 18 or 19 database.

  • Per-vehicle reservation model (`fleet.rental.agreement`) with overlap prevented by a SQL/exclusion constraint plus `@api.constrains`, so two confirmed bookings can never hold the same chassis
  • Availability board grouped by vehicle category — Gantt on Enterprise (`web_gantt`), colour-coded calendar and list views on Community — showing on-hire, reserved, in-workshop and available units
  • Tiered rate cards (`fleet.rental.rate`) with daily/weekly/monthly bands, seasonal date ranges, included mileage, excess-km pricing and customer-pricelist overrides
  • Compute-driven charges using `@api.depends` on period, rate band and returned odometer, so correcting a meter reading recalculates the settlement instead of needing a manual invoice edit

申请报价

告诉我们您对 Car Rental & Fleet Management 的需求,我们将发送价格、许可选项和量身定制的方案,通常在一个工作日内。

现在无需付款。此操作会向我们的团队发送报价请求——我们会通过邮件跟进价格和后续步骤。