| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/19.0/fleet |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Human Resources/Fleet |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo S.A. |
| MAINTAINERS | |
| MAINTAINERS | Odoo S.A. |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Thibault Delavallée, Yannick Tivisse, Pierre Masereel, Julien Castiaux, Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, Dossogne Bertrand, luvi, Renaud Thiry, Vincent Larcin, Louis Wicket (wil), Victor Piryns (pivi), Dylan Kiss (dyki), Xavier Bol (xbo), Mélanie, rmun-odoo, Yassin Abdelkarim, yagp-odoo, rame-odoo, ahta, Krzysztof Magusiak (krma), romc-odoo, saurabh, Jurgen Gjini, ibo-odoo, karygauss03, chpa-odoo, Amr Yasser (amry), SaraBriki |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/app/fleet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:51:40 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web - bus - web_tour - html_editor |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Vehicle, leasing, insurances, cost ================================== With this module, Odoo helps you managing all your vehicles, the contracts associated to those vehicle as well as services, costs and many other features necessary to the management of your fleet of vehicle(s) Main Features ------------- * Add vehicles to your fleet * Manage contracts for vehicles * Reminder when a contract reach its expiration date * Add services, odometer values for all vehicles * Show all costs associated to a vehicle or to a type of service * Analysis graph for costs |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fleet_costs_report_view_graph |
fleet.vehicle.cost.view.graph | fleet.vehicle.cost.report | graph | New |
fleet_costs_report_view_pivot |
fleet.vehicle.cost.view.pivot | fleet.vehicle.cost.report | pivot | New |
fleet_costs_report_view_search |
fleet.vehicle.cost.view.search | fleet.vehicle.cost.report | search | New |
fleet_vechicle_costs_report_view_form |
fleet.vehicle.cost.report.form | fleet.vehicle.cost.report | form | New |
fleet_vechicle_costs_report_view_tree |
fleet.vehicle.cost.report.view.list | fleet.vehicle.cost.report | list | New |
fleet_vehicle_assignation_log_view_list |
fleet.vehicle.assignation.log.view.list | fleet.vehicle.assignation.log | list | New |
fleet_vehicle_log_contract_view_activity |
fleet.vehicle.log.contract.activity | fleet.vehicle.log.contract | activity | New |
fleet_vehicle_log_contract_view_form |
fleet.vehicle.log_contract.form | fleet.vehicle.log.contract | form | New |
fleet_vehicle_log_contract_view_graph |
fleet.vehicle.log.contract.graph | fleet.vehicle.log.contract | graph | New |
fleet_vehicle_log_contract_view_kanban |
fleet.vehicle.log.contract.kanban | fleet.vehicle.log.contract | kanban | New |
fleet_vehicle_log_contract_view_pivot |
fleet.vehicle.log.contract | pivot | New | |
fleet_vehicle_log_contract_view_search |
fleet.vehicle.log.contract.search | fleet.vehicle.log.contract | search | New |
fleet_vehicle_log_contract_view_tree |
fleet.vehicle.log.contract.list | fleet.vehicle.log.contract | list | New |
fleet_vehicle_log_services_view_activity |
fleet.vehicle.log.services | activity | New | |
fleet_vehicle_log_services_view_form |
fleet.vehicle.log.services.form | fleet.vehicle.log.services | form | New |
fleet_vehicle_log_services_view_graph |
fleet.vehicle.log.services.graph | fleet.vehicle.log.services | graph | New |
fleet_vehicle_log_services_view_kanban |
fleet.vehicle.log.services.kanban | fleet.vehicle.log.services | kanban | New |
fleet_vehicle_log_services_view_pivot |
fleet.vehicle.log.services | pivot | New | |
fleet_vehicle_log_services_view_search |
fleet.vehicle.log.services.search | fleet.vehicle.log.services | search | New |
fleet_vehicle_log_services_view_tree |
fleet.vehicle.log.services.list | fleet.vehicle.log.services | list | New |
fleet_vehicle_model_brand_view_form |
fleet.vehicle.model.brand.form | fleet.vehicle.model.brand | form | New |
fleet_vehicle_model_brand_view_kanban |
fleet.vehicle.model.brandkanban | fleet.vehicle.model.brand | kanban | New |
fleet_vehicle_model_brand_view_search |
fleet.vehicle.model.brand.view.search | fleet.vehicle.model.brand | search | New |
fleet_vehicle_model_brand_view_tree |
fleet.vehicle.model.brand.list | fleet.vehicle.model.brand | list | New |
fleet_vehicle_model_category_view_form |
fleet.vehicle.model.category.view.form | fleet.vehicle.model.category | form | New |
fleet_vehicle_model_category_view_tree |
fleet.vehicle.model.category.view.list | fleet.vehicle.model.category | list | New |
fleet_vehicle_model_view_form |
fleet.vehicle.model.form | fleet.vehicle.model | form | New |
fleet_vehicle_model_view_kanban |
fleet.vehicle.model.kanban | fleet.vehicle.model | kanban | New |
fleet_vehicle_model_view_search |
fleet.vehicle.model.search | fleet.vehicle.model | search | New |
fleet_vehicle_model_view_tree |
fleet.vehicle.model.list | fleet.vehicle.model | list | New |
fleet_vehicle_odometer_report_view_graph |
fleet.vehicle.odometer.report.view.graph | fleet.vehicle.odometer.report | graph | New |
fleet_vehicle_odometer_report_view_search |
fleet.vehicle.odometer.report.view.search | fleet.vehicle.odometer.report | search | New |
fleet_vehicle_odometer_view_form |
fleet.vehicle.odometer.form | fleet.vehicle.odometer | form | New |
fleet_vehicle_odometer_view_graph |
fleet.vehicle.odometer.graph | fleet.vehicle.odometer | graph | New |
fleet_vehicle_odometer_view_search |
fleet.vehicle.odometer.search | fleet.vehicle.odometer | search | New |
fleet_vehicle_odometer_view_tree |
fleet.vehicle.odometer.list | fleet.vehicle.odometer | list | New |
fleet_vehicle_send_mail_view_form |
fleet.vehicle.send.mail | form | New | |
fleet_vehicle_service_types_view_search |
fleet.service.type | search | New | |
fleet_vehicle_service_types_view_tree |
fleet.service.type.list | fleet.service.type | list | New |
fleet_vehicle_state_view_form |
fleet.vehicle.state.form | fleet.vehicle.state | form | New |
fleet_vehicle_state_view_tree |
fleet.vehicle.state.list | fleet.vehicle.state | list | New |
fleet_vehicle_tag_view_view_form |
fleet.vehicle.tag.form | fleet.vehicle.tag | form | New |
fleet_vehicle_tag_view_view_tree |
fleet.vehicle.tag.list | fleet.vehicle.tag | list | New |
fleet_vehicle_view_activity |
fleet.vehicle.activity | fleet.vehicle | activity | New |
fleet_vehicle_view_form |
fleet.vehicle.form | fleet.vehicle | form | New |
fleet_vehicle_view_form_quick_create |
fleet.vehicle.form.quick.create | fleet.vehicle | form | New |
fleet_vehicle_view_kanban |
fleet.vehicle.kanban | fleet.vehicle | kanban | New |
fleet_vehicle_view_pivot |
fleet.vehicle | pivot | New | |
fleet_vehicle_view_search |
fleet.vehicle.search | fleet.vehicle | search | New |
fleet_vehicle_view_tree |
fleet.vehicle.list | fleet.vehicle | list | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.hr.fleet | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
category
Selection
help='Choose whether the service refer to contracts, vehicle services or both'
required=True
args: [('contract', 'Contract'), ('service', 'Service')], 'Category'
name
Char
required=True
translate=True
No public methods.
acquisition_date
Date
default=fields.Date.today
help='Date of vehicle registration'
required=False
tracking=True
args: 'Registration Date'
active
Boolean
default=True
tracking=True
args: 'Active'
brand_id
Many2one → fleet.vehicle.model.brand
readonly=False
related='model_id.brand_id'
store=True
args: 'fleet.vehicle.model.brand', 'Brand'
car_value
Float
string='Catalog Value (VAT Incl.)'
tracking=True
category_id
Many2one → fleet.vehicle.model.category
compute='_compute_category'
readonly=False
store=True
args: 'fleet.vehicle.model.category', 'Category'
co2
Float
aggregator=None
compute='_compute_co2'
help='CO2 emissions of the vehicle'
readonly=False
store=True
tracking=True
args: 'CO₂ Emissions'
co2_emission_unit
Selection
compute='_compute_co2_emission_unit'
default='g/km'
required=True
store=True
args: [('g/km', 'g/km'), ('g/mi', 'g/mi')]
co2_standard
Char
compute='_compute_co2_standard'
help="Emission Standard specifies the regulatory test procedure or guideline under which a vehicle's emissions are measured."
readonly=False
store=True
args: 'Emission Standard'
color
Char
compute='_compute_color'
help='Color of the vehicle'
readonly=False
store=True
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
contract_count
Integer
compute='_compute_count_all'
string='Contract Count'
contract_date_start
Date
default=fields.Date.today
string='First Contract Date'
tracking=True
contract_renewal_due_soon
Boolean
compute='_compute_contract_reminder'
search='_search_contract_renewal_due_soon'
string='Has Contracts to renew'
contract_renewal_overdue
Boolean
compute='_compute_contract_reminder'
search='_search_get_overdue_contract_reminder'
string='Has Contracts Overdue'
contract_state
Selection
compute='_compute_contract_reminder'
required=False
string='Last Contract State'
args: [('futur', 'Incoming'), ('open', 'In Progress'), ('expired', 'Expired'), ('closed', 'Closed')]
country_code
Char
depends=['country_id']
related='country_id.code'
country_id
Many2one → res.country
related='company_id.country_id'
args: 'res.country'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
description
Html
doors
Integer
compute='_compute_doors'
help='Number of doors of the vehicle'
readonly=False
store=True
args: 'Number of Doors'
driver_id
Many2one → res.partner
copy=False
help='Driver address of the vehicle'
tracking=True
args: 'res.partner', 'Driver'
electric_assistance
Boolean
compute='_compute_electric_assistance'
readonly=False
store=True
frame_size
Float
frame_type
Selection
string='Bike Frame Type'
args: [('diamant', 'Diamant'), ('trapez', 'Trapez'), ('wave', 'Wave')]
fuel_type
Selection
compute='_compute_fuel_type'
readonly=False
store=True
args: FUEL_TYPES, 'Fuel Type'
future_driver_id
Many2one → res.partner
check_company=True
copy=False
help='Next Driver Address of the vehicle'
tracking=True
args: 'res.partner', 'Future Driver'
history_count
Integer
compute='_compute_count_all'
string='Drivers History Count'
horsepower
Float
compute='_compute_horsepower'
readonly=False
store=True
horsepower_tax
Float
compute='_compute_horsepower_tax'
readonly=False
store=True
args: 'Horsepower Taxation'
image_128
Image
readonly=True
related='model_id.image_128'
license_plate
Char
help='License plate number of the vehicle (i = plate number for a car)'
tracking=True
location
Char
help='Location of the vehicle (garage, ...)'
log_contracts
One2many → fleet.vehicle.log.contract
log_drivers
One2many → fleet.vehicle.assignation.log
string='Assignment Logs'
args: 'fleet.vehicle.assignation.log', 'vehicle_id'
log_services
One2many → fleet.vehicle.log.services
manager_id
Many2one → res.users
domain=<expr>
args: 'res.users', 'Fleet Manager'
model_id
Many2one → fleet.vehicle.model
required=True
tracking=True
args: 'fleet.vehicle.model', 'Model'
model_year
Selection
compute='_compute_model_year'
help='Year of the model'
readonly=False
selection='_get_year_selection'
store=True
string='Model Year'
name
Char
compute='_compute_vehicle_name'
store=True
net_car_value
Float
string='Purchase Value'
next_assignation_date
Date
help='This is the date at which the car will be available, if not set it means available instantly'
args: 'Assignment Date'
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Last Odometer'
odometer_count
Integer
compute='_compute_count_all'
string='Odometer'
odometer_unit
Selection
default='kilometers'
required=True
args: [('kilometers', 'km'), ('miles', 'mi')], 'Odometer Unit'
order_date
Date
plan_to_change_bike
Boolean
tracking=True
plan_to_change_car
Boolean
tracking=True
power
Float
compute='_compute_power'
help='Power in kW of the vehicle'
readonly=False
store=True
args: 'Power'
power_unit
Selection
default='power'
required=True
args: [('power', 'kW'), ('horsepower', 'Horsepower')], 'Power Unit'
range_unit
Selection
compute='_compute_range_unit'
default='km'
readonly=False
required=True
store=True
args: [('km', 'km'), ('mi', 'mi')]
residual_value
Float
seats
Integer
compute='_compute_seats'
help='Number of seats of the vehicle'
readonly=False
store=True
args: 'Seating Capacity'
service_activity
Selection
compute='_compute_service_activity'
args: [('none', 'None'), ('overdue', 'Overdue'), ('today', 'Today')]
service_count
Integer
compute='_compute_count_all'
string='Services'
state_id
Many2one → fleet.vehicle.state
default=_get_default_state
group_expand='_read_group_expand_full'
help='Current state of the vehicle'
ondelete='set null'
tracking=True
args: 'fleet.vehicle.state', 'State'
tag_ids
Many2many → fleet.vehicle.tag
copy=False
args: 'fleet.vehicle.tag', 'fleet_vehicle_vehicle_tag_rel', 'vehicle_tag_id', 'tag_id', 'Tags'
trailer_hook
Boolean
compute='_compute_trailer_hook'
default=False
help="A trailer hitch is a device attached to a vehicle's chassis for towing purposes, such as pulling trailers, boats, or other vehicles."
readonly=False
store=True
string='Trailer Hitch'
transmission
Selection
compute='_compute_transmission'
readonly=False
store=True
args: [('manual', 'Manual'), ('automatic', 'Automatic')], 'Transmission'
vehicle_properties
Properties
copy=True
definition='model_id.vehicle_properties_definition'
args: 'Properties'
vehicle_range
Integer
string='Range'
vehicle_type
Selection
related='model_id.vehicle_type'
vin_sn
Char
copy=False
help='Unique number written on the vehicle motor (VIN/SN number)'
tracking=True
args: 'Chassis Number'
write_off_date
Date
help="Date when the vehicle's license plate has been cancelled/removed."
tracking=True
args: 'Cancellation Date'
act_show_log_cost(self)
action_accept_driver_change(self)
action_open_odometer_report(self)
action_send_email(self)
create(self, vals_list)
create_driver_history(self, vals)
open_assignation_logs(self)
return_action_to_open(self)
write(self, vals)
date_end
Date
string='End Date'
date_start
Date
string='Start Date'
driver_id
Many2one → res.partner
required=True
string='Driver'
args: 'res.partner'
vehicle_id
Many2one → fleet.vehicle
index=True
required=True
string='Vehicle'
args: 'fleet.vehicle'
No public methods.
company_id
Many2one → res.company
readonly=True
args: 'res.company', 'Company'
cost
Float
readonly=True
args: 'Cost'
cost_type
Selection
readonly=True
selection=[('contract', 'Contract'), ('service', 'Service')]
string='Cost Type'
date_start
Date
readonly=True
args: 'Date'
driver_id
Many2one → res.partner
readonly=True
args: 'res.partner', 'Driver'
fuel_type
Char
readonly=True
args: 'Fuel'
name
Char
readonly=True
args: 'Vehicle Name'
vehicle_id
Many2one → fleet.vehicle
readonly=True
args: 'fleet.vehicle', 'Vehicle'
vehicle_type
Selection
readonly=True
args: [('car', 'Car'), ('bike', 'Bike')]
init(self)
active
Boolean
default=True
amount
Monetary
tracking=True
args: 'Cost'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
cost_frequency
Selection
default='monthly'
required=True
tracking=True
args: [('no', 'No'), ('daily', 'Daily'), ('weekly', 'Weekly'), ('monthly', 'Monthly'), ('yearly', 'Yearly')], 'Recurring Cost Frequency'
cost_generated
Monetary
tracking=True
args: 'Recurring Cost'
cost_subtype_id
Many2one → fleet.service.type
domain=[('category', '=', 'contract')]
help='Cost type purchased with this cost'
args: 'fleet.service.type', 'Type'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
date
Date
help='Date when the cost has been executed'
days_left
Integer
compute='_compute_days_left'
string='Warning Date'
expiration_date
Date
default=<expr>
help='Date when the coverage of the contract expirates (by default, one year after begin date)'
tracking=True
args: 'Contract Expiration Date'
expires_today
Boolean
compute='_compute_days_left'
has_open_contract
Boolean
compute='_compute_has_open_contract'
ins_ref
Char
copy=False
size=64
args: 'Reference'
insurer_id
Many2one → res.partner
name
Char
compute='_compute_contract_name'
readonly=False
store=True
string='Name'
notes
Html
copy=False
args: 'Terms and Conditions'
purchaser_id
Many2one
related='vehicle_id.driver_id'
string='Driver'
service_ids
Many2many → fleet.service.type
string='Included Services'
args: 'fleet.service.type'
start_date
Date
default=fields.Date.context_today
help='Date when the coverage of the contract begins'
tracking=True
args: 'Contract Start Date'
state
Selection
copy=False
default='open'
help='Choose whether the contract is still valid or not'
tracking=True
args: [('futur', 'New'), ('open', 'Running'), ('expired', 'Expired'), ('closed', 'Cancelled')], 'Status'
user_id
Many2one → res.users
comodel_name='res.users'
default=<expr>
index=True
string='Responsible'
vehicle_id
Many2one → fleet.vehicle
check_company=True
index=True
required=True
tracking=True
args: 'fleet.vehicle', 'Vehicle'
action_close(self)
action_draft(self)
action_expire(self)
action_open(self)
compute_next_year_date(self, strdate)
run_scheduler(self)
scheduler_manage_contract_expiration(self)
write(self, vals)
active
Boolean
default=True
amount
Monetary
brand_id
Many2one → fleet.vehicle.model.brand
related='vehicle_id.model_id.brand_id'
store=True
args: 'fleet.vehicle.model.brand', 'Brand'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
date
Date
default=fields.Date.context_today
help='Date when the cost has been executed'
description
Char
inv_ref
Char
manager_id
Many2one → res.users
related='vehicle_id.manager_id'
store=True
args: 'res.users', 'Fleet Manager'
model_id
Many2one → fleet.vehicle.model
related='vehicle_id.model_id'
store=True
args: 'fleet.vehicle.model', 'Model'
notes
Text
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Odometer Value'
odometer_id
Many2one → fleet.vehicle.odometer
help='Odometer measure of the vehicle at the moment of this log'
args: 'fleet.vehicle.odometer', 'Odometer'
odometer_unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
purchaser_id
Many2one → res.partner
compute='_compute_purchaser_id'
readonly=False
store=True
string='Driver'
args: 'res.partner'
service_type_id
Many2one → fleet.service.type
default=<expr>
required=True
args: 'fleet.service.type', 'Service Type'
state
Selection
default='new'
group_expand=True
string='Stage'
tracking=True
args: [('new', 'New'), ('running', 'Running'), ('done', 'Done'), ('cancelled', 'Cancelled')]
vehicle_id
Many2one → fleet.vehicle
index=True
required=True
args: 'fleet.vehicle', 'Vehicle'
vendor_id
Many2one → res.partner
create(self, vals_list)
active
Boolean
default=True
brand_id
Many2one → fleet.vehicle.model.brand
index='btree_not_null'
required=True
tracking=True
args: 'fleet.vehicle.model.brand', 'Manufacturer'
category_id
Many2one → fleet.vehicle.model.category
tracking=True
args: 'fleet.vehicle.model.category', 'Category'
co2_emission_unit
Selection
compute='_compute_co2_emission_unit'
required=True
args: [('g/km', 'g/km'), ('g/mi', 'g/mi')]
co2_standard
Char
help="Emission Standard specifies the regulatory test procedure or guideline under which a vehicle's emissions are measured."
string='Emission Standard'
tracking=True
color
Char
tracking=True
default_co2
Float
tracking=True
args: 'CO₂ Emissions'
default_fuel_type
Selection
default='electric'
tracking=True
args: FUEL_TYPES, 'Fuel Type'
doors
Integer
help='Specifies the total number of doors, including the truck and hatch doors, if applicable.'
string='Number of Doors'
tracking=True
drive_type
Selection
electric_assistance
Boolean
default=False
tracking=True
horsepower
Float
tracking=True
horsepower_tax
Float
tracking=True
args: 'Horsepower Taxation'
image_128
Image
readonly=True
related='brand_id.image_128'
model_year
Selection
selection='_get_year_selection'
tracking=True
name
Char
required=True
tracking=True
args: 'Model name'
power
Float
tracking=True
args: 'Power'
power_unit
Selection
default='power'
required=True
args: [('power', 'kW'), ('horsepower', 'Horsepower (hp)')], 'Power Unit'
range_unit
Selection
default='km'
required=True
args: [('km', 'km'), ('mi', 'mi')]
seats
Integer
string='Seating Capacity'
tracking=True
trailer_hook
Boolean
default=False
help="A trailer hitch is a device attached to a vehicle's chassis for towing purposes, such as pulling trailers, boats, or other vehicles."
string='Trailer Hitch'
tracking=True
transmission
Selection
tracking=True
args: [('manual', 'Manual'), ('automatic', 'Automatic')], 'Transmission'
vehicle_count
Integer
compute='_compute_vehicle_count'
search='_search_vehicle_count'
vehicle_properties_definition
PropertiesDefinition
vehicle_range
Integer
string='Range'
vehicle_type
Selection
default='car'
required=True
tracking=True
args: [('car', 'Car'), ('bike', 'Bike')]
vendors
Many2many → res.partner
string='Vendors'
args: 'res.partner', 'fleet_vehicle_model_vendors', 'model_id', 'partner_id'
action_model_vehicle(self)
active
Boolean
default=True
image_128
Image
max_height=128
max_width=128
args: 'Logo'
model_count
Integer
compute='_compute_model_count'
store=True
string=''
model_ids
One2many → fleet.vehicle.model
name
Char
required=True
args: 'Name'
action_brand_model(self)
action_open_brand_form(self)
name
Char
required=True
sequence
Integer
No public methods.
date
Date
default=fields.Date.context_today
driver_id
Many2one → res.partner
compute='_compute_driver_id'
readonly=False
store=True
string='Driver'
args: 'res.partner'
name
Char
compute='_compute_vehicle_log_name'
store=True
unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
value
Float
aggregator='max'
args: 'Odometer Value'
vehicle_id
Many2one → fleet.vehicle
required=True
args: 'fleet.vehicle', 'Vehicle'
No public methods.
category_id
Many2one
related='vehicle_id.category_id'
fuel_type
Selection
related='vehicle_id.fuel_type'
mileage_delta
Float
readonly=True
args: 'Mileage Delta'
model_id
Many2one
related='vehicle_id.model_id'
odometer_value
Float
readonly=True
args: 'Odometer Value'
recorded_date
Date
readonly=True
args: 'Date'
vehicle_id
Many2one → fleet.vehicle
readonly=True
args: 'fleet.vehicle', 'Vehicle'
init(self)
attachment_ids
Many2many → ir.attachment
bypass_search_access=True
string='Attachments'
args: 'ir.attachment', 'fleet_vehicle_mail_compose_message_ir_attachments_rel', 'wizard_id', 'attachment_id'
author_id
Many2one → res.partner
default=<expr>
required=True
args: 'res.partner', 'Author'
template_id
Many2one
domain=<expr>
vehicle_ids
Many2many → fleet.vehicle
required=True
string='Vehicles'
args: 'fleet.vehicle'
action_save_as_template(self)
action_send(self)
fold
Boolean
string='Folded in Kanban'
name
Char
required=True
translate=True
sequence
Integer
No public methods.
color
Integer
name
Char
required=True
translate=True
args: 'Tag Name'
No public methods.
No new fields.
Public methods (0)No public methods.
delay_alert_contract
Integer
config_parameter='hr_fleet.delay_alert_contract'
default=30
string='Delay alert contract outdated'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/18.0/fleet |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Human Resources/Fleet |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Christophe Simonis, Xavier Morel, Géry Debongnie, Aaron Bohy, Yannick Tivisse, Odoo Online, Pierre Masereel, Jorge Pinna Puissant, Prakash Prajapati, Tiffany Chang (tic), Gorash, sofiagvaladze, Vincent Larcin, bve-odoo, Louis Wicket (wil), nda, Mahamadasif Ansari, Pierre-Yves Dufays, Dylan Kiss (dyki), Brieuc-brd, omra-odoo, Mélanie, Maryam Kia, Flotchet, jugj-odoo, Nathaniel (naja), adsh-odoo, Louis (wil), mano-odoo, Yassin Abdelkarim, Krzysztof Magusiak (krma) |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/app/fleet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:25:53 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web - bus - web_tour - html_editor |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Vehicle, leasing, insurances, cost ================================== With this module, Odoo helps you managing all your vehicles, the contracts associated to those vehicle as well as services, costs and many other features necessary to the management of your fleet of vehicle(s) Main Features ------------- * Add vehicles to your fleet * Manage contracts for vehicles * Reminder when a contract reach its expiration date * Add services, odometer values for all vehicles * Show all costs associated to a vehicle or to a type of service * Analysis graph for costs |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fleet_costs_report_view_graph |
fleet.vehicle.cost.view.graph | fleet.vehicle.cost.report | graph | New |
fleet_costs_report_view_pivot |
fleet.vehicle.cost.view.pivot | fleet.vehicle.cost.report | pivot | New |
fleet_costs_report_view_search |
fleet.vehicle.cost.view.search | fleet.vehicle.cost.report | search | New |
fleet_vechicle_costs_report_view_form |
fleet.vehicle.cost.report.form | fleet.vehicle.cost.report | form | New |
fleet_vechicle_costs_report_view_tree |
fleet.vehicle.cost.report.view.list | fleet.vehicle.cost.report | list | New |
fleet_vehicle_assignation_log_view_list |
fleet.vehicle.assignation.log.view.list | fleet.vehicle.assignation.log | list | New |
fleet_vehicle_log_contract_view_activity |
fleet.vehicle.log.contract.activity | fleet.vehicle.log.contract | activity | New |
fleet_vehicle_log_contract_view_form |
fleet.vehicle.log_contract.form | fleet.vehicle.log.contract | form | New |
fleet_vehicle_log_contract_view_graph |
fleet.vehicle.log.contract.graph | fleet.vehicle.log.contract | graph | New |
fleet_vehicle_log_contract_view_kanban |
fleet.vehicle.log.contract.kanban | fleet.vehicle.log.contract | kanban | New |
fleet_vehicle_log_contract_view_pivot |
fleet.vehicle.log.contract | pivot | New | |
fleet_vehicle_log_contract_view_search |
fleet.vehicle.log.contract.search | fleet.vehicle.log.contract | search | New |
fleet_vehicle_log_contract_view_tree |
fleet.vehicle.log.contract.list | fleet.vehicle.log.contract | list | New |
fleet_vehicle_log_services_view_activity |
fleet.vehicle.log.services | activity | New | |
fleet_vehicle_log_services_view_form |
fleet.vehicle.log.services.form | fleet.vehicle.log.services | form | New |
fleet_vehicle_log_services_view_graph |
fleet.vehicle.log.services.graph | fleet.vehicle.log.services | graph | New |
fleet_vehicle_log_services_view_kanban |
fleet.vehicle.log.services.kanban | fleet.vehicle.log.services | kanban | New |
fleet_vehicle_log_services_view_pivot |
fleet.vehicle.log.services | pivot | New | |
fleet_vehicle_log_services_view_search |
fleet.vehicle.log.services.search | fleet.vehicle.log.services | search | New |
fleet_vehicle_log_services_view_tree |
fleet.vehicle.log.services.list | fleet.vehicle.log.services | list | New |
fleet_vehicle_model_brand_view_form |
fleet.vehicle.model.brand.form | fleet.vehicle.model.brand | form | New |
fleet_vehicle_model_brand_view_kanban |
fleet.vehicle.model.brandkanban | fleet.vehicle.model.brand | kanban | New |
fleet_vehicle_model_brand_view_search |
fleet.vehicle.model.brand.view.search | fleet.vehicle.model.brand | search | New |
fleet_vehicle_model_brand_view_tree |
fleet.vehicle.model.brand.list | fleet.vehicle.model.brand | list | New |
fleet_vehicle_model_category_view_form |
fleet.vehicle.model.category.view.form | fleet.vehicle.model.category | form | New |
fleet_vehicle_model_category_view_tree |
fleet.vehicle.model.category.view.list | fleet.vehicle.model.category | list | New |
fleet_vehicle_model_view_form |
fleet.vehicle.model.form | fleet.vehicle.model | form | New |
fleet_vehicle_model_view_kanban |
fleet.vehicle.model.kanban | fleet.vehicle.model | kanban | New |
fleet_vehicle_model_view_search |
fleet.vehicle.model.search | fleet.vehicle.model | search | New |
fleet_vehicle_model_view_tree |
fleet.vehicle.model.list | fleet.vehicle.model | list | New |
fleet_vehicle_odometer_view_form |
fleet.vehicle.odometer.form | fleet.vehicle.odometer | form | New |
fleet_vehicle_odometer_view_graph |
fleet.vehicle.odometer.graph | fleet.vehicle.odometer | graph | New |
fleet_vehicle_odometer_view_kanban |
fleet.vehicle.odometer.kanban | fleet.vehicle.odometer | kanban | New |
fleet_vehicle_odometer_view_search |
fleet.vehicle.odometer.search | fleet.vehicle.odometer | search | New |
fleet_vehicle_odometer_view_tree |
fleet.vehicle.odometer.list | fleet.vehicle.odometer | list | New |
fleet_vehicle_send_mail_view_form |
fleet.vehicle.send.mail | form | New | |
fleet_vehicle_service_types_view_search |
fleet.service.type | search | New | |
fleet_vehicle_service_types_view_tree |
fleet.service.type.list | fleet.service.type | list | New |
fleet_vehicle_state_view_form |
fleet.vehicle.state.form | fleet.vehicle.state | form | New |
fleet_vehicle_state_view_tree |
fleet.vehicle.state.list | fleet.vehicle.state | list | New |
fleet_vehicle_tag_view_view_form |
fleet.vehicle.tag.form | fleet.vehicle.tag | form | New |
fleet_vehicle_tag_view_view_tree |
fleet.vehicle.tag.list | fleet.vehicle.tag | list | New |
fleet_vehicle_view_activity |
fleet.vehicle.activity | fleet.vehicle | activity | New |
fleet_vehicle_view_form |
fleet.vehicle.form | fleet.vehicle | form | New |
fleet_vehicle_view_kanban |
fleet.vehicle.kanban | fleet.vehicle | kanban | New |
fleet_vehicle_view_pivot |
fleet.vehicle | pivot | New | |
fleet_vehicle_view_search |
fleet.vehicle.search | fleet.vehicle | search | New |
fleet_vehicle_view_tree |
fleet.vehicle.list | fleet.vehicle | list | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.hr.fleet | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
category
Selection
help='Choose whether the service refer to contracts, vehicle services or both'
required=True
args: [('contract', 'Contract'), ('service', 'Service')], 'Category'
name
Char
required=True
translate=True
No public methods.
acquisition_date
Date
default=fields.Date.today
help='Date of vehicle registration'
required=False
tracking=True
args: 'Registration Date'
active
Boolean
default=True
tracking=True
args: 'Active'
brand_id
Many2one → fleet.vehicle.model.brand
readonly=False
related='model_id.brand_id'
store=True
args: 'fleet.vehicle.model.brand', 'Brand'
car_value
Float
string='Catalog Value (VAT Incl.)'
tracking=True
category_id
Many2one → fleet.vehicle.model.category
compute='_compute_model_fields'
readonly=False
store=True
args: 'fleet.vehicle.model.category', 'Category'
co2
Float
aggregator=None
compute='_compute_model_fields'
help='CO2 emissions of the vehicle'
readonly=False
store=True
tracking=True
args: 'CO2 Emissions'
co2_standard
Char
compute='_compute_model_fields'
readonly=False
store=True
args: 'CO2 Standard'
color
Char
compute='_compute_model_fields'
help='Color of the vehicle'
readonly=False
store=True
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
contract_count
Integer
compute='_compute_count_all'
string='Contract Count'
contract_renewal_due_soon
Boolean
compute='_compute_contract_reminder'
search='_search_contract_renewal_due_soon'
string='Has Contracts to renew'
contract_renewal_overdue
Boolean
compute='_compute_contract_reminder'
search='_search_get_overdue_contract_reminder'
string='Has Contracts Overdue'
contract_state
Selection
compute='_compute_contract_reminder'
required=False
string='Last Contract State'
args: [('futur', 'Incoming'), ('open', 'In Progress'), ('expired', 'Expired'), ('closed', 'Closed')]
country_code
Char
depends=['country_id']
related='country_id.code'
country_id
Many2one → res.country
related='company_id.country_id'
args: 'res.country'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
description
Html
doors
Integer
compute='_compute_model_fields'
help='Number of doors of the vehicle'
readonly=False
store=True
args: 'Doors Number'
driver_id
Many2one → res.partner
copy=False
help='Driver address of the vehicle'
tracking=True
args: 'res.partner', 'Driver'
electric_assistance
Boolean
compute='_compute_model_fields'
readonly=False
store=True
first_contract_date
Date
default=fields.Date.today
string='First Contract Date'
tracking=True
frame_size
Float
frame_type
Selection
string='Bike Frame Type'
args: [('diamant', 'Diamant'), ('trapez', 'Trapez'), ('wave', 'Wave')]
fuel_type
Selection
compute='_compute_model_fields'
readonly=False
store=True
args: FUEL_TYPES, 'Fuel Type'
future_driver_id
Many2one → res.partner
check_company=True
copy=False
help='Next Driver Address of the vehicle'
tracking=True
args: 'res.partner', 'Future Driver'
history_count
Integer
compute='_compute_count_all'
string='Drivers History Count'
horsepower
Integer
compute='_compute_model_fields'
readonly=False
store=True
horsepower_tax
Float
compute='_compute_model_fields'
readonly=False
store=True
args: 'Horsepower Taxation'
image_128
Image
readonly=True
related='model_id.image_128'
license_plate
Char
help='License plate number of the vehicle (i = plate number for a car)'
tracking=True
location
Char
help='Location of the vehicle (garage, ...)'
log_contracts
One2many → fleet.vehicle.log.contract
log_drivers
One2many → fleet.vehicle.assignation.log
string='Assignment Logs'
args: 'fleet.vehicle.assignation.log', 'vehicle_id'
log_services
One2many → fleet.vehicle.log.services
manager_id
Many2one → res.users
domain=<expr>
args: 'res.users', 'Fleet Manager'
model_id
Many2one → fleet.vehicle.model
required=True
tracking=True
args: 'fleet.vehicle.model', 'Model'
model_year
Char
compute='_compute_model_fields'
help='Year of the model'
readonly=False
store=True
args: 'Model Year'
name
Char
compute='_compute_vehicle_name'
store=True
net_car_value
Float
string='Purchase Value'
next_assignation_date
Date
help='This is the date at which the car will be available, if not set it means available instantly'
args: 'Assignment Date'
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Last Odometer'
odometer_count
Integer
compute='_compute_count_all'
string='Odometer'
odometer_unit
Selection
default='kilometers'
required=True
args: [('kilometers', 'km'), ('miles', 'mi')], 'Odometer Unit'
order_date
Date
plan_to_change_bike
Boolean
readonly=False
related='driver_id.plan_to_change_bike'
store=True
plan_to_change_car
Boolean
readonly=False
related='driver_id.plan_to_change_car'
store=True
power
Integer
compute='_compute_model_fields'
help='Power in kW of the vehicle'
readonly=False
store=True
args: 'Power'
power_unit
Selection
default='power'
required=True
args: [('power', 'kW'), ('horsepower', 'Horsepower')], 'Power Unit'
residual_value
Float
seats
Integer
compute='_compute_model_fields'
help='Number of seats of the vehicle'
readonly=False
store=True
args: 'Seats Number'
service_activity
Selection
compute='_compute_service_activity'
args: [('none', 'None'), ('overdue', 'Overdue'), ('today', 'Today')]
service_count
Integer
compute='_compute_count_all'
string='Services'
state_id
Many2one → fleet.vehicle.state
default=_get_default_state
group_expand='_read_group_expand_full'
help='Current state of the vehicle'
ondelete='set null'
tracking=True
args: 'fleet.vehicle.state', 'State'
tag_ids
Many2many → fleet.vehicle.tag
copy=False
args: 'fleet.vehicle.tag', 'fleet_vehicle_vehicle_tag_rel', 'vehicle_tag_id', 'tag_id', 'Tags'
trailer_hook
Boolean
compute='_compute_model_fields'
default=False
readonly=False
store=True
string='Trailer Hitch'
transmission
Selection
compute='_compute_model_fields'
readonly=False
store=True
args: [('manual', 'Manual'), ('automatic', 'Automatic')], 'Transmission'
vehicle_properties
Properties
copy=True
definition='model_id.vehicle_properties_definition'
args: 'Properties'
vehicle_range
Integer
string='Range'
vehicle_type
Selection
related='model_id.vehicle_type'
vin_sn
Char
copy=False
help='Unique number written on the vehicle motor (VIN/SN number)'
tracking=True
args: 'Chassis Number'
write_off_date
Date
help="Date when the vehicle's license plate has been cancelled/removed."
tracking=True
args: 'Cancellation Date'
act_show_log_cost(self)
action_accept_driver_change(self)
action_send_email(self)
create(self, vals_list)
create_driver_history(self, vals)
open_assignation_logs(self)
return_action_to_open(self)
write(self, vals)
date_end
Date
string='End Date'
date_start
Date
string='Start Date'
driver_id
Many2one → res.partner
required=True
string='Driver'
args: 'res.partner'
vehicle_id
Many2one → fleet.vehicle
required=True
string='Vehicle'
args: 'fleet.vehicle'
No public methods.
company_id
Many2one → res.company
readonly=True
args: 'res.company', 'Company'
cost
Float
readonly=True
args: 'Cost'
cost_type
Selection
readonly=True
selection=[('contract', 'Contract'), ('service', 'Service')]
string='Cost Type'
date_start
Date
readonly=True
args: 'Date'
driver_id
Many2one → res.partner
readonly=True
args: 'res.partner', 'Driver'
fuel_type
Char
readonly=True
args: 'Fuel'
name
Char
readonly=True
args: 'Vehicle Name'
vehicle_id
Many2one → fleet.vehicle
readonly=True
args: 'fleet.vehicle', 'Vehicle'
vehicle_type
Selection
readonly=True
args: [('car', 'Car'), ('bike', 'Bike')]
init(self)
active
Boolean
default=True
amount
Monetary
tracking=True
args: 'Cost'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
cost_frequency
Selection
default='monthly'
required=True
tracking=True
args: [('no', 'No'), ('daily', 'Daily'), ('weekly', 'Weekly'), ('monthly', 'Monthly'), ('yearly', 'Yearly')], 'Recurring Cost Frequency'
cost_generated
Monetary
tracking=True
args: 'Recurring Cost'
cost_subtype_id
Many2one → fleet.service.type
domain=[('category', '=', 'contract')]
help='Cost type purchased with this cost'
args: 'fleet.service.type', 'Type'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
date
Date
help='Date when the cost has been executed'
days_left
Integer
compute='_compute_days_left'
string='Warning Date'
expiration_date
Date
default=<expr>
help='Date when the coverage of the contract expirates (by default, one year after begin date)'
tracking=True
args: 'Contract Expiration Date'
expires_today
Boolean
compute='_compute_days_left'
has_open_contract
Boolean
compute='_compute_has_open_contract'
ins_ref
Char
copy=False
size=64
args: 'Reference'
insurer_id
Many2one → res.partner
name
Char
compute='_compute_contract_name'
readonly=False
store=True
string='Name'
notes
Html
copy=False
args: 'Terms and Conditions'
purchaser_id
Many2one
related='vehicle_id.driver_id'
string='Driver'
service_ids
Many2many → fleet.service.type
string='Included Services'
args: 'fleet.service.type'
start_date
Date
default=fields.Date.context_today
help='Date when the coverage of the contract begins'
tracking=True
args: 'Contract Start Date'
state
Selection
copy=False
default='open'
help='Choose whether the contract is still valid or not'
tracking=True
args: [('futur', 'New'), ('open', 'Running'), ('expired', 'Expired'), ('closed', 'Cancelled')], 'Status'
user_id
Many2one → res.users
comodel_name='res.users'
default=<expr>
index=True
string='Responsible'
vehicle_id
Many2one → fleet.vehicle
check_company=True
required=True
tracking=True
args: 'fleet.vehicle', 'Vehicle'
action_close(self)
action_draft(self)
action_expire(self)
action_open(self)
compute_next_year_date(self, strdate)
run_scheduler(self)
scheduler_manage_contract_expiration(self)
write(self, vals)
active
Boolean
default=True
amount
Monetary
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
date
Date
default=fields.Date.context_today
help='Date when the cost has been executed'
description
Char
inv_ref
Char
manager_id
Many2one → res.users
related='vehicle_id.manager_id'
store=True
args: 'res.users', 'Fleet Manager'
notes
Text
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Odometer Value'
odometer_id
Many2one → fleet.vehicle.odometer
help='Odometer measure of the vehicle at the moment of this log'
args: 'fleet.vehicle.odometer', 'Odometer'
odometer_unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
purchaser_id
Many2one → res.partner
compute='_compute_purchaser_id'
readonly=False
store=True
string='Driver'
args: 'res.partner'
service_type_id
Many2one → fleet.service.type
default=<expr>
required=True
args: 'fleet.service.type', 'Service Type'
state
Selection
default='new'
group_expand=True
string='Stage'
tracking=True
args: [('new', 'New'), ('running', 'Running'), ('done', 'Done'), ('cancelled', 'Cancelled')]
vehicle_id
Many2one → fleet.vehicle
required=True
args: 'fleet.vehicle', 'Vehicle'
vendor_id
Many2one → res.partner
create(self, vals_list)
active
Boolean
default=True
brand_id
Many2one → fleet.vehicle.model.brand
required=True
tracking=True
args: 'fleet.vehicle.model.brand', 'Manufacturer'
category_id
Many2one → fleet.vehicle.model.category
tracking=True
args: 'fleet.vehicle.model.category', 'Category'
co2_standard
Char
tracking=True
color
Char
tracking=True
default_co2
Float
tracking=True
args: 'CO2 Emissions'
default_fuel_type
Selection
default='electric'
tracking=True
args: FUEL_TYPES, 'Fuel Type'
doors
Integer
string='Doors Number'
tracking=True
electric_assistance
Boolean
default=False
tracking=True
horsepower
Integer
tracking=True
horsepower_tax
Float
tracking=True
args: 'Horsepower Taxation'
image_128
Image
readonly=True
related='brand_id.image_128'
model_year
Integer
tracking=True
name
Char
required=True
tracking=True
args: 'Model name'
power
Integer
tracking=True
args: 'Power'
power_unit
Selection
default='power'
required=True
args: [('power', 'kW'), ('horsepower', 'Horsepower')], 'Power Unit'
seats
Integer
string='Seats Number'
tracking=True
trailer_hook
Boolean
default=False
string='Trailer Hitch'
tracking=True
transmission
Selection
tracking=True
args: [('manual', 'Manual'), ('automatic', 'Automatic')], 'Transmission'
vehicle_count
Integer
compute='_compute_vehicle_count'
search='_search_vehicle_count'
vehicle_properties_definition
PropertiesDefinition
vehicle_range
Integer
string='Range'
vehicle_type
Selection
default='car'
required=True
tracking=True
args: [('car', 'Car'), ('bike', 'Bike')]
vendors
Many2many → res.partner
string='Vendors'
args: 'res.partner', 'fleet_vehicle_model_vendors', 'model_id', 'partner_id'
action_model_vehicle(self)
active
Boolean
default=True
image_128
Image
max_height=128
max_width=128
args: 'Logo'
model_count
Integer
compute='_compute_model_count'
store=True
string=''
model_ids
One2many → fleet.vehicle.model
name
Char
required=True
args: 'Name'
action_brand_model(self)
name
Char
required=True
sequence
Integer
No public methods.
date
Date
default=fields.Date.context_today
driver_id
Many2one
readonly=False
related='vehicle_id.driver_id'
string='Driver'
name
Char
compute='_compute_vehicle_log_name'
store=True
unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
value
Float
aggregator='max'
args: 'Odometer Value'
vehicle_id
Many2one → fleet.vehicle
required=True
args: 'fleet.vehicle', 'Vehicle'
No public methods.
attachment_ids
Many2many → ir.attachment
string='Attachments'
args: 'ir.attachment', 'fleet_vehicle_mail_compose_message_ir_attachments_rel', 'wizard_id', 'attachment_id'
author_id
Many2one → res.partner
default=<expr>
required=True
args: 'res.partner', 'Author'
template_id
Many2one
domain=<expr>
vehicle_ids
Many2many → fleet.vehicle
required=True
string='Vehicles'
args: 'fleet.vehicle'
action_save_as_template(self)
action_send(self)
name
Char
required=True
translate=True
sequence
Integer
No public methods.
color
Integer
name
Char
required=True
translate=True
args: 'Tag Name'
No public methods.
No new fields.
Public methods (0)No public methods.
delay_alert_contract
Integer
config_parameter='hr_fleet.delay_alert_contract'
default=30
string='Delay alert contract outdated'
No public methods.
plan_to_change_bike
Boolean
default=False
args: 'Plan To Change Bike'
plan_to_change_car
Boolean
default=False
tracking=True
args: 'Plan To Change Car'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/17.0/fleet |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Human Resources/Fleet |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Christophe Simonis, Xavier Morel, qdp-odoo, Yannick Tivisse, Odoo Online, Jorge Pinna Puissant, Alexandre Kühn, Victor Feyens, Prakash Prajapati, Tiffany Chang (tic), Rémy Voet (ryv), Gorash, Pierre Paridans, abd-msyukyu-odoo, Kevin Baptiste, sofiagvaladze, niyasraphy, bve-odoo, Thomas Lefebvre (thle), Louis Wicket (wil), nda, Pierre-Yves Dufays, Jurgen (jugj), Dylan Kiss (dyki), Bruno Boi, FrancoisGe, prye-odoo, Adrien Schoffeniels, stcc-odoo, Brieuc-brd, Leonardo Pavan Rocha, shag-odoo, stefanorigano (SRI), dasz, Nathaniel (naja), Julien Carion (juca), adsh-odoo, Louis (wil), Yassin Abdelkarim, ampa-odoo, Elisabeth Dickinson, Pierre Pulinckx (pipu), rupa-odoo |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/app/fleet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:02:04 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Vehicle, leasing, insurances, cost ================================== With this module, Odoo helps you managing all your vehicles, the contracts associated to those vehicle as well as services, costs and many other features necessary to the management of your fleet of vehicle(s) Main Features ------------- * Add vehicles to your fleet * Manage contracts for vehicles * Reminder when a contract reach its expiration date * Add services, odometer values for all vehicles * Show all costs associated to a vehicle or to a type of service * Analysis graph for costs |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fleet_costs_report_view_graph |
fleet.vehicle.cost.view.graph | fleet.vehicle.cost.report | graph | New |
fleet_costs_report_view_pivot |
fleet.vehicle.cost.view.pivot | fleet.vehicle.cost.report | pivot | New |
fleet_costs_report_view_search |
fleet.vehicle.cost.view.search | fleet.vehicle.cost.report | search | New |
fleet_vechicle_costs_report_view_form |
fleet.vehicle.cost.report.form | fleet.vehicle.cost.report | form | New |
fleet_vechicle_costs_report_view_tree |
fleet.vehicle.cost.report.view.tree | fleet.vehicle.cost.report | tree | New |
fleet_vehicle_assignation_log_view_list |
fleet.vehicle.assignation.log.view.tree | fleet.vehicle.assignation.log | tree | New |
fleet_vehicle_log_contract_view_activity |
fleet.vehicle.log.contract.activity | fleet.vehicle.log.contract | activity | New |
fleet_vehicle_log_contract_view_form |
fleet.vehicle.log_contract.form | fleet.vehicle.log.contract | form | New |
fleet_vehicle_log_contract_view_graph |
fleet.vehicle.log.contract.graph | fleet.vehicle.log.contract | graph | New |
fleet_vehicle_log_contract_view_kanban |
fleet.vehicle.log.contract.kanban | fleet.vehicle.log.contract | kanban | New |
fleet_vehicle_log_contract_view_pivot |
fleet.vehicle.log.contract | pivot | New | |
fleet_vehicle_log_contract_view_search |
fleet.vehicle.log.contract.search | fleet.vehicle.log.contract | search | New |
fleet_vehicle_log_contract_view_tree |
fleet.vehicle.log.contract.tree | fleet.vehicle.log.contract | tree | New |
fleet_vehicle_log_services_view_activity |
fleet.vehicle.log.services | activity | New | |
fleet_vehicle_log_services_view_form |
fleet.vehicle.log.services.form | fleet.vehicle.log.services | form | New |
fleet_vehicle_log_services_view_graph |
fleet.vehicle.log.services.graph | fleet.vehicle.log.services | graph | New |
fleet_vehicle_log_services_view_kanban |
fleet.vehicle.log.services.kanban | fleet.vehicle.log.services | kanban | New |
fleet_vehicle_log_services_view_pivot |
fleet.vehicle.log.services | pivot | New | |
fleet_vehicle_log_services_view_search |
fleet.vehicle.log.services.search | fleet.vehicle.log.services | search | New |
fleet_vehicle_log_services_view_tree |
fleet.vehicle.log.services.tree | fleet.vehicle.log.services | tree | New |
fleet_vehicle_model_brand_view_form |
fleet.vehicle.model.brand.form | fleet.vehicle.model.brand | form | New |
fleet_vehicle_model_brand_view_kanban |
fleet.vehicle.model.brandkanban | fleet.vehicle.model.brand | kanban | New |
fleet_vehicle_model_brand_view_search |
fleet.vehicle.model.brand.view.search | fleet.vehicle.model.brand | search | New |
fleet_vehicle_model_brand_view_tree |
fleet.vehicle.model.brand.tree | fleet.vehicle.model.brand | tree | New |
fleet_vehicle_model_category_view_form |
fleet.vehicle.model.category.view.form | fleet.vehicle.model.category | form | New |
fleet_vehicle_model_category_view_tree |
fleet.vehicle.model.category.view.tree | fleet.vehicle.model.category | tree | New |
fleet_vehicle_model_view_form |
fleet.vehicle.model.form | fleet.vehicle.model | form | New |
fleet_vehicle_model_view_kanban |
fleet.vehicle.model.kanban | fleet.vehicle.model | kanban | New |
fleet_vehicle_model_view_search |
fleet.vehicle.model.search | fleet.vehicle.model | search | New |
fleet_vehicle_model_view_tree |
fleet.vehicle.model.tree | fleet.vehicle.model | tree | New |
fleet_vehicle_odometer_view_form |
fleet.vehicle.odometer.form | fleet.vehicle.odometer | form | New |
fleet_vehicle_odometer_view_graph |
fleet.vehicle.odometer.graph | fleet.vehicle.odometer | graph | New |
fleet_vehicle_odometer_view_kanban |
fleet.vehicle.odometer.kanban | fleet.vehicle.odometer | kanban | New |
fleet_vehicle_odometer_view_search |
fleet.vehicle.odometer.search | fleet.vehicle.odometer | search | New |
fleet_vehicle_odometer_view_tree |
fleet.vehicle.odometer.tree | fleet.vehicle.odometer | tree | New |
fleet_vehicle_service_types_view_search |
fleet.service.type | search | New | |
fleet_vehicle_service_types_view_tree |
fleet.service.type.tree | fleet.service.type | tree | New |
fleet_vehicle_state_view_tree |
fleet.vehicle.state.tree | fleet.vehicle.state | tree | New |
fleet_vehicle_tag_view_view_form |
fleet.vehicle.tag.form | fleet.vehicle.tag | form | New |
fleet_vehicle_tag_view_view_tree |
fleet.vehicle.tag.tree | fleet.vehicle.tag | tree | New |
fleet_vehicle_view_activity |
fleet.vehicle.activity | fleet.vehicle | activity | New |
fleet_vehicle_view_form |
fleet.vehicle.form | fleet.vehicle | form | New |
fleet_vehicle_view_kanban |
fleet.vehicle.kanban | fleet.vehicle | kanban | New |
fleet_vehicle_view_pivot |
fleet.vehicle | pivot | New | |
fleet_vehicle_view_search |
fleet.vehicle.search | fleet.vehicle | search | New |
fleet_vehicle_view_tree |
fleet.vehicle.tree | fleet.vehicle | tree | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.hr.fleet | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
category
Selection
help='Choose whether the service refer to contracts, vehicle services or both'
required=True
args: [('contract', 'Contract'), ('service', 'Service')], 'Category'
name
Char
required=True
translate=True
No public methods.
acquisition_date
Date
default=fields.Date.today
help='Date of vehicle registration'
required=False
args: 'Registration Date'
active
Boolean
default=True
tracking=True
args: 'Active'
brand_id
Many2one → fleet.vehicle.model.brand
readonly=False
related='model_id.brand_id'
store=True
args: 'fleet.vehicle.model.brand', 'Brand'
car_value
Float
string='Catalog Value (VAT Incl.)'
category_id
Many2one → fleet.vehicle.model.category
compute='_compute_model_fields'
readonly=False
store=True
args: 'fleet.vehicle.model.category', 'Category'
co2
Float
compute='_compute_model_fields'
group_operator=None
help='CO2 emissions of the vehicle'
readonly=False
store=True
tracking=True
args: 'CO2 Emissions'
co2_standard
Char
compute='_compute_model_fields'
readonly=False
store=True
args: 'CO2 Standard'
color
Char
compute='_compute_model_fields'
help='Color of the vehicle'
readonly=False
store=True
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
contract_count
Integer
compute='_compute_count_all'
string='Contract Count'
contract_renewal_due_soon
Boolean
compute='_compute_contract_reminder'
search='_search_contract_renewal_due_soon'
string='Has Contracts to renew'
contract_renewal_name
Text
compute='_compute_contract_reminder'
string='Name of contract to renew soon'
contract_renewal_overdue
Boolean
compute='_compute_contract_reminder'
search='_search_get_overdue_contract_reminder'
string='Has Contracts Overdue'
contract_renewal_total
Text
compute='_compute_contract_reminder'
string='Total of contracts due or overdue minus one'
contract_state
Selection
compute='_compute_contract_reminder'
required=False
string='Last Contract State'
args: [('futur', 'Incoming'), ('open', 'In Progress'), ('expired', 'Expired'), ('closed', 'Closed')]
country_code
Char
depends=['country_id']
related='country_id.code'
country_id
Many2one → res.country
related='company_id.country_id'
args: 'res.country'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
description
Html
doors
Integer
compute='_compute_model_fields'
help='Number of doors of the vehicle'
readonly=False
store=True
args: 'Doors Number'
driver_id
Many2one → res.partner
copy=False
help='Driver address of the vehicle'
tracking=True
args: 'res.partner', 'Driver'
electric_assistance
Boolean
compute='_compute_model_fields'
readonly=False
store=True
first_contract_date
Date
default=fields.Date.today
string='First Contract Date'
frame_size
Float
frame_type
Selection
string='Bike Frame Type'
args: [('diamant', 'Diamant'), ('trapez', 'Trapez'), ('wave', 'Wave')]
fuel_type
Selection
compute='_compute_model_fields'
readonly=False
store=True
args: FUEL_TYPES, 'Fuel Type'
future_driver_id
Many2one → res.partner
check_company=True
copy=False
help='Next Driver Address of the vehicle'
tracking=True
args: 'res.partner', 'Future Driver'
history_count
Integer
compute='_compute_count_all'
string='Drivers History Count'
horsepower
Integer
compute='_compute_model_fields'
readonly=False
store=True
horsepower_tax
Float
compute='_compute_model_fields'
readonly=False
store=True
args: 'Horsepower Taxation'
image_128
Image
readonly=True
related='model_id.image_128'
license_plate
Char
help='License plate number of the vehicle (i = plate number for a car)'
tracking=True
location
Char
help='Location of the vehicle (garage, ...)'
log_contracts
One2many → fleet.vehicle.log.contract
log_drivers
One2many → fleet.vehicle.assignation.log
string='Assignment Logs'
args: 'fleet.vehicle.assignation.log', 'vehicle_id'
log_services
One2many → fleet.vehicle.log.services
manager_id
Many2one → res.users
domain=<expr>
args: 'res.users', 'Fleet Manager'
model_id
Many2one → fleet.vehicle.model
required=True
tracking=True
args: 'fleet.vehicle.model', 'Model'
model_year
Char
compute='_compute_model_fields'
help='Year of the model'
readonly=False
store=True
args: 'Model Year'
name
Char
compute='_compute_vehicle_name'
store=True
net_car_value
Float
string='Purchase Value'
next_assignation_date
Date
help='This is the date at which the car will be available, if not set it means available instantly'
args: 'Assignment Date'
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Last Odometer'
odometer_count
Integer
compute='_compute_count_all'
string='Odometer'
odometer_unit
Selection
default='kilometers'
required=True
args: [('kilometers', 'km'), ('miles', 'mi')], 'Odometer Unit'
order_date
Date
plan_to_change_bike
Boolean
readonly=False
related='driver_id.plan_to_change_bike'
store=True
plan_to_change_car
Boolean
readonly=False
related='driver_id.plan_to_change_car'
store=True
power
Integer
compute='_compute_model_fields'
help='Power in kW of the vehicle'
readonly=False
store=True
args: 'Power'
residual_value
Float
seats
Integer
compute='_compute_model_fields'
help='Number of seats of the vehicle'
readonly=False
store=True
args: 'Seats Number'
service_activity
Selection
compute='_compute_service_activity'
args: [('none', 'None'), ('overdue', 'Overdue'), ('today', 'Today')]
service_count
Integer
compute='_compute_count_all'
string='Services'
state_id
Many2one → fleet.vehicle.state
default=_get_default_state
group_expand='_read_group_stage_ids'
help='Current state of the vehicle'
ondelete='set null'
tracking=True
args: 'fleet.vehicle.state', 'State'
tag_ids
Many2many → fleet.vehicle.tag
copy=False
args: 'fleet.vehicle.tag', 'fleet_vehicle_vehicle_tag_rel', 'vehicle_tag_id', 'tag_id', 'Tags'
trailer_hook
Boolean
compute='_compute_model_fields'
default=False
readonly=False
store=True
string='Trailer Hitch'
transmission
Selection
compute='_compute_model_fields'
readonly=False
store=True
args: [('manual', 'Manual'), ('automatic', 'Automatic')], 'Transmission'
vehicle_properties
Properties
copy=True
definition='model_id.vehicle_properties_definition'
args: 'Properties'
vehicle_type
Selection
related='model_id.vehicle_type'
vin_sn
Char
copy=False
help='Unique number written on the vehicle motor (VIN/SN number)'
args: 'Chassis Number'
write_off_date
Date
help="Date when the vehicle's license plate has been cancelled/removed."
tracking=True
args: 'Cancellation Date'
act_show_log_cost(self)
action_accept_driver_change(self)
create(self, vals_list)
create_driver_history(self, vals)
open_assignation_logs(self)
return_action_to_open(self)
write(self, vals)
date_end
Date
string='End Date'
date_start
Date
string='Start Date'
driver_id
Many2one → res.partner
required=True
string='Driver'
args: 'res.partner'
vehicle_id
Many2one → fleet.vehicle
required=True
string='Vehicle'
args: 'fleet.vehicle'
No public methods.
company_id
Many2one → res.company
readonly=True
args: 'res.company', 'Company'
cost
Float
readonly=True
args: 'Cost'
cost_type
Selection
readonly=True
selection=[('contract', 'Contract'), ('service', 'Service')]
string='Cost Type'
date_start
Date
readonly=True
args: 'Date'
driver_id
Many2one → res.partner
readonly=True
args: 'res.partner', 'Driver'
fuel_type
Char
readonly=True
args: 'Fuel'
name
Char
readonly=True
args: 'Vehicle Name'
vehicle_id
Many2one → fleet.vehicle
readonly=True
args: 'fleet.vehicle', 'Vehicle'
vehicle_type
Selection
readonly=True
args: [('car', 'Car'), ('bike', 'Bike')]
init(self)
active
Boolean
default=True
amount
Monetary
tracking=True
args: 'Cost'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
cost_frequency
Selection
default='monthly'
required=True
args: [('no', 'No'), ('daily', 'Daily'), ('weekly', 'Weekly'), ('monthly', 'Monthly'), ('yearly', 'Yearly')], 'Recurring Cost Frequency'
cost_generated
Monetary
tracking=True
args: 'Recurring Cost'
cost_subtype_id
Many2one → fleet.service.type
domain=[('category', '=', 'contract')]
help='Cost type purchased with this cost'
args: 'fleet.service.type', 'Type'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
date
Date
help='Date when the cost has been executed'
days_left
Integer
compute='_compute_days_left'
string='Warning Date'
expiration_date
Date
default=<expr>
help='Date when the coverage of the contract expirates (by default, one year after begin date)'
args: 'Contract Expiration Date'
expires_today
Boolean
compute='_compute_days_left'
ins_ref
Char
copy=False
size=64
args: 'Reference'
insurer_id
Many2one → res.partner
name
Char
compute='_compute_contract_name'
readonly=False
store=True
string='Name'
notes
Html
copy=False
args: 'Terms and Conditions'
purchaser_id
Many2one
related='vehicle_id.driver_id'
string='Driver'
service_ids
Many2many → fleet.service.type
string='Included Services'
args: 'fleet.service.type'
start_date
Date
default=fields.Date.context_today
help='Date when the coverage of the contract begins'
args: 'Contract Start Date'
state
Selection
copy=False
default='open'
help='Choose whether the contract is still valid or not'
readonly=True
tracking=True
args: [('futur', 'Incoming'), ('open', 'In Progress'), ('expired', 'Expired'), ('closed', 'Closed')], 'Status'
user_id
Many2one → res.users
default=<expr>
index=True
args: 'res.users', 'Responsible'
vehicle_id
Many2one → fleet.vehicle
check_company=True
required=True
args: 'fleet.vehicle', 'Vehicle'
action_close(self)
action_draft(self)
action_expire(self)
action_open(self)
compute_next_year_date(self, strdate)
run_scheduler(self)
scheduler_manage_contract_expiration(self)
write(self, vals)
active
Boolean
default=True
amount
Monetary
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
date
Date
default=fields.Date.context_today
help='Date when the cost has been executed'
description
Char
inv_ref
Char
manager_id
Many2one → res.users
related='vehicle_id.manager_id'
store=True
args: 'res.users', 'Fleet Manager'
notes
Text
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Odometer Value'
odometer_id
Many2one → fleet.vehicle.odometer
help='Odometer measure of the vehicle at the moment of this log'
args: 'fleet.vehicle.odometer', 'Odometer'
odometer_unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
purchaser_id
Many2one → res.partner
compute='_compute_purchaser_id'
readonly=False
store=True
string='Driver'
args: 'res.partner'
service_type_id
Many2one → fleet.service.type
default=<expr>
required=True
args: 'fleet.service.type', 'Service Type'
state
Selection
default='new'
group_expand='_expand_states'
string='Stage'
tracking=True
args: [('new', 'New'), ('running', 'Running'), ('done', 'Done'), ('cancelled', 'Cancelled')]
vehicle_id
Many2one → fleet.vehicle
required=True
args: 'fleet.vehicle', 'Vehicle'
vendor_id
Many2one → res.partner
create(self, vals_list)
active
Boolean
default=True
brand_id
Many2one → fleet.vehicle.model.brand
required=True
args: 'fleet.vehicle.model.brand', 'Manufacturer'
category_id
Many2one → fleet.vehicle.model.category
co2_standard
Char
color
Char
default_co2
Float
default_fuel_type
Selection
default='electric'
args: FUEL_TYPES, 'Fuel Type'
doors
Integer
string='Doors Number'
electric_assistance
Boolean
default=False
horsepower
Integer
horsepower_tax
Float
image_128
Image
readonly=True
related='brand_id.image_128'
model_year
Integer
name
Char
required=True
args: 'Model name'
power
Integer
seats
Integer
string='Seats Number'
trailer_hook
Boolean
default=False
string='Trailer Hitch'
transmission
Selection
vehicle_count
Integer
compute='_compute_vehicle_count'
search='_search_vehicle_count'
vehicle_properties_definition
PropertiesDefinition
vehicle_type
Selection
default='car'
required=True
args: [('car', 'Car'), ('bike', 'Bike')]
vendors
Many2many → res.partner
string='Vendors'
args: 'res.partner', 'fleet_vehicle_model_vendors', 'model_id', 'partner_id'
action_model_vehicle(self)
active
Boolean
default=True
image_128
Image
max_height=128
max_width=128
args: 'Logo'
model_count
Integer
compute='_compute_model_count'
store=True
string=''
model_ids
One2many → fleet.vehicle.model
name
Char
required=True
args: 'Name'
action_brand_model(self)
name
Char
required=True
sequence
Integer
No public methods.
date
Date
default=fields.Date.context_today
driver_id
Many2one
readonly=False
related='vehicle_id.driver_id'
string='Driver'
name
Char
compute='_compute_vehicle_log_name'
store=True
unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
value
Float
group_operator='max'
args: 'Odometer Value'
vehicle_id
Many2one → fleet.vehicle
required=True
args: 'fleet.vehicle', 'Vehicle'
No public methods.
name
Char
required=True
translate=True
sequence
Integer
No public methods.
color
Integer
name
Char
required=True
translate=True
args: 'Tag Name'
No public methods.
No new fields.
Public methods (0)No public methods.
delay_alert_contract
Integer
config_parameter='hr_fleet.delay_alert_contract'
default=30
string='Delay alert contract outdated'
No public methods.
plan_to_change_bike
Boolean
default=False
args: 'Plan To Change Bike'
plan_to_change_car
Boolean
default=False
tracking=True
args: 'Plan To Change Car'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/16.0/fleet |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Human Resources/Fleet |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Thibault Delavallée, Denis Ledoux, Christophe Simonis, Géry Debongnie, Yannick Tivisse, Romain Derie, Romeo Fragomeli, Victor Feyens, Tiffany Chang (tic), Kevin Baptiste, Philippe Wauthy, sofiagvaladze, Florian Damhaut, Yolann Sabaux, Dossogne Bertrand, bve-odoo, Thomas Lefebvre (thle), Louis Wicket (wil), nda, Jurgen (jugj), Bruno Boi, Michael (mcm), stcc-odoo, Brieuc-brd, Leonardo Pavan Rocha, Youssef Bashandy, Martin Trigaux (mat), Yassin Abdelkarim, ampa-odoo |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/app/fleet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:46 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Vehicle, leasing, insurances, cost ================================== With this module, Odoo helps you managing all your vehicles, the contracts associated to those vehicle as well as services, costs and many other features necessary to the management of your fleet of vehicle(s) Main Features ------------- * Add vehicles to your fleet * Manage contracts for vehicles * Reminder when a contract reach its expiration date * Add services, odometer values for all vehicles * Show all costs associated to a vehicle or to a type of service * Analysis graph for costs |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fleet_costs_report_view_graph |
fleet.vehicle.cost.view.graph | fleet.vehicle.cost.report | graph | New |
fleet_costs_report_view_pivot |
fleet.vehicle.cost.view.pivot | fleet.vehicle.cost.report | pivot | New |
fleet_costs_report_view_search |
fleet.vehicle.cost.view.search | fleet.vehicle.cost.report | search | New |
fleet_vechicle_costs_report_view_tree |
fleet.vehicle.cost.report.view.tree | fleet.vehicle.cost.report | tree | New |
fleet_vehicle_assignation_log_view_list |
fleet.vehicle.assignation.log.view.tree | fleet.vehicle.assignation.log | tree | New |
fleet_vehicle_log_contract_view_activity |
fleet.vehicle.log.contract.activity | fleet.vehicle.log.contract | activity | New |
fleet_vehicle_log_contract_view_form |
fleet.vehicle.log_contract.form | fleet.vehicle.log.contract | form | New |
fleet_vehicle_log_contract_view_graph |
fleet.vehicle.log.contract.graph | fleet.vehicle.log.contract | graph | New |
fleet_vehicle_log_contract_view_kanban |
fleet.vehicle.log.contract.kanban | fleet.vehicle.log.contract | kanban | New |
fleet_vehicle_log_contract_view_pivot |
fleet.vehicle.log.contract | pivot | New | |
fleet_vehicle_log_contract_view_search |
fleet.vehicle.log.contract.search | fleet.vehicle.log.contract | search | New |
fleet_vehicle_log_contract_view_tree |
fleet.vehicle.log.contract.tree | fleet.vehicle.log.contract | tree | New |
fleet_vehicle_log_services_view_activity |
fleet.vehicle.log.services | activity | New | |
fleet_vehicle_log_services_view_form |
fleet.vehicle.log.services.form | fleet.vehicle.log.services | form | New |
fleet_vehicle_log_services_view_graph |
fleet.vehicle.log.services.graph | fleet.vehicle.log.services | graph | New |
fleet_vehicle_log_services_view_kanban |
fleet.vehicle.log.services.kanban | fleet.vehicle.log.services | kanban | New |
fleet_vehicle_log_services_view_pivot |
fleet.vehicle.log.services | pivot | New | |
fleet_vehicle_log_services_view_search |
fleet.vehicle.log.services.search | fleet.vehicle.log.services | search | New |
fleet_vehicle_log_services_view_tree |
fleet.vehicle.log.services.tree | fleet.vehicle.log.services | tree | New |
fleet_vehicle_model_brand_view_form |
fleet.vehicle.model.brand.form | fleet.vehicle.model.brand | form | New |
fleet_vehicle_model_brand_view_kanban |
fleet.vehicle.model.brandkanban | fleet.vehicle.model.brand | kanban | New |
fleet_vehicle_model_brand_view_search |
fleet.vehicle.model.brand.view.search | fleet.vehicle.model.brand | search | New |
fleet_vehicle_model_brand_view_tree |
fleet.vehicle.model.brand.tree | fleet.vehicle.model.brand | tree | New |
fleet_vehicle_model_category_view_form |
fleet.vehicle.model.category.view.form | fleet.vehicle.model.category | form | New |
fleet_vehicle_model_category_view_tree |
fleet.vehicle.model.category.view.tree | fleet.vehicle.model.category | tree | New |
fleet_vehicle_model_view_form |
fleet.vehicle.model.form | fleet.vehicle.model | form | New |
fleet_vehicle_model_view_kanban |
fleet.vehicle.model.kanban | fleet.vehicle.model | kanban | New |
fleet_vehicle_model_view_search |
fleet.vehicle.model.search | fleet.vehicle.model | search | New |
fleet_vehicle_model_view_tree |
fleet.vehicle.model.tree | fleet.vehicle.model | tree | New |
fleet_vehicle_odometer_view_form |
fleet.vehicle.odometer.form | fleet.vehicle.odometer | form | New |
fleet_vehicle_odometer_view_graph |
fleet.vehicle.odometer.graph | fleet.vehicle.odometer | graph | New |
fleet_vehicle_odometer_view_kanban |
fleet.vehicle.odometer.kanban | fleet.vehicle.odometer | kanban | New |
fleet_vehicle_odometer_view_search |
fleet.vehicle.odometer.search | fleet.vehicle.odometer | search | New |
fleet_vehicle_odometer_view_tree |
fleet.vehicle.odometer.tree | fleet.vehicle.odometer | tree | New |
fleet_vehicle_service_types_view_search |
fleet.service.type | search | New | |
fleet_vehicle_service_types_view_tree |
fleet.service.type.tree | fleet.service.type | tree | New |
fleet_vehicle_state_view_tree |
fleet.vehicle.state.tree | fleet.vehicle.state | tree | New |
fleet_vehicle_tag_view_view_form |
fleet.vehicle.tag.form | fleet.vehicle.tag | form | New |
fleet_vehicle_tag_view_view_tree |
fleet.vehicle.tag.tree | fleet.vehicle.tag | tree | New |
fleet_vehicle_view_activity |
fleet.vehicle.activity | fleet.vehicle | activity | New |
fleet_vehicle_view_form |
fleet.vehicle.form | fleet.vehicle | form | New |
fleet_vehicle_view_kanban |
fleet.vehicle.kanban | fleet.vehicle | kanban | New |
fleet_vehicle_view_pivot |
fleet.vehicle | pivot | New | |
fleet_vehicle_view_search |
fleet.vehicle.search | fleet.vehicle | search | New |
fleet_vehicle_view_tree |
fleet.vehicle.tree | fleet.vehicle | tree | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.hr.fleet | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
category
Selection
help='Choose whether the service refer to contracts, vehicle services or both'
required=True
args: [('contract', 'Contract'), ('service', 'Service')], 'Category'
name
Char
required=True
translate=True
No public methods.
acquisition_date
Date
default=fields.Date.today
help='Date of vehicle registration'
required=False
args: 'Registration Date'
active
Boolean
default=True
tracking=True
args: 'Active'
brand_id
Many2one → fleet.vehicle.model.brand
readonly=False
related='model_id.brand_id'
store=True
args: 'fleet.vehicle.model.brand', 'Brand'
car_value
Float
string='Catalog Value (VAT Incl.)'
category_id
Many2one → fleet.vehicle.model.category
compute='_compute_model_fields'
readonly=False
store=True
args: 'fleet.vehicle.model.category', 'Category'
co2
Float
compute='_compute_model_fields'
help='CO2 emissions of the vehicle'
readonly=False
store=True
tracking=True
args: 'CO2 Emissions'
co2_standard
Char
compute='_compute_model_fields'
readonly=False
store=True
args: 'CO2 Standard'
color
Char
compute='_compute_model_fields'
help='Color of the vehicle'
readonly=False
store=True
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
contract_count
Integer
compute='_compute_count_all'
string='Contract Count'
contract_renewal_due_soon
Boolean
compute='_compute_contract_reminder'
search='_search_contract_renewal_due_soon'
string='Has Contracts to renew'
contract_renewal_name
Text
compute='_compute_contract_reminder'
string='Name of contract to renew soon'
contract_renewal_overdue
Boolean
compute='_compute_contract_reminder'
search='_search_get_overdue_contract_reminder'
string='Has Contracts Overdue'
contract_renewal_total
Text
compute='_compute_contract_reminder'
string='Total of contracts due or overdue minus one'
contract_state
Selection
compute='_compute_contract_reminder'
required=False
string='Last Contract State'
args: [('futur', 'Incoming'), ('open', 'In Progress'), ('expired', 'Expired'), ('closed', 'Closed')]
country_code
Char
depends=['country_id']
related='country_id.code'
country_id
Many2one → res.country
related='company_id.country_id'
args: 'res.country'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
description
Html
doors
Integer
compute='_compute_model_fields'
help='Number of doors of the vehicle'
readonly=False
store=True
args: 'Doors Number'
driver_id
Many2one → res.partner
copy=False
help='Driver address of the vehicle'
tracking=True
args: 'res.partner', 'Driver'
electric_assistance
Boolean
compute='_compute_model_fields'
readonly=False
store=True
first_contract_date
Date
default=fields.Date.today
string='First Contract Date'
frame_size
Float
frame_type
Selection
string='Bike Frame Type'
args: [('diamant', 'Diamant'), ('trapez', 'Trapez'), ('wave', 'Wave')]
fuel_type
Selection
compute='_compute_model_fields'
readonly=False
store=True
args: FUEL_TYPES, 'Fuel Type'
future_driver_id
Many2one → res.partner
copy=False
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
help='Next Driver Address of the vehicle'
tracking=True
args: 'res.partner', 'Future Driver'
history_count
Integer
compute='_compute_count_all'
string='Drivers History Count'
horsepower
Integer
compute='_compute_model_fields'
readonly=False
store=True
horsepower_tax
Float
compute='_compute_model_fields'
readonly=False
store=True
args: 'Horsepower Taxation'
image_128
Image
readonly=True
related='model_id.image_128'
license_plate
Char
help='License plate number of the vehicle (i = plate number for a car)'
tracking=True
location
Char
help='Location of the vehicle (garage, ...)'
log_contracts
One2many → fleet.vehicle.log.contract
log_drivers
One2many → fleet.vehicle.assignation.log
string='Assignment Logs'
args: 'fleet.vehicle.assignation.log', 'vehicle_id'
log_services
One2many → fleet.vehicle.log.services
manager_id
Many2one → res.users
domain=<expr>
args: 'res.users', 'Fleet Manager'
model_id
Many2one → fleet.vehicle.model
required=True
tracking=True
args: 'fleet.vehicle.model', 'Model'
model_year
Char
compute='_compute_model_fields'
help='Year of the model'
readonly=False
store=True
args: 'Model Year'
name
Char
compute='_compute_vehicle_name'
store=True
net_car_value
Float
string='Purchase Value'
next_assignation_date
Date
help='This is the date at which the car will be available, if not set it means available instantly'
args: 'Assignment Date'
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Last Odometer'
odometer_count
Integer
compute='_compute_count_all'
string='Odometer'
odometer_unit
Selection
default='kilometers'
required=True
args: [('kilometers', 'km'), ('miles', 'mi')], 'Odometer Unit'
plan_to_change_bike
Boolean
readonly=False
related='driver_id.plan_to_change_bike'
store=True
plan_to_change_car
Boolean
readonly=False
related='driver_id.plan_to_change_car'
store=True
power
Integer
compute='_compute_model_fields'
help='Power in kW of the vehicle'
readonly=False
store=True
args: 'Power'
residual_value
Float
seats
Integer
compute='_compute_model_fields'
help='Number of seats of the vehicle'
readonly=False
store=True
args: 'Seats Number'
service_activity
Selection
compute='_compute_service_activity'
args: [('none', 'None'), ('overdue', 'Overdue'), ('today', 'Today')]
service_count
Integer
compute='_compute_count_all'
string='Services'
state_id
Many2one → fleet.vehicle.state
default=_get_default_state
group_expand='_read_group_stage_ids'
help='Current state of the vehicle'
ondelete='set null'
tracking=True
args: 'fleet.vehicle.state', 'State'
tag_ids
Many2many → fleet.vehicle.tag
copy=False
args: 'fleet.vehicle.tag', 'fleet_vehicle_vehicle_tag_rel', 'vehicle_tag_id', 'tag_id', 'Tags'
trailer_hook
Boolean
compute='_compute_model_fields'
default=False
readonly=False
store=True
string='Trailer Hitch'
transmission
Selection
compute='_compute_model_fields'
readonly=False
store=True
args: [('manual', 'Manual'), ('automatic', 'Automatic')], 'Transmission'
vehicle_type
Selection
related='model_id.vehicle_type'
vin_sn
Char
copy=False
help='Unique number written on the vehicle motor (VIN/SN number)'
args: 'Chassis Number'
write_off_date
Date
help="Date when the vehicle's license plate has been cancelled/removed."
tracking=True
args: 'Cancellation Date'
act_show_log_cost(self)
action_accept_driver_change(self)
create(self, vals_list)
create_driver_history(self, vals)
open_assignation_logs(self)
read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True)
return_action_to_open(self)
write(self, vals)
date_end
Date
string='End Date'
date_start
Date
string='Start Date'
driver_id
Many2one → res.partner
required=True
string='Driver'
args: 'res.partner'
vehicle_id
Many2one → fleet.vehicle
required=True
string='Vehicle'
args: 'fleet.vehicle'
No public methods.
company_id
Many2one → res.company
readonly=True
args: 'res.company', 'Company'
cost
Float
readonly=True
args: 'Cost'
cost_type
Selection
readonly=True
selection=[('contract', 'Contract'), ('service', 'Service')]
string='Cost Type'
date_start
Date
readonly=True
args: 'Date'
driver_id
Many2one → res.partner
readonly=True
args: 'res.partner', 'Driver'
fuel_type
Char
readonly=True
args: 'Fuel'
name
Char
readonly=True
args: 'Vehicle Name'
vehicle_id
Many2one → fleet.vehicle
readonly=True
args: 'fleet.vehicle', 'Vehicle'
vehicle_type
Selection
readonly=True
args: [('car', 'Car'), ('bike', 'Bike')]
init(self)
active
Boolean
default=True
amount
Monetary
tracking=True
args: 'Cost'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
cost_frequency
Selection
default='monthly'
required=True
args: [('no', 'No'), ('daily', 'Daily'), ('weekly', 'Weekly'), ('monthly', 'Monthly'), ('yearly', 'Yearly')], 'Recurring Cost Frequency'
cost_generated
Monetary
tracking=True
args: 'Recurring Cost'
cost_subtype_id
Many2one → fleet.service.type
domain=[('category', '=', 'contract')]
help='Cost type purchased with this cost'
args: 'fleet.service.type', 'Type'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
date
Date
help='Date when the cost has been executed'
days_left
Integer
compute='_compute_days_left'
string='Warning Date'
expiration_date
Date
default=<expr>
help='Date when the coverage of the contract expirates (by default, one year after begin date)'
args: 'Contract Expiration Date'
expires_today
Boolean
compute='_compute_days_left'
ins_ref
Char
copy=False
size=64
args: 'Reference'
insurer_id
Many2one → res.partner
name
Char
compute='_compute_contract_name'
readonly=False
store=True
string='Name'
notes
Html
copy=False
args: 'Terms and Conditions'
purchaser_id
Many2one
related='vehicle_id.driver_id'
string='Driver'
service_ids
Many2many → fleet.service.type
string='Included Services'
args: 'fleet.service.type'
start_date
Date
default=fields.Date.context_today
help='Date when the coverage of the contract begins'
args: 'Contract Start Date'
state
Selection
copy=False
default='open'
help='Choose whether the contract is still valid or not'
readonly=True
tracking=True
args: [('futur', 'Incoming'), ('open', 'In Progress'), ('expired', 'Expired'), ('closed', 'Closed')], 'Status'
user_id
Many2one → res.users
default=<expr>
index=True
args: 'res.users', 'Responsible'
vehicle_id
Many2one → fleet.vehicle
check_company=True
required=True
args: 'fleet.vehicle', 'Vehicle'
action_close(self)
action_draft(self)
action_expire(self)
action_open(self)
compute_next_year_date(self, strdate)
run_scheduler(self)
scheduler_manage_contract_expiration(self)
write(self, vals)
active
Boolean
default=True
amount
Monetary
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
date
Date
default=fields.Date.context_today
help='Date when the cost has been executed'
description
Char
inv_ref
Char
manager_id
Many2one → res.users
related='vehicle_id.manager_id'
store=True
args: 'res.users', 'Fleet Manager'
notes
Text
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Odometer Value'
odometer_id
Many2one → fleet.vehicle.odometer
help='Odometer measure of the vehicle at the moment of this log'
args: 'fleet.vehicle.odometer', 'Odometer'
odometer_unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
purchaser_id
Many2one → res.partner
compute='_compute_purchaser_id'
readonly=False
store=True
string='Driver'
args: 'res.partner'
service_type_id
Many2one → fleet.service.type
default=<expr>
required=True
args: 'fleet.service.type', 'Service Type'
state
Selection
default='new'
group_expand='_expand_states'
string='Stage'
args: [('new', 'New'), ('running', 'Running'), ('done', 'Done'), ('cancelled', 'Cancelled')]
vehicle_id
Many2one → fleet.vehicle
required=True
args: 'fleet.vehicle', 'Vehicle'
vendor_id
Many2one → res.partner
create(self, vals_list)
active
Boolean
default=True
brand_id
Many2one → fleet.vehicle.model.brand
required=True
args: 'fleet.vehicle.model.brand', 'Manufacturer'
category_id
Many2one → fleet.vehicle.model.category
co2_standard
Char
color
Char
default_co2
Float
default_fuel_type
Selection
default='electric'
args: FUEL_TYPES, 'Fuel Type'
doors
Integer
string='Doors Number'
electric_assistance
Boolean
default=False
horsepower
Integer
horsepower_tax
Float
image_128
Image
readonly=True
related='brand_id.image_128'
model_year
Integer
name
Char
required=True
args: 'Model name'
power
Integer
seats
Integer
string='Seats Number'
trailer_hook
Boolean
default=False
string='Trailer Hitch'
transmission
Selection
vehicle_count
Integer
compute='_compute_vehicle_count'
vehicle_type
Selection
default='car'
required=True
args: [('car', 'Car'), ('bike', 'Bike')]
vendors
Many2many → res.partner
string='Vendors'
args: 'res.partner', 'fleet_vehicle_model_vendors', 'model_id', 'partner_id'
action_model_vehicle(self)
name_get(self)
image_128
Image
max_height=128
max_width=128
args: 'Logo'
model_count
Integer
compute='_compute_model_count'
store=True
string=''
model_ids
One2many → fleet.vehicle.model
name
Char
required=True
args: 'Name'
action_brand_model(self)
name
Char
required=True
sequence
Integer
No public methods.
date
Date
default=fields.Date.context_today
driver_id
Many2one
readonly=False
related='vehicle_id.driver_id'
string='Driver'
name
Char
compute='_compute_vehicle_log_name'
store=True
unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
value
Float
group_operator='max'
args: 'Odometer Value'
vehicle_id
Many2one → fleet.vehicle
required=True
args: 'fleet.vehicle', 'Vehicle'
No public methods.
name
Char
required=True
translate=True
sequence
Integer
No public methods.
color
Integer
name
Char
required=True
translate=True
args: 'Tag Name'
No public methods.
delay_alert_contract
Integer
config_parameter='hr_fleet.delay_alert_contract'
default=30
string='Delay alert contract outdated'
No public methods.
plan_to_change_bike
Boolean
default=False
args: 'Plan To Change Bike'
plan_to_change_car
Boolean
default=False
args: 'Plan To Change Car'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/15.0/fleet |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Human Resources/Fleet |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Christophe Simonis, Goffin Simon, Nicolas Lempereur, GitHub, Barad Mahendra, Yannick Tivisse, wan, Xavier-Do, Julien Mougenot, Adrien Widart, Prakash Prajapati, Kamesh Patel, nie, IEL, Mathieu Duckerts-Antoine, William Braeckman, Kevin Baptiste, Florian Damhaut, Yolann Sabaux, Michael Mattiello (mcm), dht-odoo, niyasraphy, bve-odoo, Urvi Soni, nda, Munaf Khan, Jurgen (jugj), Kairis, Leonardo Pavan Rocha, sahista pathan |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/app/fleet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:25:26 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Vehicle, leasing, insurances, cost ================================== With this module, Odoo helps you managing all your vehicles, the contracts associated to those vehicle as well as services, costs and many other features necessary to the management of your fleet of vehicle(s) Main Features ------------- * Add vehicles to your fleet * Manage contracts for vehicles * Reminder when a contract reach its expiration date * Add services, odometer values for all vehicles * Show all costs associated to a vehicle or to a type of service * Analysis graph for costs |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fleet_costs_report_view_graph |
fleet.vehicle.cost.view.graph | fleet.vehicle.cost.report | graph | New |
fleet_costs_report_view_pivot |
fleet.vehicle.cost.view.pivot | fleet.vehicle.cost.report | pivot | New |
fleet_costs_report_view_search |
fleet.vehicle.cost.view.search | fleet.vehicle.cost.report | search | New |
fleet_vechicle_costs_report_view_tree |
fleet.vehicle.cost.report.view.tree | fleet.vehicle.cost.report | tree | New |
fleet_vehicle_assignation_log_view_list |
fleet.vehicle.assignation.log.view.tree | fleet.vehicle.assignation.log | tree | New |
fleet_vehicle_log_contract_view_activity |
fleet.vehicle.log.contract.activity | fleet.vehicle.log.contract | activity | New |
fleet_vehicle_log_contract_view_form |
fleet.vehicle.log_contract.form | fleet.vehicle.log.contract | form | New |
fleet_vehicle_log_contract_view_graph |
fleet.vehicle.log.contract.graph | fleet.vehicle.log.contract | graph | New |
fleet_vehicle_log_contract_view_kanban |
fleet.vehicle.log.contract.kanban | fleet.vehicle.log.contract | kanban | New |
fleet_vehicle_log_contract_view_pivot |
fleet.vehicle.log.contract | pivot | New | |
fleet_vehicle_log_contract_view_search |
fleet.vehicle.log.contract.search | fleet.vehicle.log.contract | search | New |
fleet_vehicle_log_contract_view_tree |
fleet.vehicle.log.contract.tree | fleet.vehicle.log.contract | tree | New |
fleet_vehicle_log_services_view_form |
fleet.vehicle.log.services.form | fleet.vehicle.log.services | form | New |
fleet_vehicle_log_services_view_graph |
fleet.vehicle.log.services.graph | fleet.vehicle.log.services | graph | New |
fleet_vehicle_log_services_view_kanban |
fleet.vehicle.log.services.kanban | fleet.vehicle.log.services | kanban | New |
fleet_vehicle_log_services_view_pivot |
fleet.vehicle.log.services | pivot | New | |
fleet_vehicle_log_services_view_search |
fleet.vehicle.log.services.search | fleet.vehicle.log.services | search | New |
fleet_vehicle_log_services_view_tree |
fleet.vehicle.log.services.tree | fleet.vehicle.log.services | tree | New |
fleet_vehicle_model_brand_view_form |
fleet.vehicle.model.brand.form | fleet.vehicle.model.brand | form | New |
fleet_vehicle_model_brand_view_kanban |
fleet.vehicle.model.brandkanban | fleet.vehicle.model.brand | kanban | New |
fleet_vehicle_model_brand_view_search |
fleet.vehicle.model.brand.view.search | fleet.vehicle.model.brand | search | New |
fleet_vehicle_model_brand_view_tree |
fleet.vehicle.model.brand.tree | fleet.vehicle.model.brand | tree | New |
fleet_vehicle_model_category_view_form |
fleet.vehicle.model.category.view.form | fleet.vehicle.model.category | form | New |
fleet_vehicle_model_category_view_tree |
fleet.vehicle.model.category.view.tree | fleet.vehicle.model.category | tree | New |
fleet_vehicle_model_view_form |
fleet.vehicle.model.form | fleet.vehicle.model | form | New |
fleet_vehicle_model_view_kanban |
fleet.vehicle.model.kanban | fleet.vehicle.model | kanban | New |
fleet_vehicle_model_view_search |
fleet.vehicle.model.search | fleet.vehicle.model | search | New |
fleet_vehicle_model_view_tree |
fleet.vehicle.model.tree | fleet.vehicle.model | tree | New |
fleet_vehicle_odometer_view_form |
fleet.vehicle.odometer.form | fleet.vehicle.odometer | form | New |
fleet_vehicle_odometer_view_graph |
fleet.vehicle.odometer.graph | fleet.vehicle.odometer | graph | New |
fleet_vehicle_odometer_view_kanban |
fleet.vehicle.odometer.kanban | fleet.vehicle.odometer | kanban | New |
fleet_vehicle_odometer_view_search |
fleet.vehicle.odometer.search | fleet.vehicle.odometer | search | New |
fleet_vehicle_odometer_view_tree |
fleet.vehicle.odometer.tree | fleet.vehicle.odometer | tree | New |
fleet_vehicle_service_types_view_tree |
fleet.service.type.tree | fleet.service.type | tree | New |
fleet_vehicle_state_view_tree |
fleet.vehicle.state.tree | fleet.vehicle.state | tree | New |
fleet_vehicle_tag_view_view_form |
fleet.vehicle.tag.form | fleet.vehicle.tag | form | New |
fleet_vehicle_tag_view_view_tree |
fleet.vehicle.tag.tree | fleet.vehicle.tag | tree | New |
fleet_vehicle_view_activity |
fleet.vehicle.activity | fleet.vehicle | activity | New |
fleet_vehicle_view_form |
fleet.vehicle.form | fleet.vehicle | form | New |
fleet_vehicle_view_kanban |
fleet.vehicle.kanban | fleet.vehicle | kanban | New |
fleet_vehicle_view_pivot |
fleet.vehicle | pivot | New | |
fleet_vehicle_view_search |
fleet.vehicle.search | fleet.vehicle | search | New |
fleet_vehicle_view_tree |
fleet.vehicle.tree | fleet.vehicle | tree | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.hr.fleet | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
category
Selection
help='Choose whether the service refer to contracts, vehicle services or both'
required=True
args: [('contract', 'Contract'), ('service', 'Service')], 'Category'
name
Char
required=True
translate=True
No public methods.
acquisition_date
Date
default=fields.Date.today
help='Date when the vehicle has been immatriculated'
required=False
args: 'Immatriculation Date'
active
Boolean
default=True
tracking=True
args: 'Active'
brand_id
Many2one → fleet.vehicle.model.brand
readonly=False
related='model_id.brand_id'
store=True
args: 'fleet.vehicle.model.brand', 'Brand'
car_value
Float
help='Value of the bought vehicle'
string='Catalog Value (VAT Incl.)'
co2
Float
compute='_compute_model_fields'
help='CO2 emissions of the vehicle'
readonly=False
store=True
args: 'CO2 Emissions'
co2_standard
Char
compute='_compute_model_fields'
readonly=False
store=True
args: 'CO2 Standard'
color
Char
compute='_compute_model_fields'
help='Color of the vehicle'
readonly=False
store=True
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
contract_count
Integer
compute='_compute_count_all'
string='Contract Count'
contract_renewal_due_soon
Boolean
compute='_compute_contract_reminder'
search='_search_contract_renewal_due_soon'
string='Has Contracts to renew'
contract_renewal_name
Text
compute='_compute_contract_reminder'
string='Name of contract to renew soon'
contract_renewal_overdue
Boolean
compute='_compute_contract_reminder'
search='_search_get_overdue_contract_reminder'
string='Has Contracts Overdue'
contract_renewal_total
Text
compute='_compute_contract_reminder'
string='Total of contracts due or overdue minus one'
contract_state
Selection
compute='_compute_contract_reminder'
required=False
string='Last Contract State'
args: [('futur', 'Incoming'), ('open', 'In Progress'), ('expired', 'Expired'), ('closed', 'Closed')]
country_code
Char
related='country_id.code'
country_id
Many2one → res.country
related='company_id.country_id'
args: 'res.country'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
description
Html
help='Add a note about this vehicle'
args: 'Vehicle Description'
doors
Integer
compute='_compute_model_fields'
help='Number of doors of the vehicle'
readonly=False
store=True
args: 'Doors Number'
driver_id
Many2one → res.partner
copy=False
help='Driver address of the vehicle'
tracking=True
args: 'res.partner', 'Driver'
electric_assistance
Boolean
compute='_compute_model_fields'
readonly=False
store=True
first_contract_date
Date
default=fields.Date.today
string='First Contract Date'
frame_size
Float
frame_type
Selection
help='Frame type of the bike'
args: [('diamant', 'Diamant'), ('trapez', 'Trapez'), ('wave', 'Wave')]
fuel_type
Selection
compute='_compute_model_fields'
help='Fuel Used by the vehicle'
readonly=False
store=True
args: FUEL_TYPES, 'Fuel Type'
future_driver_id
Many2one → res.partner
copy=False
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
help='Next Driver Address of the vehicle'
tracking=True
args: 'res.partner', 'Future Driver'
history_count
Integer
compute='_compute_count_all'
string='Drivers History Count'
horsepower
Integer
compute='_compute_model_fields'
readonly=False
store=True
horsepower_tax
Float
compute='_compute_model_fields'
readonly=False
store=True
args: 'Horsepower Taxation'
image_128
Image
readonly=True
related='model_id.image_128'
license_plate
Char
help='License plate number of the vehicle (i = plate number for a car)'
tracking=True
location
Char
help='Location of the vehicle (garage, ...)'
log_contracts
One2many → fleet.vehicle.log.contract
log_drivers
One2many → fleet.vehicle.assignation.log
string='Assignment Logs'
args: 'fleet.vehicle.assignation.log', 'vehicle_id'
log_services
One2many → fleet.vehicle.log.services
manager_id
Many2one → res.users
domain=<expr>
args: 'res.users', 'Fleet Manager'
model_id
Many2one → fleet.vehicle.model
help='Model of the vehicle'
required=True
tracking=True
args: 'fleet.vehicle.model', 'Model'
model_year
Char
compute='_compute_model_fields'
help='Year of the model'
readonly=False
store=True
args: 'Model Year'
name
Char
compute='_compute_vehicle_name'
store=True
net_car_value
Float
help='Purchase value of the vehicle'
string='Purchase Value'
next_assignation_date
Date
help='This is the date at which the car will be available, if not set it means available instantly'
args: 'Assignment Date'
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Last Odometer'
odometer_count
Integer
compute='_compute_count_all'
string='Odometer'
odometer_unit
Selection
default='kilometers'
help='Unit of the odometer '
required=True
args: [('kilometers', 'km'), ('miles', 'mi')], 'Odometer Unit'
plan_to_change_bike
Boolean
readonly=False
related='driver_id.plan_to_change_bike'
store=True
plan_to_change_car
Boolean
readonly=False
related='driver_id.plan_to_change_car'
store=True
power
Integer
compute='_compute_model_fields'
help='Power in kW of the vehicle'
readonly=False
store=True
args: 'Power'
residual_value
Float
seats
Integer
compute='_compute_model_fields'
help='Number of seats of the vehicle'
readonly=False
store=True
args: 'Seats Number'
service_count
Integer
compute='_compute_count_all'
string='Services'
state_id
Many2one → fleet.vehicle.state
default=_get_default_state
group_expand='_read_group_stage_ids'
help='Current state of the vehicle'
ondelete='set null'
tracking=True
args: 'fleet.vehicle.state', 'State'
tag_ids
Many2many → fleet.vehicle.tag
copy=False
args: 'fleet.vehicle.tag', 'fleet_vehicle_vehicle_tag_rel', 'vehicle_tag_id', 'tag_id', 'Tags'
trailer_hook
Boolean
compute='_compute_model_fields'
default=False
readonly=False
store=True
string='Trailer Hitch'
transmission
Selection
compute='_compute_model_fields'
help='Transmission Used by the vehicle'
readonly=False
store=True
args: [('manual', 'Manual'), ('automatic', 'Automatic')], 'Transmission'
vehicle_type
Selection
related='model_id.vehicle_type'
vin_sn
Char
copy=False
help='Unique number written on the vehicle motor (VIN/SN number)'
args: 'Chassis Number'
act_show_log_cost(self)
action_accept_driver_change(self)
create(self, vals)
create_driver_history(self, vals)
open_assignation_logs(self)
read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True)
return_action_to_open(self)
write(self, vals)
date_end
Date
string='End Date'
date_start
Date
string='Start Date'
driver_id
Many2one → res.partner
required=True
string='Driver'
args: 'res.partner'
vehicle_id
Many2one → fleet.vehicle
required=True
string='Vehicle'
args: 'fleet.vehicle'
No public methods.
company_id
Many2one → res.company
readonly=True
args: 'res.company', 'Company'
cost
Float
readonly=True
args: 'Cost'
cost_type
Selection
readonly=True
selection=[('contract', 'Contract'), ('service', 'Service')]
string='Cost Type'
date_start
Date
readonly=True
args: 'Date'
driver_id
Many2one → res.partner
readonly=True
args: 'res.partner', 'Driver'
fuel_type
Char
readonly=True
args: 'Fuel'
name
Char
readonly=True
args: 'Vehicle Name'
vehicle_id
Many2one → fleet.vehicle
readonly=True
args: 'fleet.vehicle', 'Vehicle'
vehicle_type
Selection
readonly=True
args: [('car', 'Car'), ('bike', 'Bike')]
init(self)
active
Boolean
default=True
amount
Monetary
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
cost_frequency
Selection
default='monthly'
help='Frequency of the recuring cost'
required=True
args: [('no', 'No'), ('daily', 'Daily'), ('weekly', 'Weekly'), ('monthly', 'Monthly'), ('yearly', 'Yearly')], 'Recurring Cost Frequency'
cost_generated
Monetary
cost_subtype_id
Many2one → fleet.service.type
domain=[('category', '=', 'contract')]
help='Cost type purchased with this cost'
args: 'fleet.service.type', 'Type'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
date
Date
help='Date when the cost has been executed'
days_left
Integer
compute='_compute_days_left'
string='Warning Date'
expiration_date
Date
default=<expr>
help='Date when the coverage of the contract expirates (by default, one year after begin date)'
args: 'Contract Expiration Date'
ins_ref
Char
copy=False
size=64
args: 'Reference'
insurer_id
Many2one → res.partner
name
Char
compute='_compute_contract_name'
store=True
string='Name'
notes
Html
copy=False
help='Write here all supplementary information relative to this contract'
args: 'Terms and Conditions'
purchaser_id
Many2one
related='vehicle_id.driver_id'
string='Driver'
service_ids
Many2many → fleet.service.type
string='Included Services'
args: 'fleet.service.type'
start_date
Date
default=fields.Date.context_today
help='Date when the coverage of the contract begins'
args: 'Contract Start Date'
state
Selection
copy=False
default='open'
help='Choose whether the contract is still valid or not'
readonly=True
tracking=True
args: [('futur', 'Incoming'), ('open', 'In Progress'), ('expired', 'Expired'), ('closed', 'Closed')], 'Status'
user_id
Many2one → res.users
default=<expr>
index=True
args: 'res.users', 'Responsible'
vehicle_id
Many2one → fleet.vehicle
check_company=True
help='Vehicle concerned by this log'
required=True
args: 'fleet.vehicle', 'Vehicle'
action_close(self)
action_draft(self)
action_expire(self)
action_open(self)
compute_next_year_date(self, strdate)
run_scheduler(self)
scheduler_manage_contract_expiration(self)
write(self, vals)
active
Boolean
default=True
amount
Monetary
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
date
Date
default=fields.Date.context_today
help='Date when the cost has been executed'
description
Char
inv_ref
Char
notes
Text
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Odometer Value'
odometer_id
Many2one → fleet.vehicle.odometer
help='Odometer measure of the vehicle at the moment of this log'
args: 'fleet.vehicle.odometer', 'Odometer'
odometer_unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
purchaser_id
Many2one → res.partner
compute='_compute_purchaser_id'
readonly=False
store=True
string='Driver'
args: 'res.partner'
service_type_id
Many2one → fleet.service.type
default=<expr>
required=True
args: 'fleet.service.type', 'Service Type'
state
Selection
default='new'
group_expand='_expand_states'
string='Stage'
args: [('new', 'New'), ('running', 'Running'), ('done', 'Done'), ('cancelled', 'Cancelled')]
vehicle_id
Many2one → fleet.vehicle
help='Vehicle concerned by this log'
required=True
args: 'fleet.vehicle', 'Vehicle'
vendor_id
Many2one → res.partner
create(self, vals_list)
active
Boolean
default=True
brand_id
Many2one → fleet.vehicle.model.brand
help='Manufacturer of the vehicle'
required=True
args: 'fleet.vehicle.model.brand', 'Manufacturer'
category_id
Many2one → fleet.vehicle.model.category
co2_standard
Char
color
Char
default_co2
Float
default_fuel_type
Selection
default='electric'
args: FUEL_TYPES, 'Fuel Type'
doors
Integer
string='Doors Number'
electric_assistance
Boolean
default=False
horsepower
Integer
horsepower_tax
Float
image_128
Image
readonly=True
related='brand_id.image_128'
model_year
Integer
name
Char
required=True
args: 'Model name'
power
Integer
seats
Integer
string='Seats Number'
trailer_hook
Boolean
default=False
string='Trailer Hitch'
transmission
Selection
help='Transmission Used by the vehicle'
args: [('manual', 'Manual'), ('automatic', 'Automatic')], 'Transmission'
vehicle_count
Integer
compute='_compute_vehicle_count'
vehicle_type
Selection
default='car'
required=True
args: [('car', 'Car'), ('bike', 'Bike')]
vendors
Many2many → res.partner
string='Vendors'
args: 'res.partner', 'fleet_vehicle_model_vendors', 'model_id', 'partner_id'
action_model_vehicle(self)
name_get(self)
image_128
Image
max_height=128
max_width=128
args: 'Logo'
model_count
Integer
compute='_compute_model_count'
store=True
string=''
model_ids
One2many → fleet.vehicle.model
name
Char
required=True
args: 'Make'
action_brand_model(self)
name
Char
required=True
sequence
Integer
No public methods.
date
Date
default=fields.Date.context_today
driver_id
Many2one
readonly=False
related='vehicle_id.driver_id'
string='Driver'
name
Char
compute='_compute_vehicle_log_name'
store=True
unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
value
Float
group_operator='max'
args: 'Odometer Value'
vehicle_id
Many2one → fleet.vehicle
required=True
args: 'fleet.vehicle', 'Vehicle'
No public methods.
name
Char
required=True
translate=True
sequence
Integer
help='Used to order the note stages'
No public methods.
color
Integer
name
Char
required=True
translate=True
args: 'Tag Name'
No public methods.
delay_alert_contract
Integer
config_parameter='hr_fleet.delay_alert_contract'
default=30
string='Delay alert contract outdated'
No public methods.
plan_to_change_bike
Boolean
default=False
args: 'Plan To Change Bike'
plan_to_change_car
Boolean
default=False
args: 'Plan To Change Car'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/14.0/fleet |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Human Resources/Fleet |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Olivier Dony, Thibault Delavallée, Christophe Simonis, Xavier Morel, Goffin Simon, Nicolas Martinelli, Nicolas Lempereur, Thibault Francois, Aaron Bohy, GitHub, Barad Mahendra, Yannick Tivisse, jev-odoo, Xavier-Do, Victor Feyens, Paul Morelle, Sébastien Theys, Nasreddin (bon), fw-bot, Lucas Lefèvre, Adrien Widart, nie, IEL, Mathieu Duckerts-Antoine, jbm-odoo, Kevin Baptiste, prro-odoo, Florian Damhaut, Urvi Soni, nda |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/fleet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:14:27 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Vehicle, leasing, insurances, cost ================================== With this module, Odoo helps you managing all your vehicles, the contracts associated to those vehicle as well as services, costs and many other features necessary to the management of your fleet of vehicle(s) Main Features ------------- * Add vehicles to your fleet * Manage contracts for vehicles * Reminder when a contract reach its expiration date * Add services, odometer values for all vehicles * Show all costs associated to a vehicle or to a type of service * Analysis graph for costs |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fleet_costs_report_view_graph |
fleet.vehicle.cost.view.graph | fleet.vehicle.cost.report | graph | New |
fleet_costs_report_view_pivot |
fleet.vehicle.cost.view.pivot | fleet.vehicle.cost.report | pivot | New |
fleet_costs_report_view_search |
fleet.vehicle.cost.view.search | fleet.vehicle.cost.report | search | New |
fleet_vehicle_assignation_log_view_list |
fleet.vehicle.assignation.log.view.tree | fleet.vehicle.assignation.log | tree | New |
fleet_vehicle_log_contract_view_activity |
fleet.vehicle.log.contract.activity | fleet.vehicle.log.contract | activity | New |
fleet_vehicle_log_contract_view_form |
fleet.vehicle.log_contract.form | fleet.vehicle.log.contract | form | New |
fleet_vehicle_log_contract_view_graph |
fleet.vehicle.log.contract.graph | fleet.vehicle.log.contract | graph | New |
fleet_vehicle_log_contract_view_kanban |
fleet.vehicle.log.contract.kanban | fleet.vehicle.log.contract | kanban | New |
fleet_vehicle_log_contract_view_search |
fleet.vehicle.log.contract.search | fleet.vehicle.log.contract | search | New |
fleet_vehicle_log_contract_view_tree |
fleet.vehicle.log.contract.tree | fleet.vehicle.log.contract | tree | New |
fleet_vehicle_log_services_view_form |
fleet.vehicle.log.services.form | fleet.vehicle.log.services | form | New |
fleet_vehicle_log_services_view_graph |
fleet.vehicle.log.services.graph | fleet.vehicle.log.services | graph | New |
fleet_vehicle_log_services_view_kanban |
fleet.vehicle.log.services.kanban | fleet.vehicle.log.services | kanban | New |
fleet_vehicle_log_services_view_search |
fleet.vehicle.log.services.search | fleet.vehicle.log.services | search | New |
fleet_vehicle_log_services_view_tree |
fleet.vehicle.log.services.tree | fleet.vehicle.log.services | tree | New |
fleet_vehicle_model_brand_view_form |
fleet.vehicle.model.brand.form | fleet.vehicle.model.brand | form | New |
fleet_vehicle_model_brand_view_kanban |
fleet.vehicle.model.brandkanban | fleet.vehicle.model.brand | kanban | New |
fleet_vehicle_model_brand_view_tree |
fleet.vehicle.model.brand.tree | fleet.vehicle.model.brand | tree | New |
fleet_vehicle_model_view_form |
fleet.vehicle.model.form | fleet.vehicle.model | form | New |
fleet_vehicle_model_view_kanban |
fleet.vehicle.model.kanban | fleet.vehicle.model | kanban | New |
fleet_vehicle_model_view_search |
fleet.vehicle.model.search | fleet.vehicle.model | search | New |
fleet_vehicle_model_view_tree |
fleet.vehicle.model.tree | fleet.vehicle.model | tree | New |
fleet_vehicle_odometer_view_form |
fleet.vehicle.odometer.form | fleet.vehicle.odometer | form | New |
fleet_vehicle_odometer_view_graph |
fleet.vehicle.odometer.graph | fleet.vehicle.odometer | graph | New |
fleet_vehicle_odometer_view_kanban |
fleet.vehicle.odometer.kanban | fleet.vehicle.odometer | kanban | New |
fleet_vehicle_odometer_view_search |
fleet.vehicle.odometer.search | fleet.vehicle.odometer | search | New |
fleet_vehicle_odometer_view_tree |
fleet.vehicle.odometer.tree | fleet.vehicle.odometer | tree | New |
fleet_vehicle_service_types_view_tree |
fleet.service.type.tree | fleet.service.type | tree | New |
fleet_vehicle_state_view_tree |
fleet.vehicle.state.tree | fleet.vehicle.state | tree | New |
fleet_vehicle_tag_view_view_form |
fleet.vehicle.tag.form | fleet.vehicle.tag | form | New |
fleet_vehicle_tag_view_view_tree |
fleet.vehicle.tag.tree | fleet.vehicle.tag | tree | New |
fleet_vehicle_view_activity |
fleet.vehicle.activity | fleet.vehicle | activity | New |
fleet_vehicle_view_form |
fleet.vehicle.form | fleet.vehicle | form | New |
fleet_vehicle_view_kanban |
fleet.vehicle.kanban | fleet.vehicle | kanban | New |
fleet_vehicle_view_search |
fleet.vehicle.search | fleet.vehicle | search | New |
fleet_vehicle_view_tree |
fleet.vehicle.tree | fleet.vehicle | tree | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.hr.fleet | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
category
Selection
help='Choose whether the service refer to contracts, vehicle services or both'
required=True
args: [('contract', 'Contract'), ('service', 'Service')], 'Category'
name
Char
required=True
translate=True
No public methods.
acquisition_date
Date
default=fields.Date.today
help='Date when the vehicle has been immatriculated'
required=False
args: 'Immatriculation Date'
active
Boolean
default=True
tracking=True
args: 'Active'
brand_id
Many2one → fleet.vehicle.model.brand
readonly=False
related='model_id.brand_id'
store=True
args: 'fleet.vehicle.model.brand', 'Brand'
car_value
Float
help='Value of the bought vehicle'
string='Catalog Value (VAT Incl.)'
co2
Float
help='CO2 emissions of the vehicle'
args: 'CO2 Emissions'
color
Char
help='Color of the vehicle'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
contract_count
Integer
compute='_compute_count_all'
string='Contract Count'
contract_renewal_due_soon
Boolean
compute='_compute_contract_reminder'
search='_search_contract_renewal_due_soon'
string='Has Contracts to renew'
contract_renewal_name
Text
compute='_compute_contract_reminder'
string='Name of contract to renew soon'
contract_renewal_overdue
Boolean
compute='_compute_contract_reminder'
search='_search_get_overdue_contract_reminder'
string='Has Contracts Overdue'
contract_renewal_total
Text
compute='_compute_contract_reminder'
string='Total of contracts due or overdue minus one'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
description
Text
doors
Integer
default=5
help='Number of doors of the vehicle'
args: 'Doors Number'
driver_id
Many2one → res.partner
copy=False
help='Driver of the vehicle'
tracking=True
args: 'res.partner', 'Driver'
first_contract_date
Date
default=fields.Date.today
string='First Contract Date'
fuel_type
Selection
help='Fuel Used by the vehicle'
args: [('gasoline', 'Gasoline'), ('diesel', 'Diesel'), ('lpg', 'LPG'), ('electric', 'Electric'), ('hybrid', 'Hybrid')], 'Fuel Type'
future_driver_id
Many2one → res.partner
copy=False
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
help='Next Driver of the vehicle'
tracking=True
args: 'res.partner', 'Future Driver'
history_count
Integer
compute='_compute_count_all'
string='Drivers History Count'
horsepower
Integer
horsepower_tax
Float
image_128
Image
readonly=True
related='model_id.image_128'
license_plate
Char
help='License plate number of the vehicle (i = plate number for a car)'
tracking=True
location
Char
help='Location of the vehicle (garage, ...)'
log_contracts
One2many → fleet.vehicle.log.contract
log_drivers
One2many → fleet.vehicle.assignation.log
string='Assignment Logs'
args: 'fleet.vehicle.assignation.log', 'vehicle_id'
log_services
One2many → fleet.vehicle.log.services
manager_id
Many2one → res.users
compute='_compute_manager_id'
domain=<expr>
readonly=False
store=True
args: 'res.users'
model_id
Many2one → fleet.vehicle.model
help='Model of the vehicle'
required=True
tracking=True
args: 'fleet.vehicle.model', 'Model'
model_year
Char
help='Year of the model'
args: 'Model Year'
name
Char
compute='_compute_vehicle_name'
store=True
net_car_value
Float
help='Purchase value of the vehicle'
string='Purchase Value'
next_assignation_date
Date
help='This is the date at which the car will be available, if not set it means available instantly'
args: 'Assignment Date'
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Last Odometer'
odometer_count
Integer
compute='_compute_count_all'
string='Odometer'
odometer_unit
Selection
default='kilometers'
help='Unit of the odometer '
required=True
args: [('kilometers', 'km'), ('miles', 'mi')], 'Odometer Unit'
plan_to_change_car
Boolean
readonly=False
related='driver_id.plan_to_change_car'
store=True
power
Integer
help='Power in kW of the vehicle'
args: 'Power'
residual_value
Float
seats
Integer
help='Number of seats of the vehicle'
args: 'Seats Number'
service_count
Integer
compute='_compute_count_all'
string='Services'
state_id
Many2one → fleet.vehicle.state
default=_get_default_state
group_expand='_read_group_stage_ids'
help='Current state of the vehicle'
ondelete='set null'
tracking=True
args: 'fleet.vehicle.state', 'State'
tag_ids
Many2many → fleet.vehicle.tag
copy=False
args: 'fleet.vehicle.tag', 'fleet_vehicle_vehicle_tag_rel', 'vehicle_tag_id', 'tag_id', 'Tags'
transmission
Selection
help='Transmission Used by the vehicle'
args: [('manual', 'Manual'), ('automatic', 'Automatic')], 'Transmission'
vehicle_type
Selection
related='model_id.vehicle_type'
vin_sn
Char
copy=False
help='Unique number written on the vehicle motor (VIN/SN number)'
args: 'Chassis Number'
act_show_log_cost(self)
action_accept_driver_change(self)
create(self, vals)
create_driver_history(self, driver_id)
open_assignation_logs(self)
read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True)
return_action_to_open(self)
write(self, vals)
date_end
Date
string='End Date'
date_start
Date
string='Start Date'
driver_id
Many2one → res.partner
required=True
string='Driver'
args: 'res.partner'
vehicle_id
Many2one → fleet.vehicle
required=True
string='Vehicle'
args: 'fleet.vehicle'
No public methods.
company_id
Many2one → res.company
readonly=True
args: 'res.company', 'Company'
cost
Float
readonly=True
args: 'Cost'
cost_type
Selection
readonly=True
selection=[('contract', 'Contract'), ('service', 'Service')]
string='Cost Type'
date_start
Date
readonly=True
args: 'Date'
driver_id
Many2one → res.partner
readonly=True
args: 'res.partner', 'Driver'
fuel_type
Char
readonly=True
args: 'Fuel'
name
Char
readonly=True
args: 'Vehicle Name'
vehicle_id
Many2one → fleet.vehicle
readonly=True
args: 'fleet.vehicle', 'Vehicle'
init(self)
active
Boolean
default=True
amount
Monetary
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
cost_frequency
Selection
default='monthly'
help='Frequency of the recuring cost'
required=True
args: [('no', 'No'), ('daily', 'Daily'), ('weekly', 'Weekly'), ('monthly', 'Monthly'), ('yearly', 'Yearly')], 'Recurring Cost Frequency'
cost_generated
Monetary
cost_subtype_id
Many2one → fleet.service.type
domain=[('category', '=', 'contract')]
help='Cost type purchased with this cost'
args: 'fleet.service.type', 'Type'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
date
Date
help='Date when the cost has been executed'
days_left
Integer
compute='_compute_days_left'
string='Warning Date'
expiration_date
Date
default=<expr>
help='Date when the coverage of the contract expirates (by default, one year after begin date)'
args: 'Contract Expiration Date'
ins_ref
Char
copy=False
size=64
args: 'Reference'
insurer_id
Many2one → res.partner
name
Char
compute='_compute_contract_name'
store=True
string='Name'
notes
Text
copy=False
help='Write here all supplementary information relative to this contract'
args: 'Terms and Conditions'
purchaser_id
Many2one
related='vehicle_id.driver_id'
string='Current Driver'
service_ids
Many2many → fleet.service.type
string='Included Services'
args: 'fleet.service.type'
start_date
Date
default=fields.Date.context_today
help='Date when the coverage of the contract begins'
args: 'Contract Start Date'
state
Selection
copy=False
default='open'
help='Choose whether the contract is still valid or not'
readonly=True
tracking=True
args: [('futur', 'Incoming'), ('open', 'In Progress'), ('expired', 'Expired'), ('closed', 'Closed')], 'Status'
user_id
Many2one → res.users
default=<expr>
index=True
args: 'res.users', 'Responsible'
vehicle_id
Many2one → fleet.vehicle
help='Vehicle concerned by this log'
required=True
args: 'fleet.vehicle', 'Vehicle'
compute_next_year_date(self, strdate)
contract_close(self)
contract_draft(self)
contract_open(self)
run_scheduler(self)
scheduler_manage_contract_expiration(self)
write(self, vals)
active
Boolean
default=True
amount
Monetary
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
date
Date
default=fields.Date.context_today
help='Date when the cost has been executed'
description
Char
inv_ref
Char
notes
Text
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Odometer Value'
odometer_id
Many2one → fleet.vehicle.odometer
help='Odometer measure of the vehicle at the moment of this log'
args: 'fleet.vehicle.odometer', 'Odometer'
odometer_unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
purchaser_id
Many2one → res.partner
compute='_compute_purchaser_id'
readonly=False
store=True
string='Driver'
args: 'res.partner'
service_type_id
Many2one → fleet.service.type
default=<expr>
required=True
args: 'fleet.service.type', 'Service Type'
state
Selection
default='todo'
string='Stage'
args: [('todo', 'To Do'), ('running', 'Running'), ('done', 'Done'), ('cancelled', 'Cancelled')]
vehicle_id
Many2one → fleet.vehicle
help='Vehicle concerned by this log'
required=True
args: 'fleet.vehicle', 'Vehicle'
vendor_id
Many2one → res.partner
create(self, vals_list)
active
Boolean
default=True
brand_id
Many2one → fleet.vehicle.model.brand
help='Manufacturer of the vehicle'
required=True
args: 'fleet.vehicle.model.brand', 'Manufacturer'
image_128
Image
readonly=True
related='brand_id.image_128'
manager_id
Many2one → res.users
default=<expr>
domain=<expr>
args: 'res.users', 'Fleet Manager'
name
Char
required=True
args: 'Model name'
vehicle_type
Selection
default='car'
required=True
args: [('car', 'Car'), ('bike', 'Bike')]
vendors
Many2many → res.partner
string='Vendors'
args: 'res.partner', 'fleet_vehicle_model_vendors', 'model_id', 'partner_id'
name_get(self)
write(self, vals)
image_128
Image
max_height=128
max_width=128
args: 'Logo'
model_count
Integer
compute='_compute_model_count'
store=True
string=''
model_ids
One2many → fleet.vehicle.model
name
Char
required=True
args: 'Make'
action_brand_model(self)
date
Date
default=fields.Date.context_today
driver_id
Many2one
readonly=False
related='vehicle_id.driver_id'
string='Driver'
name
Char
compute='_compute_vehicle_log_name'
store=True
unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
value
Float
group_operator='max'
args: 'Odometer Value'
vehicle_id
Many2one → fleet.vehicle
required=True
args: 'fleet.vehicle', 'Vehicle'
No public methods.
name
Char
required=True
translate=True
sequence
Integer
help='Used to order the note stages'
No public methods.
color
Integer
name
Char
required=True
translate=True
args: 'Tag Name'
No public methods.
delay_alert_contract
Integer
config_parameter='hr_fleet.delay_alert_contract'
default=30
string='Delay alert contract outdated'
module_fleet_account
Boolean
string='Analytic Accounting Fleet'
No public methods.
plan_to_change_car
Boolean
default=False
args: 'Plan To Change Car'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/13.0/fleet |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Human Resources/Fleet |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Xavier ALT, Christophe Simonis, Xavier Morel, Nicolas Martinelli, Barad Mahendra, Yannick Tivisse, Martin Geubelle, Adrien Dieudonne, RomainLibert, Alexandre Kühn, jev-odoo, Adrian Torres, Xavier-Do, Sébastien Theys, Nasreddin (bon), alt-odoo, Lucas Lefèvre, Touati Djamel (otd), nie, IEL, prro-odoo |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/fleet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:06:41 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Vehicle, leasing, insurances, cost ================================== With this module, Odoo helps you managing all your vehicles, the contracts associated to those vehicle as well as services, fuel log entries, costs and many other features necessary to the management of your fleet of vehicle(s) Main Features ------------- * Add vehicles to your fleet * Manage contracts for vehicles * Reminder when a contract reach its expiration date * Add services, fuel log entry, odometer values for all vehicles * Show all costs associated to a vehicle or to a type of service * Analysis graph for costs |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fleet_vehicle_assignation_log_view_list |
fleet.vehicle.assignation.log.view.tree | fleet.vehicle.assignation.log | tree | New |
fleet_vehicle_cost_indicative_view_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_cost_indicative_view_pivot |
fleet.vehicle.cost.pivot | fleet.vehicle.cost | pivot | New |
fleet_vehicle_cost_view_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_cost_view_kanban |
fleet.vehicle.cost.kanban | fleet.vehicle.cost | kanban | New |
fleet_vehicle_cost_view_pivot |
fleet.vehicle.cost.pivot | fleet.vehicle.cost | pivot | New |
fleet_vehicle_cost_view_tree |
fleet.vehicle.cost.tree | fleet.vehicle.cost | tree | New |
fleet_vehicle_costs_view_form |
fleet.vehicle.cost.form | fleet.vehicle.cost | form | New |
fleet_vehicle_costs_view_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_costs_view_search |
fleet.vehicle.cost.search | fleet.vehicle.cost | search | New |
fleet_vehicle_log_contract_view_activity |
fleet.vehicle.log.contract.activity | fleet.vehicle.log.contract | activity | New |
fleet_vehicle_log_contract_view_form |
fleet.vehicle.log_contract.form | fleet.vehicle.log.contract | form | New |
fleet_vehicle_log_contract_view_graph |
fleet.vehicle.log.contract.graph | fleet.vehicle.log.contract | graph | New |
fleet_vehicle_log_contract_view_kanban |
fleet.vehicle.log.contract.kanban | fleet.vehicle.log.contract | kanban | New |
fleet_vehicle_log_contract_view_search |
fleet.vehicle.log.contract.search | fleet.vehicle.log.contract | search | New |
fleet_vehicle_log_contract_view_tree |
fleet.vehicle.log.contract.tree | fleet.vehicle.log.contract | tree | New |
fleet_vehicle_log_fuel_view_form |
fleet.vehicle.log.fuel.form | fleet.vehicle.log.fuel | form | New |
fleet_vehicle_log_fuel_view_graph |
fleet.vehicle.log.fuel.graph | fleet.vehicle.log.fuel | graph | New |
fleet_vehicle_log_fuel_view_kanban |
fleet.vehicle.log.fuel.kanban | fleet.vehicle.log.fuel | kanban | New |
fleet_vehicle_log_fuel_view_search |
fleet.vehicle.log.fuel.search | fleet.vehicle.log.fuel | search | New |
fleet_vehicle_log_fuel_view_tree |
fleet.vehicle.log.fuel.tree | fleet.vehicle.log.fuel | tree | New |
fleet_vehicle_log_services_view_form |
fleet.vehicle.log.services.form | fleet.vehicle.log.services | form | New |
fleet_vehicle_log_services_view_graph |
fleet.vehicle.log.services.graph | fleet.vehicle.log.services | graph | New |
fleet_vehicle_log_services_view_kanban |
fleet.vehicle.log.services.kanban | fleet.vehicle.log.services | kanban | New |
fleet_vehicle_log_services_view_search |
fleet.vehicle.log.services.search | fleet.vehicle.log.services | search | New |
fleet_vehicle_log_services_view_tree |
fleet.vehicle.log.services.tree | fleet.vehicle.log.services | tree | New |
fleet_vehicle_model_brand_view_form |
fleet.vehicle.model.brand.form | fleet.vehicle.model.brand | form | New |
fleet_vehicle_model_brand_view_kanban |
fleet.vehicle.model.brandkanban | fleet.vehicle.model.brand | kanban | New |
fleet_vehicle_model_brand_view_tree |
fleet.vehicle.model.brand.tree | fleet.vehicle.model.brand | tree | New |
fleet_vehicle_model_view_form |
fleet.vehicle.model.form | fleet.vehicle.model | form | New |
fleet_vehicle_model_view_kanban |
fleet.vehicle.model.kanban | fleet.vehicle.model | kanban | New |
fleet_vehicle_model_view_search |
fleet.vehicle.model.search | fleet.vehicle.model | search | New |
fleet_vehicle_model_view_tree |
fleet.vehicle.model.tree | fleet.vehicle.model | tree | New |
fleet_vehicle_odometer_view_form |
fleet.vehicle.odometer.form | fleet.vehicle.odometer | form | New |
fleet_vehicle_odometer_view_graph |
fleet.vehicle.odometer.graph | fleet.vehicle.odometer | graph | New |
fleet_vehicle_odometer_view_kanban |
fleet.vehicle.odometer.kanban | fleet.vehicle.odometer | kanban | New |
fleet_vehicle_odometer_view_search |
fleet.vehicle.odometer.search | fleet.vehicle.odometer | search | New |
fleet_vehicle_odometer_view_tree |
fleet.vehicle.odometer.tree | fleet.vehicle.odometer | tree | New |
fleet_vehicle_service_types_view_tree |
fleet.service.type.tree | fleet.service.type | tree | New |
fleet_vehicle_state_view_tree |
fleet.vehicle.state.tree | fleet.vehicle.state | tree | New |
fleet_vehicle_tag_view_view_form |
fleet.vehicle.tag.form | fleet.vehicle.tag | form | New |
fleet_vehicle_tag_view_view_tree |
fleet.vehicle.tag.tree | fleet.vehicle.tag | tree | New |
fleet_vehicle_view_activity |
fleet.vehicle.activity | fleet.vehicle | activity | New |
fleet_vehicle_view_form |
fleet.vehicle.form | fleet.vehicle | form | New |
fleet_vehicle_view_kanban |
fleet.vehicle.kanban | fleet.vehicle | kanban | New |
fleet_vehicle_view_search |
fleet.vehicle.search | fleet.vehicle | search | New |
fleet_vehicle_view_tree |
fleet.vehicle.tree | fleet.vehicle | tree | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.hr.fleet | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
category
Selection
help='Choose whether the service refer to contracts, vehicle services or both'
required=True
args: [('contract', 'Contract'), ('service', 'Service')], 'Category'
name
Char
required=True
translate=True
No public methods.
acquisition_date
Date
default=fields.Date.today
help='Date when the vehicle has been immatriculated'
required=False
args: 'Immatriculation Date'
active
Boolean
default=True
tracking=True
args: 'Active'
brand_id
Many2one → fleet.vehicle.model.brand
readonly=False
related='model_id.brand_id'
store=True
args: 'fleet.vehicle.model.brand', 'Brand'
car_value
Float
help='Value of the bought vehicle'
string='Catalog Value (VAT Incl.)'
co2
Float
help='CO2 emissions of the vehicle'
args: 'CO2 Emissions'
color
Char
help='Color of the vehicle'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
contract_count
Integer
compute='_compute_count_all'
string='Contract Count'
contract_renewal_due_soon
Boolean
compute='_compute_contract_reminder'
multi='contract_info'
search='_search_contract_renewal_due_soon'
string='Has Contracts to renew'
contract_renewal_name
Text
compute='_compute_contract_reminder'
multi='contract_info'
string='Name of contract to renew soon'
contract_renewal_overdue
Boolean
compute='_compute_contract_reminder'
multi='contract_info'
search='_search_get_overdue_contract_reminder'
string='Has Contracts Overdue'
contract_renewal_total
Text
compute='_compute_contract_reminder'
multi='contract_info'
string='Total of contracts due or overdue minus one'
cost_count
Integer
compute='_compute_count_all'
string='Costs'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
doors
Integer
default=5
help='Number of doors of the vehicle'
args: 'Doors Number'
driver_id
Many2one → res.partner
copy=False
help='Driver of the vehicle'
tracking=True
args: 'res.partner', 'Driver'
first_contract_date
Date
default=fields.Date.today
string='First Contract Date'
fuel_logs_count
Integer
compute='_compute_count_all'
string='Fuel Log Count'
fuel_type
Selection
help='Fuel Used by the vehicle'
args: [('gasoline', 'Gasoline'), ('diesel', 'Diesel'), ('lpg', 'LPG'), ('electric', 'Electric'), ('hybrid', 'Hybrid')], 'Fuel Type'
future_driver_id
Many2one → res.partner
copy=False
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
help='Next Driver of the vehicle'
tracking=True
args: 'res.partner', 'Future Driver'
history_count
Integer
compute='_compute_count_all'
string='Drivers History Count'
horsepower
Integer
horsepower_tax
Float
image_128
Image
readonly=False
related='model_id.image_128'
license_plate
Char
help='License plate number of the vehicle (i = plate number for a car)'
tracking=True
location
Char
help='Location of the vehicle (garage, ...)'
log_contracts
One2many → fleet.vehicle.log.contract
log_drivers
One2many → fleet.vehicle.assignation.log
string='Assignation Logs'
args: 'fleet.vehicle.assignation.log', 'vehicle_id'
log_fuel
One2many → fleet.vehicle.log.fuel
log_services
One2many → fleet.vehicle.log.services
manager_id
Many2one → res.users
related='model_id.manager_id'
args: 'res.users'
model_id
Many2one → fleet.vehicle.model
help='Model of the vehicle'
required=True
tracking=True
args: 'fleet.vehicle.model', 'Model'
model_year
Char
help='Year of the model'
args: 'Model Year'
name
Char
compute='_compute_vehicle_name'
store=True
net_car_value
Float
help='Purchase Value of the car'
string='Purchase Value'
next_assignation_date
Date
help='This is the date at which the car will be available, if not set it means available instantly'
args: 'Assignation Date'
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Last Odometer'
odometer_count
Integer
compute='_compute_count_all'
string='Odometer'
odometer_unit
Selection
default='kilometers'
help='Unit of the odometer '
required=True
args: [('kilometers', 'Kilometers'), ('miles', 'Miles')], 'Odometer Unit'
plan_to_change_car
Boolean
readonly=False
related='driver_id.plan_to_change_car'
store=True
power
Integer
help='Power in kW of the vehicle'
args: 'Power'
residual_value
Float
seats
Integer
help='Number of seats of the vehicle'
args: 'Seats Number'
service_count
Integer
compute='_compute_count_all'
string='Services'
state_id
Many2one → fleet.vehicle.state
default=_get_default_state
group_expand='_read_group_stage_ids'
help='Current state of the vehicle'
ondelete='set null'
tracking=True
args: 'fleet.vehicle.state', 'State'
tag_ids
Many2many → fleet.vehicle.tag
copy=False
args: 'fleet.vehicle.tag', 'fleet_vehicle_vehicle_tag_rel', 'vehicle_tag_id', 'tag_id', 'Tags'
transmission
Selection
help='Transmission Used by the vehicle'
args: [('manual', 'Manual'), ('automatic', 'Automatic')], 'Transmission'
vin_sn
Char
copy=False
help='Unique number written on the vehicle motor (VIN/SN number)'
args: 'Chassis Number'
act_show_log_cost(self)
action_accept_driver_change(self)
create(self, vals)
create_driver_history(self, driver_id)
open_assignation_logs(self)
return_action_to_open(self)
write(self, vals)
date_end
Date
string='End Date'
date_start
Date
string='Start Date'
driver_id
Many2one → res.partner
required=True
string='Driver'
args: 'res.partner'
vehicle_id
Many2one → fleet.vehicle
required=True
string='Vehicle'
args: 'fleet.vehicle'
No public methods.
amount
Float
auto_generated
Boolean
readonly=True
args: 'Automatically Generated'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
contract_id
Many2one → fleet.vehicle.log.contract
help='Contract attached to this cost'
args: 'fleet.vehicle.log.contract', 'Contract'
cost_ids
One2many → fleet.vehicle.cost
copy=True
args: 'fleet.vehicle.cost', 'parent_id', 'Included Services'
cost_subtype_id
Many2one → fleet.service.type
help='Cost type purchased with this cost'
args: 'fleet.service.type', 'Type'
cost_type
Selection
default='other'
help='For internal purpose only'
required=True
args: [('contract', 'Contract'), ('services', 'Services'), ('fuel', 'Fuel'), ('other', 'Other')], 'Category of the cost'
currency_id
Many2one → res.currency
related='company_id.currency_id'
args: 'res.currency'
date
Date
help='Date when the cost has been executed'
description
Char
name
Char
readonly=False
related='vehicle_id.name'
store=True
string='Name'
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Odometer Value'
odometer_id
Many2one → fleet.vehicle.odometer
help='Odometer measure of the vehicle at the moment of this log'
args: 'fleet.vehicle.odometer', 'Odometer'
odometer_unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
parent_id
Many2one → fleet.vehicle.cost
help='Parent cost to this current cost'
args: 'fleet.vehicle.cost', 'Parent'
vehicle_id
Many2one → fleet.vehicle
help='Vehicle concerned by this log'
required=True
args: 'fleet.vehicle', 'Vehicle'
create(self, vals_list)
unlink(self)
active
Boolean
default=True
cost_amount
Float
readonly=False
related='cost_id.amount'
store=True
string='Amount'
cost_frequency
Selection
default='no'
help='Frequency of the recuring cost'
required=True
args: [('no', 'No'), ('daily', 'Daily'), ('weekly', 'Weekly'), ('monthly', 'Monthly'), ('yearly', 'Yearly')], 'Recurring Cost Frequency'
cost_generated
Float
help='Costs paid at regular intervals, depending on the cost frequency. If the cost frequency is set to unique, the cost will be logged at the start date'
tracking=True
args: 'Recurring Cost Amount'
cost_id
Many2one → fleet.vehicle.cost
ondelete='cascade'
required=True
args: 'fleet.vehicle.cost', 'Cost'
days_left
Integer
compute='_compute_days_left'
string='Warning Date'
expiration_date
Date
default=<expr>
help='Date when the coverage of the contract expirates (by default, one year after begin date)'
args: 'Contract Expiration Date'
generated_cost_ids
One2many → fleet.vehicle.cost
ins_ref
Char
copy=False
size=64
args: 'Contract Reference'
insurer_id
Many2one → res.partner
name
Text
compute='_compute_contract_name'
store=True
notes
Text
copy=False
help='Write here all supplementary information relative to this contract'
args: 'Terms and Conditions'
odometer
Float
help='Odometer measure of the vehicle at the moment of the contract creation'
string='Creation Contract Odometer'
purchaser_id
Many2one → res.partner
default=<expr>
help='Person to which the contract is signed for'
args: 'res.partner', 'Driver'
start_date
Date
default=fields.Date.context_today
help='Date when the coverage of the contract begins'
args: 'Contract Start Date'
state
Selection
copy=False
default='open'
help='Choose whether the contract is still valid or not'
readonly=True
tracking=True
args: [('futur', 'Incoming'), ('open', 'In Progress'), ('diesoon', 'Expiring Soon'), ('expired', 'Expired'), ('closed', 'Closed')], 'Status'
sum_cost
Float
compute='_compute_sum_cost'
string='Indicative Costs Total'
user_id
Many2one → res.users
default=<expr>
index=True
args: 'res.users', 'Responsible'
act_renew_contract(self)
compute_next_year_date(self, strdate)
contract_close(self)
contract_open(self)
create(self, vals)
default_get(self, default_fields)
run_scheduler(self)
scheduler_manage_auto_costs(self)
scheduler_manage_contract_expiration(self)
unlink(self)
write(self, vals)
cost_amount
Float
readonly=False
related='cost_id.amount'
store=True
string='Amount'
cost_id
Many2one → fleet.vehicle.cost
ondelete='cascade'
required=True
args: 'fleet.vehicle.cost', 'Cost'
inv_ref
Char
size=64
args: 'Invoice Reference'
liter
Float
notes
Text
price_per_liter
Float
purchaser_id
Many2one → res.partner
vendor_id
Many2one → res.partner
default_get(self, default_fields)
cost_amount
Float
readonly=False
related='cost_id.amount'
store=True
string='Amount'
cost_id
Many2one → fleet.vehicle.cost
ondelete='cascade'
required=True
args: 'fleet.vehicle.cost', 'Cost'
inv_ref
Char
notes
Text
purchaser_id
Many2one → res.partner
vendor_id
Many2one → res.partner
default_get(self, default_fields)
brand_id
Many2one → fleet.vehicle.model.brand
help='Manufacturer of the vehicle'
required=True
args: 'fleet.vehicle.model.brand', 'Manufacturer'
image_128
Image
readonly=False
related='brand_id.image_128'
manager_id
Many2one → res.users
default=<expr>
domain=<expr>
args: 'res.users', 'Fleet Manager'
name
Char
required=True
args: 'Model name'
vendors
Many2many → res.partner
string='Vendors'
args: 'res.partner', 'fleet_vehicle_model_vendors', 'model_id', 'partner_id'
name_get(self)
image_128
Image
max_height=128
max_width=128
args: 'Logo'
name
Char
required=True
args: 'Make'
No public methods.
date
Date
default=fields.Date.context_today
driver_id
Many2one
readonly=False
related='vehicle_id.driver_id'
string='Driver'
name
Char
compute='_compute_vehicle_log_name'
store=True
unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
value
Float
group_operator='max'
args: 'Odometer Value'
vehicle_id
Many2one → fleet.vehicle
required=True
args: 'fleet.vehicle', 'Vehicle'
No public methods.
name
Char
required=True
translate=True
sequence
Integer
help='Used to order the note stages'
No public methods.
color
Integer
name
Char
required=True
translate=True
args: 'Tag Name'
No public methods.
delay_alert_contract
Integer
config_parameter='hr_fleet.delay_alert_contract'
default=30
string='Delay alert contract outdated'
No public methods.
plan_to_change_car
Boolean
default=False
args: 'Plan To Change Car'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/12.0/fleet |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Thibault Delavallée, Christophe Simonis, Xavier Morel, Nicolas Martinelli, Géry Debongnie, Aaron Bohy, GitHub, Yannick Tivisse, Alexandre Kühn, qsm-odoo, Martin Geubelle, Nicolas Seinlet, len-odoo, Adrian Torres, Xavier-Do, jerome hanke (jhk), alt-odoo, Kinjal Mehta |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/fleet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:57:00 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Vehicle, leasing, insurances, cost ================================== With this module, Odoo helps you managing all your vehicles, the contracts associated to those vehicle as well as services, fuel log entries, costs and many other features necessary to the management of your fleet of vehicle(s) Main Features ------------- * Add vehicles to your fleet * Manage contracts for vehicles * Reminder when a contract reach its expiration date * Add services, fuel log entry, odometer values for all vehicles * Show all costs associated to a vehicle or to a type of service * Analysis graph for costs |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fleet_vehicle_assignation_log_view_list |
fleet.vehicle.assignation.log.view.tree | fleet.vehicle.assignation.log | tree | New |
fleet_vehicle_cost_indicative_view_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_cost_indicative_view_pivot |
fleet.vehicle.cost.pivot | fleet.vehicle.cost | pivot | New |
fleet_vehicle_cost_view_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_cost_view_kanban |
fleet.vehicle.cost.kanban | fleet.vehicle.cost | kanban | New |
fleet_vehicle_cost_view_pivot |
fleet.vehicle.cost.pivot | fleet.vehicle.cost | pivot | New |
fleet_vehicle_cost_view_tree |
fleet.vehicle.cost.tree | fleet.vehicle.cost | tree | New |
fleet_vehicle_costs_view_form |
fleet.vehicle.cost.form | fleet.vehicle.cost | form | New |
fleet_vehicle_costs_view_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_costs_view_search |
fleet.vehicle.cost.search | fleet.vehicle.cost | search | New |
fleet_vehicle_log_contract_view_form |
fleet.vehicle.log_contract.form | fleet.vehicle.log.contract | form | New |
fleet_vehicle_log_contract_view_graph |
fleet.vehicle.log.contract.graph | fleet.vehicle.log.contract | graph | New |
fleet_vehicle_log_contract_view_kanban |
fleet.vehicle.log.contract.kanban | fleet.vehicle.log.contract | kanban | New |
fleet_vehicle_log_contract_view_search |
fleet.vehicle.log.contract.search | fleet.vehicle.log.contract | search | New |
fleet_vehicle_log_contract_view_tree |
fleet.vehicle.log.contract.tree | fleet.vehicle.log.contract | tree | New |
fleet_vehicle_log_fuel_view_form |
fleet.vehicle.log.fuel.form | fleet.vehicle.log.fuel | form | New |
fleet_vehicle_log_fuel_view_graph |
fleet.vehicle.log.fuel.graph | fleet.vehicle.log.fuel | graph | New |
fleet_vehicle_log_fuel_view_kanban |
fleet.vehicle.log.fuel.kanban | fleet.vehicle.log.fuel | kanban | New |
fleet_vehicle_log_fuel_view_search |
fleet.vehicle.log.fuel.search | fleet.vehicle.log.fuel | search | New |
fleet_vehicle_log_fuel_view_tree |
fleet.vehicle.log.fuel.tree | fleet.vehicle.log.fuel | tree | New |
fleet_vehicle_log_services_view_form |
fleet.vehicle.log.services.form | fleet.vehicle.log.services | form | New |
fleet_vehicle_log_services_view_graph |
fleet.vehicle.log.services.graph | fleet.vehicle.log.services | graph | New |
fleet_vehicle_log_services_view_kanban |
fleet.vehicle.log.services.kanban | fleet.vehicle.log.services | kanban | New |
fleet_vehicle_log_services_view_search |
fleet.vehicle.log.services.search | fleet.vehicle.log.services | search | New |
fleet_vehicle_log_services_view_tree |
fleet.vehicle.log.services.tree | fleet.vehicle.log.services | tree | New |
fleet_vehicle_model_brand_view_form |
fleet.vehicle.model.brand.form | fleet.vehicle.model.brand | form | New |
fleet_vehicle_model_brand_view_kanban |
fleet.vehicle.model.brandkanban | fleet.vehicle.model.brand | kanban | New |
fleet_vehicle_model_brand_view_tree |
fleet.vehicle.model.brand.tree | fleet.vehicle.model.brand | tree | New |
fleet_vehicle_model_view_form |
fleet.vehicle.model.form | fleet.vehicle.model | form | New |
fleet_vehicle_model_view_search |
fleet.vehicle.model.search | fleet.vehicle.model | search | New |
fleet_vehicle_model_view_tree |
fleet.vehicle.model.tree | fleet.vehicle.model | tree | New |
fleet_vehicle_odometer_view_form |
fleet.vehicle.odometer.form | fleet.vehicle.odometer | form | New |
fleet_vehicle_odometer_view_graph |
fleet.vehicle.odometer.graph | fleet.vehicle.odometer | graph | New |
fleet_vehicle_odometer_view_kanban |
fleet.vehicle.odometer.kanban | fleet.vehicle.odometer | kanban | New |
fleet_vehicle_odometer_view_search |
fleet.vehicle.odometer.search | fleet.vehicle.odometer | search | New |
fleet_vehicle_odometer_view_tree |
fleet.vehicle.odometer.tree | fleet.vehicle.odometer | tree | New |
fleet_vehicle_service_types_view_tree |
fleet.service.type.tree | fleet.service.type | tree | New |
fleet_vehicle_state_view_tree |
fleet.vehicle.state.tree | fleet.vehicle.state | tree | New |
fleet_vehicle_tag_view_view_form |
fleet.vehicle.tag.form | fleet.vehicle.tag | form | New |
fleet_vehicle_view_form |
fleet.vehicle.form | fleet.vehicle | form | New |
fleet_vehicle_view_kanban |
fleet.vehicle.kanban | fleet.vehicle | kanban | New |
fleet_vehicle_view_search |
fleet.vehicle.search | fleet.vehicle | search | New |
fleet_vehicle_view_tree |
fleet.vehicle.tree | fleet.vehicle | tree | New |
category
Selection
help='Choose whether the service refer to contracts, vehicle services or both'
required=True
args: [('contract', 'Contract'), ('service', 'Service')], 'Category'
name
Char
required=True
translate=True
No public methods.
acquisition_date
Date
default=fields.Date.today
help='Date when the vehicle has been immatriculated'
required=False
args: 'Immatriculation Date'
active
Boolean
default=True
track_visibility='onchange'
args: 'Active'
brand_id
Many2one → fleet.vehicle.model.brand
readonly=False
related='model_id.brand_id'
store=True
args: 'fleet.vehicle.model.brand', 'Brand'
car_value
Float
help='Value of the bought vehicle'
string='Catalog Value (VAT Incl.)'
co2
Float
help='CO2 emissions of the vehicle'
args: 'CO2 Emissions'
color
Char
help='Color of the vehicle'
company_id
Many2one → res.company
contract_count
Integer
compute='_compute_count_all'
string='Contract Count'
contract_renewal_due_soon
Boolean
compute='_compute_contract_reminder'
multi='contract_info'
search='_search_contract_renewal_due_soon'
string='Has Contracts to renew'
contract_renewal_name
Text
compute='_compute_contract_reminder'
multi='contract_info'
string='Name of contract to renew soon'
contract_renewal_overdue
Boolean
compute='_compute_contract_reminder'
multi='contract_info'
search='_search_get_overdue_contract_reminder'
string='Has Contracts Overdue'
contract_renewal_total
Text
compute='_compute_contract_reminder'
multi='contract_info'
string='Total of contracts due or overdue minus one'
cost_count
Integer
compute='_compute_count_all'
string='Costs'
doors
Integer
default=5
help='Number of doors of the vehicle'
args: 'Doors Number'
driver_id
Many2one → res.partner
auto_join=True
copy=False
help='Driver of the vehicle'
track_visibility='onchange'
args: 'res.partner', 'Driver'
first_contract_date
Date
default=fields.Date.today
string='First Contract Date'
fuel_logs_count
Integer
compute='_compute_count_all'
string='Fuel Log Count'
fuel_type
Selection
help='Fuel Used by the vehicle'
args: [('gasoline', 'Gasoline'), ('diesel', 'Diesel'), ('lpg', 'LPG'), ('electric', 'Electric'), ('hybrid', 'Hybrid')], 'Fuel Type'
horsepower
Integer
horsepower_tax
Float
image
Binary
readonly=False
related='model_id.image'
string='Logo'
image_medium
Binary
readonly=False
related='model_id.image_medium'
string='Logo (medium)'
image_small
Binary
readonly=False
related='model_id.image_small'
string='Logo (small)'
license_plate
Char
help='License plate number of the vehicle (i = plate number for a car)'
track_visibility='onchange'
location
Char
help='Location of the vehicle (garage, ...)'
log_contracts
One2many → fleet.vehicle.log.contract
log_drivers
One2many → fleet.vehicle.assignation.log
string='Assignation Logs'
args: 'fleet.vehicle.assignation.log', 'vehicle_id'
log_fuel
One2many → fleet.vehicle.log.fuel
log_services
One2many → fleet.vehicle.log.services
model_id
Many2one → fleet.vehicle.model
help='Model of the vehicle'
required=True
track_visibility='onchange'
args: 'fleet.vehicle.model', 'Model'
model_year
Char
help='Year of the model'
args: 'Model Year'
name
Char
compute='_compute_vehicle_name'
store=True
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Last Odometer'
odometer_count
Integer
compute='_compute_count_all'
string='Odometer'
odometer_unit
Selection
default='kilometers'
help='Unit of the odometer '
required=True
args: [('kilometers', 'Kilometers'), ('miles', 'Miles')], 'Odometer Unit'
power
Integer
help='Power in kW of the vehicle'
args: 'Power'
residual_value
Float
seats
Integer
help='Number of seats of the vehicle'
args: 'Seats Number'
service_count
Integer
compute='_compute_count_all'
string='Services'
state_id
Many2one → fleet.vehicle.state
default=_get_default_state
group_expand='_read_group_stage_ids'
help='Current state of the vehicle'
ondelete='set null'
track_visibility='onchange'
args: 'fleet.vehicle.state', 'State'
tag_ids
Many2many → fleet.vehicle.tag
copy=False
args: 'fleet.vehicle.tag', 'fleet_vehicle_vehicle_tag_rel', 'vehicle_tag_id', 'tag_id', 'Tags'
transmission
Selection
help='Transmission Used by the vehicle'
args: [('manual', 'Manual'), ('automatic', 'Automatic')], 'Transmission'
vin_sn
Char
copy=False
help='Unique number written on the vehicle motor (VIN/SN number)'
args: 'Chassis Number'
act_show_log_cost(self)
create(self, vals)
create_driver_history(self, driver_id)
open_assignation_logs(self)
return_action_to_open(self)
write(self, vals)
date_end
Date
string='End Date'
date_start
Date
string='Start Date'
driver_id
Many2one → res.partner
required=True
string='Driver'
args: 'res.partner'
vehicle_id
Many2one → fleet.vehicle
required=True
string='Vehicle'
args: 'fleet.vehicle'
No public methods.
amount
Float
auto_generated
Boolean
readonly=True
args: 'Automatically Generated'
contract_id
Many2one → fleet.vehicle.log.contract
help='Contract attached to this cost'
args: 'fleet.vehicle.log.contract', 'Contract'
cost_ids
One2many → fleet.vehicle.cost
copy=True
args: 'fleet.vehicle.cost', 'parent_id', 'Included Services'
cost_subtype_id
Many2one → fleet.service.type
help='Cost type purchased with this cost'
args: 'fleet.service.type', 'Type'
cost_type
Selection
default='other'
help='For internal purpose only'
required=True
args: [('contract', 'Contract'), ('services', 'Services'), ('fuel', 'Fuel'), ('other', 'Other')], 'Category of the cost'
date
Date
help='Date when the cost has been executed'
description
Char
name
Char
readonly=False
related='vehicle_id.name'
store=True
string='Name'
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Odometer Value'
odometer_id
Many2one → fleet.vehicle.odometer
help='Odometer measure of the vehicle at the moment of this log'
args: 'fleet.vehicle.odometer', 'Odometer'
odometer_unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
parent_id
Many2one → fleet.vehicle.cost
help='Parent cost to this current cost'
args: 'fleet.vehicle.cost', 'Parent'
vehicle_id
Many2one → fleet.vehicle
help='Vehicle concerned by this log'
required=True
args: 'fleet.vehicle', 'Vehicle'
create(self, vals_list)
unlink(self)
active
Boolean
default=True
cost_amount
Float
readonly=False
related='cost_id.amount'
store=True
string='Amount'
cost_frequency
Selection
default='no'
help='Frequency of the recuring cost'
required=True
args: [('no', 'No'), ('daily', 'Daily'), ('weekly', 'Weekly'), ('monthly', 'Monthly'), ('yearly', 'Yearly')], 'Recurring Cost Frequency'
cost_generated
Float
help='Costs paid at regular intervals, depending on the cost frequency. If the cost frequency is set to unique, the cost will be logged at the start date'
track_visibility='onchange'
args: 'Recurring Cost Amount'
cost_id
Many2one → fleet.vehicle.cost
ondelete='cascade'
required=True
args: 'fleet.vehicle.cost', 'Cost'
days_left
Integer
compute='_compute_days_left'
string='Warning Date'
expiration_date
Date
default=<expr>
help='Date when the coverage of the contract expirates (by default, one year after begin date)'
args: 'Contract Expiration Date'
generated_cost_ids
One2many → fleet.vehicle.cost
ins_ref
Char
copy=False
size=64
args: 'Contract Reference'
insurer_id
Many2one → res.partner
name
Text
compute='_compute_contract_name'
store=True
notes
Text
copy=False
help='Write here all supplementary information relative to this contract'
args: 'Terms and Conditions'
odometer
Float
help='Odometer measure of the vehicle at the moment of the contract creation'
string='Odometer at creation'
purchaser_id
Many2one → res.partner
default=<expr>
help='Person to which the contract is signed for'
args: 'res.partner', 'Driver'
start_date
Date
default=fields.Date.context_today
help='Date when the coverage of the contract begins'
args: 'Contract Start Date'
state
Selection
copy=False
default='open'
help='Choose whether the contract is still valid or not'
readonly=True
track_visibility='onchange'
args: [('futur', 'Incoming'), ('open', 'In Progress'), ('diesoon', 'Expiring Soon'), ('expired', 'Expired'), ('closed', 'Closed')], 'Status'
sum_cost
Float
compute='_compute_sum_cost'
string='Indicative Costs Total'
user_id
Many2one → res.users
default=<expr>
index=True
args: 'res.users', 'Responsible'
act_renew_contract(self)
compute_next_year_date(self, strdate)
contract_close(self)
contract_open(self)
create(self, vals)
default_get(self, default_fields)
run_scheduler(self)
scheduler_manage_auto_costs(self)
scheduler_manage_contract_expiration(self)
unlink(self)
write(self, vals)
cost_amount
Float
readonly=False
related='cost_id.amount'
store=True
string='Amount'
cost_id
Many2one → fleet.vehicle.cost
ondelete='cascade'
required=True
args: 'fleet.vehicle.cost', 'Cost'
inv_ref
Char
size=64
args: 'Invoice Reference'
liter
Float
notes
Text
price_per_liter
Float
purchaser_id
Many2one → res.partner
domain="['|',('customer','=',True),('employee','=',True)]"
args: 'res.partner', 'Purchaser'
vendor_id
Many2one → res.partner
domain="[('supplier','=',True)]"
args: 'res.partner', 'Vendor'
default_get(self, default_fields)
cost_amount
Float
readonly=False
related='cost_id.amount'
store=True
string='Amount'
cost_id
Many2one → fleet.vehicle.cost
ondelete='cascade'
required=True
args: 'fleet.vehicle.cost', 'Cost'
inv_ref
Char
notes
Text
purchaser_id
Many2one → res.partner
domain="['|',('customer','=',True),('employee','=',True)]"
args: 'res.partner', 'Purchaser'
vendor_id
Many2one → res.partner
domain="[('supplier','=',True)]"
args: 'res.partner', 'Vendor'
default_get(self, default_fields)
brand_id
Many2one → fleet.vehicle.model.brand
help='Make of the vehicle'
required=True
args: 'fleet.vehicle.model.brand', 'Make'
image
Binary
readonly=False
related='brand_id.image'
string='Logo'
image_medium
Binary
readonly=False
related='brand_id.image_medium'
string='Logo (medium)'
image_small
Binary
readonly=False
related='brand_id.image_small'
string='Logo (small)'
name
Char
required=True
args: 'Model name'
vendors
Many2many → res.partner
string='Vendors'
args: 'res.partner', 'fleet_vehicle_model_vendors', 'model_id', 'partner_id'
name_get(self)
image
Binary
attachment=True
help='This field holds the image used as logo for the brand, limited to 1024x1024px.'
args: 'Logo'
image_medium
Binary
attachment=True
help='Medium-sized logo of the brand. It is automatically resized as a 128x128px image, with aspect ratio preserved. Use this field in form views or some kanban views.'
args: 'Medium-sized image'
image_small
Binary
attachment=True
help='Small-sized logo of the brand. It is automatically resized as a 64x64px image, with aspect ratio preserved. Use this field anywhere a small image is required.'
args: 'Small-sized image'
name
Char
required=True
args: 'Make'
create(self, vals_list)
write(self, vals)
date
Date
default=fields.Date.context_today
driver_id
Many2one
readonly=False
related='vehicle_id.driver_id'
string='Driver'
name
Char
compute='_compute_vehicle_log_name'
store=True
unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
value
Float
group_operator='max'
args: 'Odometer Value'
vehicle_id
Many2one → fleet.vehicle
required=True
args: 'fleet.vehicle', 'Vehicle'
No public methods.
name
Char
required=True
translate=True
sequence
Integer
help='Used to order the note stages'
No public methods.
color
Integer
name
Char
required=True
translate=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/11.0/fleet |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Christophe Simonis, Goffin Simon, Nicolas Martinelli, Nicolas Lempereur, Aaron Bohy, GitHub, Yannick Tivisse, qsm-odoo, Martin Geubelle, Odoo Online, Adrien Dieudonne, Christophe Monniez |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/fleet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:53:42 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Vehicle, leasing, insurances, cost ================================== With this module, Odoo helps you managing all your vehicles, the contracts associated to those vehicle as well as services, fuel log entries, costs and many other features necessary to the management of your fleet of vehicle(s) Main Features ------------- * Add vehicles to your fleet * Manage contracts for vehicles * Reminder when a contract reach its expiration date * Add services, fuel log entry, odometer values for all vehicles * Show all costs associated to a vehicle or to a type of service * Analysis graph for costs |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fleet_vehicle_cost_indicative_view_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_cost_indicative_view_pivot |
fleet.vehicle.cost.pivot | fleet.vehicle.cost | pivot | New |
fleet_vehicle_cost_view_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_cost_view_kanban |
fleet.vehicle.cost.kanban | fleet.vehicle.cost | kanban | New |
fleet_vehicle_cost_view_pivot |
fleet.vehicle.cost.pivot | fleet.vehicle.cost | pivot | New |
fleet_vehicle_cost_view_tree |
fleet.vehicle.cost.tree | fleet.vehicle.cost | tree | New |
fleet_vehicle_costs_view_form |
fleet.vehicle.cost.form | fleet.vehicle.cost | form | New |
fleet_vehicle_costs_view_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_costs_view_search |
fleet.vehicle.cost.search | fleet.vehicle.cost | search | New |
fleet_vehicle_log_contract_view_form |
fleet.vehicle.log_contract.form | fleet.vehicle.log.contract | form | New |
fleet_vehicle_log_contract_view_graph |
fleet.vehicle.log.contract.graph | fleet.vehicle.log.contract | graph | New |
fleet_vehicle_log_contract_view_kanban |
fleet.vehicle.log.contract.kanban | fleet.vehicle.log.contract | kanban | New |
fleet_vehicle_log_contract_view_search |
fleet.vehicle.log.contract.search | fleet.vehicle.log.contract | search | New |
fleet_vehicle_log_contract_view_tree |
fleet.vehicle.log.contract.tree | fleet.vehicle.log.contract | tree | New |
fleet_vehicle_log_fuel_view_form |
fleet.vehicle.log.fuel.form | fleet.vehicle.log.fuel | form | New |
fleet_vehicle_log_fuel_view_graph |
fleet.vehicle.log.fuel.graph | fleet.vehicle.log.fuel | graph | New |
fleet_vehicle_log_fuel_view_kanban |
fleet.vehicle.log.fuel.kanban | fleet.vehicle.log.fuel | kanban | New |
fleet_vehicle_log_fuel_view_search |
fleet.vehicle.log.fuel.search | fleet.vehicle.log.fuel | search | New |
fleet_vehicle_log_fuel_view_tree |
fleet.vehicle.log.fuel.tree | fleet.vehicle.log.fuel | tree | New |
fleet_vehicle_log_services_view_form |
fleet.vehicle.log.services.form | fleet.vehicle.log.services | form | New |
fleet_vehicle_log_services_view_graph |
fleet.vehicle.log.services.graph | fleet.vehicle.log.services | graph | New |
fleet_vehicle_log_services_view_kanban |
fleet.vehicle.log.services.kanban | fleet.vehicle.log.services | kanban | New |
fleet_vehicle_log_services_view_search |
fleet.vehicle.log.services.search | fleet.vehicle.log.services | search | New |
fleet_vehicle_log_services_view_tree |
fleet.vehicle.log.services.tree | fleet.vehicle.log.services | tree | New |
fleet_vehicle_model_brand_view_form |
fleet.vehicle.model.brand.form | fleet.vehicle.model.brand | form | New |
fleet_vehicle_model_brand_view_kanban |
fleet.vehicle.model.brandkanban | fleet.vehicle.model.brand | kanban | New |
fleet_vehicle_model_brand_view_tree |
fleet.vehicle.model.brand.tree | fleet.vehicle.model.brand | tree | New |
fleet_vehicle_model_view_form |
fleet.vehicle.model.form | fleet.vehicle.model | form | New |
fleet_vehicle_model_view_search |
fleet.vehicle.model.search | fleet.vehicle.model | search | New |
fleet_vehicle_model_view_tree |
fleet.vehicle.model.tree | fleet.vehicle.model | tree | New |
fleet_vehicle_odometer_view_form |
fleet.vehicle.odometer.form | fleet.vehicle.odometer | form | New |
fleet_vehicle_odometer_view_graph |
fleet.vehicle.odometer.graph | fleet.vehicle.odometer | graph | New |
fleet_vehicle_odometer_view_kanban |
fleet.vehicle.odometer.kanban | fleet.vehicle.odometer | kanban | New |
fleet_vehicle_odometer_view_search |
fleet.vehicle.odometer.search | fleet.vehicle.odometer | search | New |
fleet_vehicle_odometer_view_tree |
fleet.vehicle.odometer.tree | fleet.vehicle.odometer | tree | New |
fleet_vehicle_service_types_view_tree |
fleet.service.type.tree | fleet.service.type | tree | New |
fleet_vehicle_state_view_tree |
fleet.vehicle.state.tree | fleet.vehicle.state | tree | New |
fleet_vehicle_tag_view_view_form |
fleet.vehicle.tag.form | fleet.vehicle.tag | form | New |
fleet_vehicle_view_form |
fleet.vehicle.form | fleet.vehicle | form | New |
fleet_vehicle_view_kanban |
fleet.vehicle.kanban | fleet.vehicle | kanban | New |
fleet_vehicle_view_search |
fleet.vehicle.search | fleet.vehicle | search | New |
fleet_vehicle_view_tree |
fleet.vehicle.tree | fleet.vehicle | tree | New |
category
Selection
help='Choose whether the service refer to contracts, vehicle services or both'
required=True
args: [('contract', 'Contract'), ('service', 'Service')], 'Category'
name
Char
required=True
translate=True
No public methods.
acquisition_date
Date
help='Date when the vehicle has been immatriculated'
required=False
args: 'Immatriculation Date'
active
Boolean
default=True
track_visibility='onchange'
args: 'Active'
car_value
Float
help='Value of the bought vehicle'
string='Catalog Value (VAT Incl.)'
co2
Float
help='CO2 emissions of the vehicle'
args: 'CO2 Emissions'
color
Char
help='Color of the vehicle'
company_id
Many2one → res.company
contract_count
Integer
compute='_compute_count_all'
string='Contracts'
contract_renewal_due_soon
Boolean
compute='_compute_contract_reminder'
multi='contract_info'
search='_search_contract_renewal_due_soon'
string='Has Contracts to renew'
contract_renewal_name
Text
compute='_compute_contract_reminder'
multi='contract_info'
string='Name of contract to renew soon'
contract_renewal_overdue
Boolean
compute='_compute_contract_reminder'
multi='contract_info'
search='_search_get_overdue_contract_reminder'
string='Has Contracts Overdue'
contract_renewal_total
Text
compute='_compute_contract_reminder'
multi='contract_info'
string='Total of contracts due or overdue minus one'
cost_count
Integer
compute='_compute_count_all'
string='Costs'
doors
Integer
default=5
help='Number of doors of the vehicle'
args: 'Doors Number'
driver_id
Many2one → res.partner
copy=False
help='Driver of the vehicle'
track_visibility='onchange'
args: 'res.partner', 'Driver'
fuel_logs_count
Integer
compute='_compute_count_all'
string='Fuel Logs'
fuel_type
Selection
help='Fuel Used by the vehicle'
args: [('gasoline', 'Gasoline'), ('diesel', 'Diesel'), ('lpg', 'LPG'), ('electric', 'Electric'), ('hybrid', 'Hybrid')], 'Fuel Type'
horsepower
Integer
horsepower_tax
Float
image
Binary
related='model_id.image'
string='Logo'
image_medium
Binary
related='model_id.image_medium'
string='Logo (medium)'
image_small
Binary
related='model_id.image_small'
string='Logo (small)'
license_plate
Char
help='License plate number of the vehicle (i = plate number for a car)'
required=True
track_visibility='onchange'
location
Char
help='Location of the vehicle (garage, ...)'
log_contracts
One2many → fleet.vehicle.log.contract
log_fuel
One2many → fleet.vehicle.log.fuel
log_services
One2many → fleet.vehicle.log.services
model_id
Many2one → fleet.vehicle.model
help='Model of the vehicle'
required=True
args: 'fleet.vehicle.model', 'Model'
model_year
Char
help='Year of the model'
args: 'Model Year'
name
Char
compute='_compute_vehicle_name'
store=True
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Last Odometer'
odometer_count
Integer
compute='_compute_count_all'
string='Odometer'
odometer_unit
Selection
default='kilometers'
help='Unit of the odometer '
required=True
args: [('kilometers', 'Kilometers'), ('miles', 'Miles')], 'Odometer Unit'
power
Integer
help='Power in kW of the vehicle'
args: 'Power'
residual_value
Float
seats
Integer
help='Number of seats of the vehicle'
args: 'Seats Number'
service_count
Integer
compute='_compute_count_all'
string='Services'
state_id
Many2one → fleet.vehicle.state
default=_get_default_state
help='Current state of the vehicle'
ondelete='set null'
args: 'fleet.vehicle.state', 'State'
tag_ids
Many2many → fleet.vehicle.tag
copy=False
args: 'fleet.vehicle.tag', 'fleet_vehicle_vehicle_tag_rel', 'vehicle_tag_id', 'tag_id', 'Tags'
transmission
Selection
help='Transmission Used by the vehicle'
args: [('manual', 'Manual'), ('automatic', 'Automatic')], 'Transmission'
vin_sn
Char
copy=False
help='Unique number written on the vehicle motor (VIN/SN number)'
args: 'Chassis Number'
act_show_log_cost(self)
create(self, data)
return_action_to_open(self)
write(self, vals)
amount
Float
auto_generated
Boolean
readonly=True
args: 'Automatically Generated'
contract_id
Many2one → fleet.vehicle.log.contract
help='Contract attached to this cost'
args: 'fleet.vehicle.log.contract', 'Contract'
cost_ids
One2many → fleet.vehicle.cost
copy=True
args: 'fleet.vehicle.cost', 'parent_id', 'Included Services'
cost_subtype_id
Many2one → fleet.service.type
help='Cost type purchased with this cost'
args: 'fleet.service.type', 'Type'
cost_type
Selection
default='other'
help='For internal purpose only'
required=True
args: [('contract', 'Contract'), ('services', 'Services'), ('fuel', 'Fuel'), ('other', 'Other')], 'Category of the cost'
date
Date
help='Date when the cost has been executed'
description
Char
name
Char
related='vehicle_id.name'
store=True
string='Name'
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Odometer Value'
odometer_id
Many2one → fleet.vehicle.odometer
help='Odometer measure of the vehicle at the moment of this log'
args: 'fleet.vehicle.odometer', 'Odometer'
odometer_unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
parent_id
Many2one → fleet.vehicle.cost
help='Parent cost to this current cost'
args: 'fleet.vehicle.cost', 'Parent'
vehicle_id
Many2one → fleet.vehicle
help='Vehicle concerned by this log'
required=True
args: 'fleet.vehicle', 'Vehicle'
create(self, data)
active
Boolean
default=True
cost_amount
Float
related='cost_id.amount'
store=True
string='Amount'
cost_frequency
Selection
default='no'
help='Frequency of the recuring cost'
required=True
args: [('no', 'No'), ('daily', 'Daily'), ('weekly', 'Weekly'), ('monthly', 'Monthly'), ('yearly', 'Yearly')], 'Recurring Cost Frequency'
cost_generated
Float
help='Costs paid at regular intervals, depending on the cost frequency. If the cost frequency is set to unique, the cost will be logged at the start date'
args: 'Recurring Cost Amount'
cost_id
Many2one → fleet.vehicle.cost
ondelete='cascade'
required=True
args: 'fleet.vehicle.cost', 'Cost'
days_left
Integer
compute='_compute_days_left'
string='Warning Date'
expiration_date
Date
default=<expr>
help='Date when the coverage of the contract expirates (by default, one year after begin date)'
args: 'Contract Expiration Date'
generated_cost_ids
One2many → fleet.vehicle.cost
ins_ref
Char
copy=False
size=64
args: 'Contract Reference'
insurer_id
Many2one → res.partner
name
Text
compute='_compute_contract_name'
store=True
notes
Text
copy=False
help='Write here all supplementary information relative to this contract'
args: 'Terms and Conditions'
odometer
Float
help='Odometer measure of the vehicle at the moment of the contract creation'
string='Odometer at creation'
purchaser_id
Many2one → res.partner
default=<expr>
help='Person to which the contract is signed for'
args: 'res.partner', 'Contractor'
start_date
Date
default=fields.Date.context_today
help='Date when the coverage of the contract begins'
args: 'Contract Start Date'
state
Selection
copy=False
default='open'
help='Choose whether the contract is still valid or not'
readonly=True
track_visibility='onchange'
args: [('futur', 'Incoming'), ('open', 'In Progress'), ('expired', 'Expired'), ('diesoon', 'Expiring Soon'), ('closed', 'Closed')], 'Status'
sum_cost
Float
compute='_compute_sum_cost'
string='Indicative Costs Total'
act_renew_contract(self)
compute_next_year_date(self, strdate)
contract_close(self)
contract_open(self)
default_get(self, default_fields)
run_scheduler(self)
scheduler_manage_auto_costs(self)
scheduler_manage_contract_expiration(self)
cost_amount
Float
related='cost_id.amount'
store=True
string='Amount'
cost_id
Many2one → fleet.vehicle.cost
ondelete='cascade'
required=True
args: 'fleet.vehicle.cost', 'Cost'
inv_ref
Char
size=64
args: 'Invoice Reference'
liter
Float
notes
Text
price_per_liter
Float
purchaser_id
Many2one → res.partner
domain="['|',('customer','=',True),('employee','=',True)]"
args: 'res.partner', 'Purchaser'
vendor_id
Many2one → res.partner
domain="[('supplier','=',True)]"
args: 'res.partner', 'Vendor'
default_get(self, default_fields)
cost_amount
Float
related='cost_id.amount'
store=True
string='Amount'
cost_id
Many2one → fleet.vehicle.cost
ondelete='cascade'
required=True
args: 'fleet.vehicle.cost', 'Cost'
inv_ref
Char
notes
Text
purchaser_id
Many2one → res.partner
domain="['|',('customer','=',True),('employee','=',True)]"
args: 'res.partner', 'Purchaser'
vendor_id
Many2one → res.partner
domain="[('supplier','=',True)]"
args: 'res.partner', 'Vendor'
default_get(self, default_fields)
brand_id
Many2one → fleet.vehicle.model.brand
help='Make of the vehicle'
required=True
args: 'fleet.vehicle.model.brand', 'Make'
image
Binary
related='brand_id.image'
string='Logo'
image_medium
Binary
related='brand_id.image_medium'
string='Logo (medium)'
image_small
Binary
related='brand_id.image_small'
string='Logo (small)'
name
Char
required=True
args: 'Model name'
vendors
Many2many → res.partner
string='Vendors'
args: 'res.partner', 'fleet_vehicle_model_vendors', 'model_id', 'partner_id'
name_get(self)
image
Binary
attachment=True
help='This field holds the image used as logo for the brand, limited to 1024x1024px.'
args: 'Logo'
image_medium
Binary
attachment=True
help='Medium-sized logo of the brand. It is automatically resized as a 128x128px image, with aspect ratio preserved. Use this field in form views or some kanban views.'
args: 'Medium-sized image'
image_small
Binary
attachment=True
help='Small-sized logo of the brand. It is automatically resized as a 64x64px image, with aspect ratio preserved. Use this field anywhere a small image is required.'
args: 'Small-sized image'
name
Char
required=True
args: 'Make'
create(self, vals)
write(self, vals)
date
Date
default=fields.Date.context_today
driver_id
Many2one
related='vehicle_id.driver_id'
string='Driver'
name
Char
compute='_compute_vehicle_log_name'
store=True
unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
value
Float
group_operator='max'
args: 'Odometer Value'
vehicle_id
Many2one → fleet.vehicle
required=True
args: 'fleet.vehicle', 'Vehicle'
No public methods.
name
Char
required=True
sequence
Integer
help='Used to order the note stages'
No public methods.
color
Integer
default=10
args: 'Color Index'
name
Char
required=True
translate=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/10.0/fleet |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Denis Ledoux, Christophe Simonis, Nicolas Martinelli, Julien Legros, qdp-odoo, Jeremy Kersten, Yannick Tivisse, qsm-odoo, RomainLibert |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/fleet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:50:47 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web_kanban - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Vehicle, leasing, insurances, cost ================================== With this module, Odoo helps you managing all your vehicles, the contracts associated to those vehicle as well as services, fuel log entries, costs and many other features necessary to the management of your fleet of vehicle(s) Main Features ------------- * Add vehicles to your fleet * Manage contracts for vehicles * Reminder when a contract reach its expiration date * Add services, fuel log entry, odometer values for all vehicles * Show all costs associated to a vehicle or to a type of service * Analysis graph for costs |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fleet_vehicle_cost_indicative_view_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_cost_indicative_view_pivot |
fleet.vehicle.cost.pivot | fleet.vehicle.cost | pivot | New |
fleet_vehicle_cost_view_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_cost_view_pivot |
fleet.vehicle.cost.pivot | fleet.vehicle.cost | pivot | New |
fleet_vehicle_cost_view_tree |
fleet.vehicle.cost.tree | fleet.vehicle.cost | tree | New |
fleet_vehicle_costs_view_form |
fleet.vehicle.cost.form | fleet.vehicle.cost | form | New |
fleet_vehicle_costs_view_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_costs_view_search |
fleet.vehicle.cost.search | fleet.vehicle.cost | search | New |
fleet_vehicle_log_contract_view_form |
fleet.vehicle.log_contract.form | fleet.vehicle.log.contract | form | New |
fleet_vehicle_log_contract_view_graph |
fleet.vehicle.log.contract.graph | fleet.vehicle.log.contract | graph | New |
fleet_vehicle_log_contract_view_search |
fleet.vehicle.log.contract.search | fleet.vehicle.log.contract | search | New |
fleet_vehicle_log_contract_view_tree |
fleet.vehicle.log.contract.tree | fleet.vehicle.log.contract | tree | New |
fleet_vehicle_log_fuel_view_form |
fleet.vehicle.log.fuel.form | fleet.vehicle.log.fuel | form | New |
fleet_vehicle_log_fuel_view_graph |
fleet.vehicle.log.fuel.graph | fleet.vehicle.log.fuel | graph | New |
fleet_vehicle_log_fuel_view_search |
fleet.vehicle.log.fuel.search | fleet.vehicle.log.fuel | search | New |
fleet_vehicle_log_fuel_view_tree |
fleet.vehicle.log.fuel.tree | fleet.vehicle.log.fuel | tree | New |
fleet_vehicle_log_services_view_form |
fleet.vehicle.log.services.form | fleet.vehicle.log.services | form | New |
fleet_vehicle_log_services_view_graph |
fleet.vehicle.log.services.graph | fleet.vehicle.log.services | graph | New |
fleet_vehicle_log_services_view_search |
fleet.vehicle.log.services.search | fleet.vehicle.log.services | search | New |
fleet_vehicle_log_services_view_tree |
fleet.vehicle.log.services.tree | fleet.vehicle.log.services | tree | New |
fleet_vehicle_model_brand_view_form |
fleet.vehicle.model.brand.form | fleet.vehicle.model.brand | form | New |
fleet_vehicle_model_brand_view_kanban |
fleet.vehicle.model.brandkanban | fleet.vehicle.model.brand | kanban | New |
fleet_vehicle_model_brand_view_tree |
fleet.vehicle.model.brand.tree | fleet.vehicle.model.brand | tree | New |
fleet_vehicle_model_view_form |
fleet.vehicle.model.form | fleet.vehicle.model | form | New |
fleet_vehicle_model_view_search |
fleet.vehicle.model.search | fleet.vehicle.model | search | New |
fleet_vehicle_model_view_tree |
fleet.vehicle.model.tree | fleet.vehicle.model | tree | New |
fleet_vehicle_odometer_view_form |
fleet.vehicle.odometer.form | fleet.vehicle.odometer | form | New |
fleet_vehicle_odometer_view_graph |
fleet.vehicle.odometer.graph | fleet.vehicle.odometer | graph | New |
fleet_vehicle_odometer_view_search |
fleet.vehicle.odometer.search | fleet.vehicle.odometer | search | New |
fleet_vehicle_odometer_view_tree |
fleet.vehicle.odometer.tree | fleet.vehicle.odometer | tree | New |
fleet_vehicle_service_types_view_tree |
fleet.service.type.tree | fleet.service.type | tree | New |
fleet_vehicle_state_view_tree |
fleet.vehicle.state.tree | fleet.vehicle.state | tree | New |
fleet_vehicle_tag_view_view_form |
fleet.vehicle.tag.form | fleet.vehicle.tag | form | New |
fleet_vehicle_view_form |
fleet.vehicle.form | fleet.vehicle | form | New |
fleet_vehicle_view_kanban |
fleet.vehicle.kanban | fleet.vehicle | kanban | New |
fleet_vehicle_view_search |
fleet.vehicle.search | fleet.vehicle | search | New |
fleet_vehicle_view_tree |
fleet.vehicle.tree | fleet.vehicle | tree | New |
category
Selection
help='Choose wheter the service refer to contracts, vehicle services or both'
required=True
args: [('contract', 'Contract'), ('service', 'Service'), ('both', 'Both')], 'Category'
name
Char
required=True
translate=True
No public methods.
acquisition_date
Date
help='Date when the vehicle has been bought'
required=False
args: 'Acquisition Date'
active
Boolean
default=True
car_value
Float
help='Value of the bought vehicle'
co2
Float
help='CO2 emissions of the vehicle'
args: 'CO2 Emissions'
color
Char
help='Color of the vehicle'
company_id
Many2one → res.company
contract_count
Integer
compute='_compute_count_all'
string='Contracts'
contract_renewal_due_soon
Boolean
compute='_compute_contract_reminder'
multi='contract_info'
search='_search_contract_renewal_due_soon'
string='Has Contracts to renew'
contract_renewal_name
Text
compute='_compute_contract_reminder'
multi='contract_info'
string='Name of contract to renew soon'
contract_renewal_overdue
Boolean
compute='_compute_contract_reminder'
multi='contract_info'
search='_search_get_overdue_contract_reminder'
string='Has Contracts Overdue'
contract_renewal_total
Text
compute='_compute_contract_reminder'
multi='contract_info'
string='Total of contracts due or overdue minus one'
cost_count
Integer
compute='_compute_count_all'
string='Costs'
doors
Integer
default=5
help='Number of doors of the vehicle'
args: 'Doors Number'
driver_id
Many2one → res.partner
help='Driver of the vehicle'
args: 'res.partner', 'Driver'
fuel_logs_count
Integer
compute='_compute_count_all'
string='Fuel Logs'
fuel_type
Selection
help='Fuel Used by the vehicle'
args: [('gasoline', 'Gasoline'), ('diesel', 'Diesel'), ('electric', 'Electric'), ('hybrid', 'Hybrid')], 'Fuel Type'
horsepower
Integer
horsepower_tax
Float
image
Binary
related='model_id.image'
string='Logo'
image_medium
Binary
related='model_id.image_medium'
string='Logo (medium)'
image_small
Binary
related='model_id.image_small'
string='Logo (small)'
license_plate
Char
help='License plate number of the vehicle (i = plate number for a car)'
required=True
location
Char
help='Location of the vehicle (garage, ...)'
log_contracts
One2many → fleet.vehicle.log.contract
log_fuel
One2many → fleet.vehicle.log.fuel
log_services
One2many → fleet.vehicle.log.services
model_id
Many2one → fleet.vehicle.model
help='Model of the vehicle'
required=True
args: 'fleet.vehicle.model', 'Model'
name
Char
compute='_compute_vehicle_name'
store=True
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Last Odometer'
odometer_count
Integer
compute='_compute_count_all'
string='Odometer'
odometer_unit
Selection
default='kilometers'
help='Unit of the odometer '
required=True
args: [('kilometers', 'Kilometers'), ('miles', 'Miles')], 'Odometer Unit'
power
Integer
help='Power in kW of the vehicle'
args: 'Power'
seats
Integer
help='Number of seats of the vehicle'
args: 'Seats Number'
service_count
Integer
compute='_compute_count_all'
string='Services'
state_id
Many2one → fleet.vehicle.state
default=_get_default_state
help='Current state of the vehicle'
ondelete='set null'
args: 'fleet.vehicle.state', 'State'
tag_ids
Many2many → fleet.vehicle.tag
copy=False
args: 'fleet.vehicle.tag', 'fleet_vehicle_vehicle_tag_rel', 'vehicle_tag_id', 'tag_id', 'Tags'
transmission
Selection
help='Transmission Used by the vehicle'
args: [('manual', 'Manual'), ('automatic', 'Automatic')], 'Transmission'
vin_sn
Char
copy=False
help='Unique number written on the vehicle motor (VIN/SN number)'
args: 'Chassis Number'
act_show_log_cost(self)
create(self, data)
return_action_to_open(self)
write(self, vals)
amount
Float
auto_generated
Boolean
readonly=True
args: 'Automatically Generated'
contract_id
Many2one → fleet.vehicle.log.contract
help='Contract attached to this cost'
args: 'fleet.vehicle.log.contract', 'Contract'
cost_ids
One2many → fleet.vehicle.cost
cost_subtype_id
Many2one → fleet.service.type
help='Cost type purchased with this cost'
args: 'fleet.service.type', 'Type'
cost_type
Selection
default='other'
help='For internal purpose only'
required=True
args: [('contract', 'Contract'), ('services', 'Services'), ('fuel', 'Fuel'), ('other', 'Other')], 'Category of the cost'
date
Date
help='Date when the cost has been executed'
name
Char
related='vehicle_id.name'
store=True
string='Name'
odometer
Float
compute='_get_odometer'
help='Odometer measure of the vehicle at the moment of this log'
inverse='_set_odometer'
string='Odometer Value'
odometer_id
Many2one → fleet.vehicle.odometer
help='Odometer measure of the vehicle at the moment of this log'
args: 'fleet.vehicle.odometer', 'Odometer'
odometer_unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
parent_id
Many2one → fleet.vehicle.cost
help='Parent cost to this current cost'
args: 'fleet.vehicle.cost', 'Parent'
vehicle_id
Many2one → fleet.vehicle
help='Vehicle concerned by this log'
required=True
args: 'fleet.vehicle', 'Vehicle'
create(self, data)
active
Boolean
default=True
cost_amount
Float
related='cost_id.amount'
store=True
string='Amount'
cost_frequency
Selection
default='no'
help='Frequency of the recuring cost'
required=True
args: [('no', 'No'), ('daily', 'Daily'), ('weekly', 'Weekly'), ('monthly', 'Monthly'), ('yearly', 'Yearly')], 'Recurring Cost Frequency'
cost_generated
Float
help='Costs paid at regular intervals, depending on the cost frequency.If the cost frequency is set to unique, the cost will be logged at the start date'
args: 'Recurring Cost Amount'
cost_id
Many2one → fleet.vehicle.cost
ondelete='cascade'
required=True
args: 'fleet.vehicle.cost', 'Cost'
days_left
Integer
compute='_compute_days_left'
string='Warning Date'
expiration_date
Date
default=<expr>
help='Date when the coverage of the contract expirates (by default, one year after begin date)'
args: 'Contract Expiration Date'
generated_cost_ids
One2many → fleet.vehicle.cost
ins_ref
Char
copy=False
size=64
args: 'Contract Reference'
insurer_id
Many2one → res.partner
name
Text
compute='_compute_contract_name'
store=True
notes
Text
copy=False
help='Write here all supplementary information relative to this contract'
args: 'Terms and Conditions'
purchaser_id
Many2one → res.partner
default=<expr>
help='Person to which the contract is signed for'
args: 'res.partner', 'Contractor'
start_date
Date
default=fields.Date.context_today
help='Date when the coverage of the contract begins'
args: 'Contract Start Date'
state
Selection
copy=False
default='open'
help='Choose wheter the contract is still valid or not'
readonly=True
args: [('open', 'In Progress'), ('toclose', 'To Close'), ('closed', 'Terminated')], 'Status'
sum_cost
Float
compute='_compute_sum_cost'
string='Indicative Costs Total'
act_renew_contract(self)
compute_next_year_date(self, strdate)
contract_close(self)
contract_open(self)
default_get(self, default_fields)
run_scheduler(self)
scheduler_manage_auto_costs(self)
scheduler_manage_contract_expiration(self)
cost_amount
Float
related='cost_id.amount'
store=True
string='Amount'
cost_id
Many2one → fleet.vehicle.cost
ondelete='cascade'
required=True
args: 'fleet.vehicle.cost', 'Cost'
inv_ref
Char
size=64
args: 'Invoice Reference'
liter
Float
notes
Text
price_per_liter
Float
purchaser_id
Many2one → res.partner
domain="['|',('customer','=',True),('employee','=',True)]"
args: 'res.partner', 'Purchaser'
vendor_id
Many2one → res.partner
domain="[('supplier','=',True)]"
args: 'res.partner', 'Vendor'
default_get(self, default_fields)
cost_amount
Float
related='cost_id.amount'
store=True
string='Amount'
cost_id
Many2one → fleet.vehicle.cost
ondelete='cascade'
required=True
args: 'fleet.vehicle.cost', 'Cost'
inv_ref
Char
notes
Text
purchaser_id
Many2one → res.partner
domain="['|',('customer','=',True),('employee','=',True)]"
args: 'res.partner', 'Purchaser'
vendor_id
Many2one → res.partner
domain="[('supplier','=',True)]"
args: 'res.partner', 'Vendor'
default_get(self, default_fields)
brand_id
Many2one → fleet.vehicle.model.brand
help='Make of the vehicle'
required=True
args: 'fleet.vehicle.model.brand', 'Make'
image
Binary
related='brand_id.image'
string='Logo'
image_medium
Binary
related='brand_id.image_medium'
string='Logo (medium)'
image_small
Binary
related='brand_id.image_small'
string='Logo (small)'
name
Char
required=True
args: 'Model name'
vendors
Many2many → res.partner
string='Vendors'
args: 'res.partner', 'fleet_vehicle_model_vendors', 'model_id', 'partner_id'
name_get(self)
image
Binary
attachment=True
help='This field holds the image used as logo for the brand, limited to 1024x1024px.'
args: 'Logo'
image_medium
Binary
attachment=True
help='Medium-sized logo of the brand. It is automatically resized as a 128x128px image, with aspect ratio preserved. Use this field in form views or some kanban views.'
args: 'Medium-sized image'
image_small
Binary
attachment=True
help='Small-sized logo of the brand. It is automatically resized as a 64x64px image, with aspect ratio preserved. Use this field anywhere a small image is required.'
args: 'Small-sized image'
name
Char
required=True
args: 'Make'
create(self, vals)
write(self, vals)
date
Date
default=fields.Date.context_today
name
Char
compute='_compute_vehicle_log_name'
store=True
unit
Selection
readonly=True
related='vehicle_id.odometer_unit'
string='Unit'
value
Float
group_operator='max'
args: 'Odometer Value'
vehicle_id
Many2one → fleet.vehicle
required=True
args: 'fleet.vehicle', 'Vehicle'
No public methods.
name
Char
required=True
sequence
Integer
help='Used to order the note stages'
No public methods.
color
Integer
name
Char
required=True
translate=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/9.0/fleet |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Thibault Delavallée, Denis Ledoux, Christophe Simonis, Goffin Simon, Nicolas Martinelli, Richard Mathot, Géry Debongnie, Yogesh Parekh, Yannick Tivisse, qsm-odoo, Martin Geubelle |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/fleet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:48:29 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web_kanban - web - bus |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Vehicle, leasing, insurances, cost ================================== With this module, Odoo helps you managing all your vehicles, the contracts associated to those vehicle as well as services, fuel log entries, costs and many other features necessary to the management of your fleet of vehicle(s) Main Features ------------- * Add vehicles to your fleet * Manage contracts for vehicles * Reminder when a contract reach its expiration date * Add services, fuel log entry, odometer values for all vehicles * Show all costs associated to a vehicle or to a type of service * Analysis graph for costs |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fleet_vehicle_cost_tree |
fleet.vehicle.cost.tree | fleet.vehicle.cost | tree | New |
fleet_vehicle_costs_form |
fleet.vehicle.cost.form | fleet.vehicle.cost | form | New |
fleet_vehicle_costs_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_costs_search |
fleet.vehicle.cost.search | fleet.vehicle.cost | search | New |
fleet_vehicle_effective_costs_report |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_effective_costs_report_pivot |
fleet.vehicle.cost.pivot | fleet.vehicle.cost | pivot | New |
fleet_vehicle_form |
fleet.vehicle.form | fleet.vehicle | form | New |
fleet_vehicle_indicative_costs_report |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_indicative_costs_report_pivot |
fleet.vehicle.cost.pivot | fleet.vehicle.cost | pivot | New |
fleet_vehicle_kanban |
fleet.vehicle.kanban | fleet.vehicle | kanban | New |
fleet_vehicle_log_contract_form |
fleet.vehicle.log_contract.form | fleet.vehicle.log.contract | form | New |
fleet_vehicle_log_contract_graph |
fleet.vehicle.log.contract.graph | fleet.vehicle.log.contract | graph | New |
fleet_vehicle_log_contract_tree |
fleet.vehicle.log.contract.tree | fleet.vehicle.log.contract | tree | New |
fleet_vehicle_log_fuel_form |
fleet.vehicle.log.fuel.form | fleet.vehicle.log.fuel | form | New |
fleet_vehicle_log_fuel_graph |
fleet.vehicle.log.fuel.graph | fleet.vehicle.log.fuel | graph | New |
fleet_vehicle_log_fuel_search |
fleet.vehicle.log.fuel.search | fleet.vehicle.log.fuel | search | New |
fleet_vehicle_log_fuel_tree |
fleet.vehicle.log.fuel.tree | fleet.vehicle.log.fuel | tree | New |
fleet_vehicle_log_services_form |
fleet.vehicle.log.services.form | fleet.vehicle.log.services | form | New |
fleet_vehicle_log_services_graph |
fleet.vehicle.log.services.graph | fleet.vehicle.log.services | graph | New |
fleet_vehicle_log_services_search |
fleet.vehicle.log.services.search | fleet.vehicle.log.services | search | New |
fleet_vehicle_log_services_tree |
fleet.vehicle.log.services.tree | fleet.vehicle.log.services | tree | New |
fleet_vehicle_model_brand_form |
fleet.vehicle.model.brand.form | fleet.vehicle.model.brand | form | New |
fleet_vehicle_model_brand_kanban |
fleet.vehicle.model.brandkanban | fleet.vehicle.model.brand | kanban | New |
fleet_vehicle_model_brand_tree |
fleet.vehicle.model.brand.tree | fleet.vehicle.model.brand | tree | New |
fleet_vehicle_model_form |
fleet.vehicle.model.form | fleet.vehicle.model | form | New |
fleet_vehicle_model_search |
fleet.vehicle.model.search | fleet.vehicle.model | search | New |
fleet_vehicle_model_tree |
fleet.vehicle.model.tree | fleet.vehicle.model | tree | New |
fleet_vehicle_odometer_form |
fleet.vehicle.odometer.form | fleet.vehicle.odometer | form | New |
fleet_vehicle_odometer_graph |
fleet.vehicle.odometer.graph | fleet.vehicle.odometer | graph | New |
fleet_vehicle_odometer_search |
fleet.vehicle.odometer.search | fleet.vehicle.odometer | search | New |
fleet_vehicle_odometer_tree |
fleet.vehicle.odometer.tree | fleet.vehicle.odometer | tree | New |
fleet_vehicle_search |
fleet.vehicle.search | fleet.vehicle | search | New |
fleet_vehicle_service_types_tree |
fleet.service.type.tree | fleet.service.type | tree | New |
fleet_vehicle_state_tree |
fleet.vehicle.state.tree | fleet.vehicle.state | tree | New |
fleet_vehicle_tree |
fleet.vehicle.tree | fleet.vehicle | tree | New |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (5)act_show_log_cost(self, cr, uid, ids, context=None)
create(self, cr, uid, data, context=None)
on_change_model(self, cr, uid, ids, model_id, context=None)
return_action_to_open(self, cr, uid, ids, context=None)
write(self, cr, uid, ids, vals, context=None)
No new fields.
Public methods (1)create(self, cr, uid, data, context=None)
No new fields.
Public methods (11)act_renew_contract(self, cr, uid, ids, context=None)
compute_next_year_date(self, strdate)
contract_close(self, cr, uid, ids, context=None)
contract_open(self, cr, uid, ids, context=None)
get_days_left(self, cr, uid, ids, prop, unknow_none, context=None)
on_change_indic_cost(self, cr, uid, ids, cost_ids, context=None)
on_change_start_date(self, cr, uid, ids, strdate, enddate, context=None)
on_change_vehicle(self, cr, uid, ids, vehicle_id, context=None)
run_scheduler(self, cr, uid, context=None)
scheduler_manage_auto_costs(self, cr, uid, context=None)
scheduler_manage_contract_expiration(self, cr, uid, context=None)
No new fields.
Public methods (4)on_change_amount(self, cr, uid, ids, liter, price_per_liter, amount, context=None)
on_change_liter(self, cr, uid, ids, liter, price_per_liter, amount, context=None)
on_change_price_per_liter(self, cr, uid, ids, liter, price_per_liter, amount, context=None)
on_change_vehicle(self, cr, uid, ids, vehicle_id, context=None)
No new fields.
Public methods (1)on_change_vehicle(self, cr, uid, ids, vehicle_id, context=None)
No new fields.
Public methods (2)name_get(self, cr, uid, ids, context=None)
on_change_brand(self, cr, uid, ids, model_id, context=None)
No new fields.
Public methods (2)create(self, vals)
write(self, vals)
No new fields.
Public methods (1)on_change_vehicle(self, cr, uid, ids, vehicle_id, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/8.0/fleet |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Managing vehicles and contracts |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | OpenERP S.A. |
| MAINTAINERS | |
| MAINTAINERS | OpenERP S.A. |
| COMMITTERS | |
| COMMITTERS | Randhir Mayatra (OpenERP), Stephane Wirtel, Odoo Translation Bot, Turkesh Patel (Open ERP), ajay javiya (OpenERP), Martin Trigaux, Ajay Chauhan (OpenERP), Foram Katharotiya (OpenERP), Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Thibault Delavallée, Vo Minh Thu, Launchpad Translations on behalf of openerp, Quentin (OpenERP), Denis Ledoux, Fabien Meghazi, Christophe Simonis, Xavier Morel, Cedric Snauwaert, Simon Lejeune, Amit Bhavsar (Open ERP), Raphaël Valyi, Richard Mathot, Géry Debongnie, Aaron Bohy, Richard Mathot (OpenERP), ged-odoo, Gery Debongnie, Randhir Mayatra rma-openerp, Yogesh Parekh (OpenERP) |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/fleet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:45:38 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web_kanban - web - board |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Vehicle, leasing, insurances, cost ================================== With this module, Odoo helps you managing all your vehicles, the contracts associated to those vehicle as well as services, fuel log entries, costs and many other features necessary to the management of your fleet of vehicle(s) Main Features ------------- * Add vehicles to your fleet * Manage contracts for vehicles * Reminder when a contract reach its expiration date * Add services, fuel log entry, odometer values for all vehicles * Show all costs associated to a vehicle or to a type of service * Analysis graph for costs |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fleet_vehicle_cost_tree |
fleet.vehicle.cost.tree | fleet.vehicle.cost | tree | New |
fleet_vehicle_costs_form |
fleet.vehicle.cost.form | fleet.vehicle.cost | form | New |
fleet_vehicle_costs_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_costs_search |
fleet.vehicle.cost.search | fleet.vehicle.cost | search | New |
fleet_vehicle_effective_costs_report |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_form |
fleet.vehicle.form | fleet.vehicle | form | New |
fleet_vehicle_indicative_costs_report |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_kanban |
fleet.vehicle.kanban | fleet.vehicle | kanban | New |
fleet_vehicle_log_contract_form |
fleet.vehicle.log_contract.form | fleet.vehicle.log.contract | form | New |
fleet_vehicle_log_contract_graph |
fleet.vehicle.log.contract.graph | fleet.vehicle.log.contract | graph | New |
fleet_vehicle_log_contract_tree |
fleet.vehicle.log.contract.tree | fleet.vehicle.log.contract | tree | New |
fleet_vehicle_log_fuel_form |
fleet.vehicle.log.fuel.form | fleet.vehicle.log.fuel | form | New |
fleet_vehicle_log_fuel_graph |
fleet.vehicle.log.fuel.graph | fleet.vehicle.log.fuel | graph | New |
fleet_vehicle_log_fuel_search |
fleet.vehicle.log.fuel.search | fleet.vehicle.log.fuel | search | New |
fleet_vehicle_log_fuel_tree |
fleet.vehicle.log.fuel.tree | fleet.vehicle.log.fuel | tree | New |
fleet_vehicle_log_services_form |
fleet.vehicle.log.services.form | fleet.vehicle.log.services | form | New |
fleet_vehicle_log_services_graph |
fleet.vehicle.log.services.graph | fleet.vehicle.log.services | graph | New |
fleet_vehicle_log_services_search |
fleet.vehicle.log.services.search | fleet.vehicle.log.services | search | New |
fleet_vehicle_log_services_tree |
fleet.vehicle.log.services.tree | fleet.vehicle.log.services | tree | New |
fleet_vehicle_model_brand_form |
fleet.vehicle.model.brand.form | fleet.vehicle.model.brand | form | New |
fleet_vehicle_model_brand_kanban |
fleet.vehicle.model.brandkanban | fleet.vehicle.model.brand | kanban | New |
fleet_vehicle_model_brand_tree |
fleet.vehicle.model.brand.tree | fleet.vehicle.model.brand | tree | New |
fleet_vehicle_model_form |
fleet.vehicle.model.form | fleet.vehicle.model | form | New |
fleet_vehicle_model_search |
fleet.vehicle.model.search | fleet.vehicle.model | search | New |
fleet_vehicle_model_tree |
fleet.vehicle.model.tree | fleet.vehicle.model | tree | New |
fleet_vehicle_odometer_form |
fleet.vehicle.odometer.form | fleet.vehicle.odometer | form | New |
fleet_vehicle_odometer_graph |
fleet.vehicle.odometer.graph | fleet.vehicle.odometer | graph | New |
fleet_vehicle_odometer_search |
fleet.vehicle.odometer.search | fleet.vehicle.odometer | search | New |
fleet_vehicle_odometer_tree |
fleet.vehicle.odometer.tree | fleet.vehicle.odometer | tree | New |
fleet_vehicle_search |
fleet.vehicle.search | fleet.vehicle | search | New |
fleet_vehicle_service_types_tree |
fleet.service.type.tree | fleet.service.type | tree | New |
fleet_vehicle_state_tree |
fleet.vehicle.state.tree | fleet.vehicle.state | tree | New |
fleet_vehicle_tree |
fleet.vehicle.tree | fleet.vehicle | tree | New |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (5)act_show_log_cost(self, cr, uid, ids, context=None)
create(self, cr, uid, data, context=None)
on_change_model(self, cr, uid, ids, model_id, context=None)
return_action_to_open(self, cr, uid, ids, context=None)
write(self, cr, uid, ids, vals, context=None)
No new fields.
Public methods (1)create(self, cr, uid, data, context=None)
No new fields.
Public methods (11)act_renew_contract(self, cr, uid, ids, context=None)
compute_next_year_date(self, strdate)
contract_close(self, cr, uid, ids, context=None)
contract_open(self, cr, uid, ids, context=None)
get_days_left(self, cr, uid, ids, prop, unknow_none, context=None)
on_change_indic_cost(self, cr, uid, ids, cost_ids, context=None)
on_change_start_date(self, cr, uid, ids, strdate, enddate, context=None)
on_change_vehicle(self, cr, uid, ids, vehicle_id, context=None)
run_scheduler(self, cr, uid, context=None)
scheduler_manage_auto_costs(self, cr, uid, context=None)
scheduler_manage_contract_expiration(self, cr, uid, context=None)
No new fields.
Public methods (4)on_change_amount(self, cr, uid, ids, liter, price_per_liter, amount, context=None)
on_change_liter(self, cr, uid, ids, liter, price_per_liter, amount, context=None)
on_change_price_per_liter(self, cr, uid, ids, liter, price_per_liter, amount, context=None)
on_change_vehicle(self, cr, uid, ids, vehicle_id, context=None)
No new fields.
Public methods (1)on_change_vehicle(self, cr, uid, ids, vehicle_id, context=None)
No new fields.
Public methods (1)on_change_brand(self, cr, uid, ids, model_id, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)on_change_vehicle(self, cr, uid, ids, vehicle_id, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/7.0/fleet |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Managing vehicles and contracts |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | OpenERP S.A. |
| MAINTAINERS | |
| MAINTAINERS | OpenERP S.A. |
| COMMITTERS | |
| COMMITTERS | Cecile Tonglet, Randhir Mayatra (OpenERP), Odoo Translation Bot, Martin Trigaux, Ajay Chauhan (OpenERP), Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Tejas Tank, Vo Minh Thu, Arnaud Pineux, Launchpad Translations on behalf of openerp, Quentin (OpenERP), Fabien Meghazi, Christophe Simonis, Denis Ledoux dle@openerp.com, Cedric Snauwaert, Serpent Consulting Services, Ravish (Open ERP) |
| WEBSITE | |
| WEBSITE | http://www.openerp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:43:08 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web_kanban - web - board |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Vehicle, leasing, insurances, cost ================================== With this module, OpenERP helps you managing all your vehicles, the contracts associated to those vehicle as well as services, fuel log entries, costs and many other features necessary to the management of your fleet of vehicle(s) Main Features ------------- * Add vehicles to your fleet * Manage contracts for vehicles * Reminder when a contract reach its expiration date * Add services, fuel log entry, odometer values for all vehicles * Show all costs associated to a vehicle or to a type of service * Analysis graph for costs |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
board_fleet_form |
board.fleet.form | board.board | form | New |
fleet_vehicle_costs_form |
fleet.vehicle.cost.form | fleet.vehicle.cost | form | New |
fleet_vehicle_costs_graph |
fleet.vehicle.cost.graph | fleet.vehicle.cost | graph | New |
fleet_vehicle_costs_search |
fleet.vehicle.cost.search | fleet.vehicle.cost | search | New |
fleet_vehicle_costs_tree |
fleet.vehicle.cost.tree | fleet.vehicle.cost | tree | New |
fleet_vehicle_form |
fleet.vehicle.form | fleet.vehicle | form | New |
fleet_vehicle_kanban |
fleet.vehicle.kanban | fleet.vehicle | kanban | New |
fleet_vehicle_log_contract_form |
fleet.vehicle.log_contract.form | fleet.vehicle.log.contract | form | New |
fleet_vehicle_log_contract_graph |
fleet.vehicle.log.contract.graph | fleet.vehicle.log.contract | graph | New |
fleet_vehicle_log_contract_tree |
fleet.vehicle.log.contract.tree | fleet.vehicle.log.contract | tree | New |
fleet_vehicle_log_fuel_form |
fleet.vehicle.log.fuel.form | fleet.vehicle.log.fuel | form | New |
fleet_vehicle_log_fuel_graph |
fleet.vehicle.log.fuel.graph | fleet.vehicle.log.fuel | graph | New |
fleet_vehicle_log_fuel_search |
fleet.vehicle.log.fuel.search | fleet.vehicle.log.fuel | search | New |
fleet_vehicle_log_fuel_tree |
fleet.vehicle.log.fuel.tree | fleet.vehicle.log.fuel | tree | New |
fleet_vehicle_log_services_form |
fleet.vehicle.log.services.form | fleet.vehicle.log.services | form | New |
fleet_vehicle_log_services_graph |
fleet.vehicle.log.services.graph | fleet.vehicle.log.services | graph | New |
fleet_vehicle_log_services_tree |
fleet.vehicle.log.services.tree | fleet.vehicle.log.services | tree | New |
fleet_vehicle_model_brand_form |
fleet.vehicle.model.brand.form | fleet.vehicle.model.brand | form | New |
fleet_vehicle_model_brand_kanban |
fleet.vehicle.model.brandkanban | fleet.vehicle.model.brand | kanban | New |
fleet_vehicle_model_brand_tree |
fleet.vehicle.model.brand.tree | fleet.vehicle.model.brand | tree | New |
fleet_vehicle_model_form |
fleet.vehicle.model.form | fleet.vehicle.model | form | New |
fleet_vehicle_model_search |
fleet.vehicle.model.search | fleet.vehicle.model | search | New |
fleet_vehicle_model_tree |
fleet.vehicle.model.tree | fleet.vehicle.model | tree | New |
fleet_vehicle_odometer_form |
fleet.vehicle.odometer.form | fleet.vehicle.odometer | form | New |
fleet_vehicle_odometer_graph |
fleet.vehicle.odometer.graph | fleet.vehicle.odometer | graph | New |
fleet_vehicle_odometer_search |
fleet.vehicle.odometer.search | fleet.vehicle.odometer | search | New |
fleet_vehicle_odometer_tree |
fleet.vehicle.odometer.tree | fleet.vehicle.odometer | tree | New |
fleet_vehicle_search |
fleet.vehicle.search | fleet.vehicle | search | New |
fleet_vehicle_service_types_tree |
fleet.service.type.tree | fleet.service.type | tree | New |
fleet_vehicle_state_tree |
fleet.vehicle.state.tree | fleet.vehicle.state | tree | New |
fleet_vehicle_tree |
fleet.vehicle.tree | fleet.vehicle | tree | New |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (6)act_show_log_cost(self, cr, uid, ids, context=None)
copy(self, cr, uid, id, default=None, context=None)
create(self, cr, uid, data, context=None)
on_change_model(self, cr, uid, ids, model_id, context=None)
return_action_to_open(self, cr, uid, ids, context=None)
write(self, cr, uid, ids, vals, context=None)
No new fields.
Public methods (1)create(self, cr, uid, data, context=None)
No new fields.
Public methods (12)act_renew_contract(self, cr, uid, ids, context=None)
compute_next_year_date(self, strdate)
contract_close(self, cr, uid, ids, context=None)
contract_open(self, cr, uid, ids, context=None)
copy(self, cr, uid, id, default=None, context=None)
get_days_left(self, cr, uid, ids, prop, unknow_none, context=None)
on_change_indic_cost(self, cr, uid, ids, cost_ids, context=None)
on_change_start_date(self, cr, uid, ids, strdate, enddate, context=None)
on_change_vehicle(self, cr, uid, ids, vehicle_id, context=None)
run_scheduler(self, cr, uid, context=None)
scheduler_manage_auto_costs(self, cr, uid, context=None)
scheduler_manage_contract_expiration(self, cr, uid, context=None)
No new fields.
Public methods (4)on_change_amount(self, cr, uid, ids, liter, price_per_liter, amount, context=None)
on_change_liter(self, cr, uid, ids, liter, price_per_liter, amount, context=None)
on_change_price_per_liter(self, cr, uid, ids, liter, price_per_liter, amount, context=None)
on_change_vehicle(self, cr, uid, ids, vehicle_id, context=None)
No new fields.
Public methods (1)on_change_vehicle(self, cr, uid, ids, vehicle_id, context=None)
No new fields.
Public methods (1)on_change_brand(self, cr, uid, ids, model_id, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)on_change_vehicle(self, cr, uid, ids, vehicle_id, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.