Odoo 19.0 Community · Persistent

fleet.vehicle: fields, relations and API

The fleet.vehicle model ("Vehicle") is a persistent model declared by the Fleet module, then extended by 2 other modules. It exposes 108 fields, 69 of them declared directly on the model; 9 fields from other models point to it. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 19 JSON-2 API call.

Model identity

Technical name
fleet.vehicle
Label
Vehicle
Type
Persistent (models.Model)
SQL table
fleet_vehicle
Origin module
Fleet (fleet)
Extended by
account_fleet, hr_fleet
Default order (_order)
license_plate asc, acquisition_date asc
Inherits from (mixins)
mail.threadmail.activity.mixinavatar.mixin

Model fields

69 own fields, 33 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.

108 of 108 fields shown

Technical nameLabelTypeDetails
account_move_idsAccount Moveone2many
computed

added by Accounting/Fleet bridge (account_fleet)

acquisition_dateRegistration Date

Date of vehicle registration

date
activeActiveboolean
bill_countBills Countinteger
computed

added by Accounting/Fleet bridge (account_fleet)

brand_idBrandmany2one

related: model_id.brand_id

car_valueCatalog Value (VAT Incl.)float
category_idCategorymany2one
computed, stored
co2CO₂ Emissions

CO2 emissions of the vehicle

float
computed, stored
co2_emission_unitCo2 Emission Unitselection
requiredcomputed, stored

Values: g/km (g/km), g/mi (g/mi)

co2_standardEmission Standard

Emission Standard specifies the regulatory test procedure or guideline under which a vehicle's emissions are measured.

char
computed, stored
colorColor

Color of the vehicle

char
computed, stored
company_idCompanymany2one
contract_countContract Countinteger
computed
contract_date_startFirst Contract Datedate
contract_renewal_due_soonHas Contracts to renewboolean
computed
contract_renewal_overdueHas Contracts Overdueboolean
computed
contract_stateLast Contract Stateselection
computed

Values: futur (Incoming), open (In Progress), expired (Expired), closed (Closed)

country_codeCountry Codechar

related: country_id.code

country_idCountrymany2one

related: company_id.country_id

currency_idCurrencymany2one

related: company_id.currency_id

descriptionVehicle Descriptionhtml
doorsNumber of Doors

Number of doors of the vehicle

integer
computed, stored
driver_employee_idDriver (Employee)many2one
computed, stored

added by Fleet History (hr_fleet)

driver_employee_nameDriver Employee Namechar

related: driver_employee_id.name

added by Fleet History (hr_fleet)

driver_idDriver

Driver address of the vehicle

many2one
electric_assistanceElectric Assistanceboolean
computed, stored
frame_sizeFrame Sizefloat
frame_typeBike Frame Typeselection

Values: diamant (Diamant), trapez (Trapez), wave (Wave)

fuel_typeFuel Typeselection
computed, stored

Values: diesel (Diesel), gasoline (Gasoline), full_hybrid (Full Hybrid), plug_in_hybrid_diesel (Plug-in Hybrid Diesel), plug_in_hybrid_gasoline (Plug-in Hybrid Gasoline), cng (CNG), lpg (LPG), hydrogen (Hydrogen), electric (Electric)

future_driver_employee_idFuture Driver (Employee)many2one
computed, stored

added by Fleet History (hr_fleet)

future_driver_idFuture Driver

Next Driver Address of the vehicle

many2one
history_countDrivers History Countinteger
computed
horsepowerHorsepowerfloat
computed, stored
horsepower_taxHorsepower Taxationfloat
computed, stored
image_128Image 128image
read-only

related: model_id.image_128

license_plateLicense Plate

License plate number of the vehicle (i = plate number for a car)

char
locationLocation

Location of the vehicle (garage, ...)

char
log_contractsContractsone2many

inverse: vehicle_id

log_driversAssignment Logsone2many

inverse: vehicle_id

log_servicesServices Logsone2many

inverse: vehicle_id

manager_idFleet Managermany2one
mobility_cardMobility Cardchar
computed, stored

added by Fleet History (hr_fleet)

model_idModelmany2one
required
model_yearModel Year

Year of the model

selection
computed, stored

Values computed at runtime

nameNamechar
computed, stored
net_car_valuePurchase Valuefloat
next_assignation_dateAssignment Date

This is the date at which the car will be available, if not set it means available instantly

date
odometerLast Odometer

Odometer measure of the vehicle at the moment of this log

float
computed
odometer_countOdometerinteger
computed
odometer_unitOdometer Unitselection
required

Values: kilometers (km), miles (mi)

order_dateOrder Datedate
plan_to_change_bikePlan To Change Bikeboolean
plan_to_change_carPlan To Change Carboolean
powerPower

Power in kW of the vehicle

float
computed, stored
power_unitPower Unitselection
required

Values: power (kW), horsepower (Horsepower)

range_unitRange Unitselection
requiredcomputed, stored

Values: km (km), mi (mi)

residual_valueResidual Valuefloat
seatsSeating Capacity

Number of seats of the vehicle

integer
computed, stored
service_activityService Activityselection
computed

Values: none (None), overdue (Overdue), today (Today)

service_countServicesinteger
computed
state_idState

Current state of the vehicle

many2one
tag_idsTagsmany2many
trailer_hookTrailer Hitch

A trailer hitch is a device attached to a vehicle's chassis for towing purposes, such as pulling trailers, boats, or other vehicles.

boolean
computed, stored
transmissionTransmissionselection
computed, stored

Values: manual (Manual), automatic (Automatic)

vehicle_propertiesPropertiesproperties
vehicle_rangeRangeinteger
vehicle_typeVehicle Typeselection

related: model_id.vehicle_type

vin_snChassis Number

Unique number written on the vehicle motor (VIN/SN number)

char
write_off_dateCancellation Date

Date when the vehicle's license plate has been cancelled/removed.

date
activity_calendar_event_idNext Activity Calendar Eventmany2one
computed

inherited from mail.activity.mixin

activity_date_deadlineNext Activity Deadlinedate
read-onlycomputed

inherited from mail.activity.mixin

activity_exception_decorationActivity Exception Decoration

Type of the exception activity on record.

selection
computed

Values: warning (Alert), danger (Error)

inherited from mail.activity.mixin

activity_exception_iconIcon

Icon to indicate an exception activity.

char
computed

inherited from mail.activity.mixin

activity_idsActivitiesone2many

inverse: res_id

inherited from mail.activity.mixin

activity_stateActivity State

Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities.

selection
computed

Values: overdue (Overdue), today (Today), planned (Planned)

inherited from mail.activity.mixin

activity_summaryNext Activity Summarychar

related: activity_ids.summary

inherited from mail.activity.mixin

activity_type_iconActivity Type Iconchar

related: activity_ids.icon

inherited from mail.activity.mixin

activity_type_idNext Activity Typemany2one

related: activity_ids.activity_type_id

inherited from mail.activity.mixin

activity_user_idResponsible Usermany2one
read-onlycomputed

inherited from mail.activity.mixin

avatar_1024Avatar 1024image
computed

inherited from avatar.mixin

avatar_128Avatar 128image
computed

inherited from avatar.mixin

avatar_1920Avatarimage
computed

inherited from avatar.mixin

avatar_256Avatar 256image
computed

inherited from avatar.mixin

avatar_512Avatar 512image
computed

inherited from avatar.mixin

has_messageHas Messageboolean
computed

inherited from mail.thread

image_1024Image 1024image

related: image_1920

inherited from image.mixin

image_1920Imageimage

inherited from image.mixin

image_256Image 256image

related: image_1920

inherited from image.mixin

image_512Image 512image

related: image_1920

inherited from image.mixin

message_attachment_countAttachment Countinteger
computed

inherited from mail.thread

message_follower_idsFollowersone2many

inverse: res_id

inherited from mail.thread

message_has_errorMessage Delivery error

If checked, some messages have a delivery error.

boolean
computed

inherited from mail.thread

message_has_error_counterNumber of errors

Number of messages with delivery error

integer
computed

inherited from mail.thread

message_has_sms_errorSMS Delivery error

If checked, some messages have a delivery error.

boolean
computed

inherited from mail.thread

message_idsMessagesone2many

inverse: res_id

inherited from mail.thread

message_is_followerIs Followerboolean
computed

inherited from mail.thread

message_needactionAction Needed

If checked, new messages require your attention.

boolean
computed

inherited from mail.thread

message_needaction_counterNumber of Actions

Number of messages requiring action

integer
computed

inherited from mail.thread

message_partner_idsFollowers (Partners)many2many
computed

inherited from mail.thread

my_activity_date_deadlineMy Activity Deadlinedate
read-onlycomputed

inherited from mail.activity.mixin

rating_idsRatingsone2many

inverse: res_id

inherited from mail.thread

website_message_idsWebsite Messages

Website communication history

one2many

inverse: res_id

inherited from mail.thread

create_dateCreated ondatetime
read-onlyautomatic
create_uidCreated bymany2one
read-onlyautomatic
display_nameDisplay Namechar
read-onlycomputedautomatic
idIDinteger
read-onlyautomatic
write_dateLast Updated ondatetime
read-onlyautomatic
write_uidLast Updated bymany2one
read-onlyautomatic

Relations

Models linked from this model

Fields of other models pointing here

Reading this model through the API

Odoo 19 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.

curl
curl -X POST "https://your-instance.odoo.com/json/2/fleet.vehicle/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: your-db" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","co2_emission_unit","model_id","odometer_unit","power_unit"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}

res = requests.post(
    f"{BASE_URL}/fleet.vehicle/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","co2_emission_unit","model_id","odometer_unit","power_unit"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • External API access requires Odoo's Custom plan.
  • XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
  • The access rights and record rules of the key's user apply.

Cite this tool

Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.

<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/fleet-vehicle">fleet.vehicle (Odoo 19.0)</a>

Sources

Data verified on September 23, 2026 · Odoo 19.0 Community

Have an Odoo project, or want to put your ERP to work with AI? Let's talk

Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.