TIP: You can type at any time to perform a new search.
Transport
tms · OCA/stock-logistics-transport
- Repository
- OCA/stock-logistics-transport · module folder · Try on Runboat
- Module version
- Category
- TMS
- Folder size
- 0.54 MB
- License
- AGPL-3
- Application
- Yes
- Auto-installable
- No
- Website
- https://github.com/OCA/stock-logistics-transport
- Last tracking update
- 2026-08-18 17:42:13
- Authors
- Odoo Community Association (OCA), Open Source Integrators
- Maintainers
- Odoo Community Association (OCA), Open Source Integrators
- Committers
- Maxime Chambreuil, Weblate, OCA-git-bot, oca-ci, Volkan TAŞCI
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- tms_account, tms_expense, tms_product, tms_purchase, tms_sale
- Description
The Transport Management Systems (TMS) module manages the workflow of creating transport operations within Odoo. This module provides features such as creating teams, stages, crews, routes, and vehicles, allowing businesses to efficiently handle various aspects of their transport operations.
Code Analysis ⓘ
Views touched (28)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fleet_vehicle_inherit_view_form |
fleet.vehicle.inherit.view.form | fleet.vehicle | form | Inherits fleet.fleet_vehicle_view_form |
res_config_settings_view_form |
res.config.settings.view.form.inherit.tms | res.config.settings | form | Inherits base.res_config_settings_view_form |
tms_crew_view_form |
tms.crew.view.form | tms.crew | form | New |
tms_crew_view_kanban |
tms.crew.view.kanban | tms.crew | kanban | New |
tms_insurance_view_form |
tms.insurance.view.form | tms.insurance | form | New |
tms_insurance_view_list |
tms.insurance.view.list | tms.insurance | list | New |
tms_order_report_view_graph |
tms.order.report.view.graph | tms.order | graph | New |
tms_order_view_form |
tms.order.view.form | tms.order | form | New |
tms_order_view_kanban |
tms.order.view.kanban | tms.order | kanban | New |
tms_order_view_list |
tms.order.view.list | tms.order | list | New |
tms_order_view_pivot |
tms.order.view.pivot | tms.order | pivot | New |
tms_route_view_list |
tms.route.view.list | tms.route | list | New |
tms_stage_form_view |
tms.stage.form | tms.stage | form | New |
tms_stage_list_view |
tms.stage.list | tms.stage | list | New |
tms_team_view_form |
tms.team.view.form | tms.team | form | New |
tms_team_view_kanban |
tms.team.kanban | tms.team | kanban | New |
view_res_partner_form_inherit_tms_location |
res.partner.form.inherit.tms.location | res.partner | form | Inherits base.view_partner_form |
view_res_partner_list_tms_location |
res.partner.list.tms.location | res.partner | list | New |
view_res_partner_search_inherit |
res.partner.search.inherit | res.partner | search | New |
view_tms_crew_search |
tms.crew.search | tms.crew | search | New |
view_tms_driver_form_inherit |
tms.driver.form.inherit | tms.driver | form | Inherits base.view_partner_form |
view_tms_driver_kanban |
tms.driver.view.kanban | tms.driver | kanban | New |
view_tms_driver_list |
tms.driver.list | tms.driver | list | New |
view_tms_order_search |
tms.order.search | tms.order | search | New |
view_tms_route_form |
tms.route.form | tms.route | form | New |
view_tms_route_search |
tms.route.search | tms.route | search | New |
view_tms_stage_search |
tms.stage.search | tms.stage | search | New |
view_tms_team_search |
tms.team.search | tms.team | search | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (10)
New fields (6)
-
capacityFloat -
cargo_uom_idMany2one → uom.uomdefault=<expr>domain=<expr> args: 'uom.uom' -
insurance_idMany2many → tms.insuranceargs: 'tms.insurance' -
operationSelectionargs: [('cargo', 'Cargo'), ('passenger', 'Passenger')] -
tms_driver_idMany2one → tms.driverstring='Driver Id' args: 'tms.driver' -
tms_team_idMany2one → tms.teamargs: 'tms.team'
No public methods.
New fields (19)
-
driver_license_security_daysIntegerconfig_parameter='tms.default_driver_license_security_days'required=Truestring='Driver license security days' -
group_tms_crewBooleanimplied_group='tms.group_tms_crew'string='Manage Crews' -
group_tms_driver_licenseBooleanimplied_group='tms.group_tms_driver_license'string='Manage Driver License' -
group_tms_routeBooleanimplied_group='tms.group_tms_route'string='Manage Routes' -
group_tms_route_stopBooleanimplied_group='tms.group_tms_route_stop'string='Manage Route Stops' -
group_tms_teamBooleanimplied_group='tms.group_tms_team'string='Manage Teams' -
group_tms_uomBooleanimplied_group='uom.group_uom'string='TMS Units of Measure' -
group_tms_vehicle_insuranceBooleanimplied_group='tms.group_tms_vehicle_insurance'string='Manage Vehicle Insurance' -
module_tms_accountBooleanstring='Manage trip invoicing' -
module_tms_account_assetBooleanstring='Manage vehicle as accounting assets' -
module_tms_expenseBooleanstring='Manage trip expenses' -
module_tms_purchaseBooleanstring='Manage trip purchases' -
module_tms_saleBooleanstring='Manage trip sales' -
tms_distance_uomMany2one → uom.uomconfig_parameter='tms.default_distance_uom'default=<expr>default_model='res.config.settings'domain=<expr> args: 'uom.uom' -
tms_length_uomMany2one → uom.uomconfig_parameter='tms.default_length_uom'default=<expr>default_model='res.config.settings'domain=<expr> args: 'uom.uom' -
tms_speed_uomMany2one → uom.uomconfig_parameter='tms.default_speed_uom'default=<expr>default_model='res.config.settings'domain=<expr> args: 'uom.uom' -
tms_time_uomMany2one → uom.uomconfig_parameter='tms.default_time_uom'default=<expr>default_model='res.config.settings'domain=<expr> args: 'uom.uom' -
tms_weight_uomMany2one → uom.uomconfig_parameter='tms.default_weight_uom'default=<expr>default_model='res.config.settings'domain=<expr> args: 'uom.uom' -
vehicle_insurance_security_daysIntegerconfig_parameter='tms.default_vehicle_insurance_security_days'required=Truestring='Vehicle Insurance security days'
No public methods.
New fields (2)
-
location_typeSelectionselection=LOCATION_TYPES -
tms_locationBooleanstring='Transport location'
No public methods.
New fields (8)
-
activeBooleandefault=True -
company_idMany2one → res.companydefault=<expr>help='Company related to this order'index=Truerequired=Truestring='Company' args: 'res.company' -
default_vehicle_idMany2one → fleet.vehiclestring='Default Vehicle' args: 'fleet.vehicle' -
descriptionText -
driver_idsMany2many → tms.driverrequired=Truestring='Drivers' args: 'tms.driver', 'tms_crew_drivers_rel' -
nameCharrequired=True -
personnel_idsMany2many → res.partnerstring='Other Personnel' args: 'res.partner', 'tms_crew_personnel_rel' -
tms_team_idMany2one → tms.teamargs: 'tms.team'
No public methods.
New fields (17)
-
crew_idsMany2many → tms.crewstring='Crews' args: 'tms.crew', 'tms_crew_drivers_rel' -
distance_traveledIntegertracking=True -
distance_traveled_uomSelectiondefault='km'selection=[('km', 'km'), ('mi', 'mi')]tracking=True -
driver_license_expiration_dateDatetracking=True -
driver_license_fileBinary -
driver_license_numberChartracking=True -
driver_license_typeSelectionselection=DRIVER_LICENSE_TYPESstring='License type'tracking=True -
driver_typeSelectionselection=[('terrestrial', 'Terrestrial')]string='Type' -
driving_experience_yearsIntegertracking=True -
is_activeBooleandefault=Truetracking=True -
is_externalBooleanstring='External Driver'tracking=True -
is_trainingBooleanstring='In Training'tracking=True -
partner_idMany2one → res.partnerondelete='cascade'required=True args: 'res.partner' -
stage_idMany2one → tms.stagecopy=Falsedefault=<expr>group_expand='_read_group_stage_ids'index=Truestring='Stage'tracking=True args: 'tms.stage' -
tms_team_idMany2one → tms.teamtracking=True args: 'tms.team' -
trips_idsOne2many → tms.orderargs: 'tms.order', 'driver_id' -
vehicles_idsOne2many → fleet.vehicleargs: 'fleet.vehicle', 'driver_id'
-
action_open_employees(self) -
action_view_partner_invoices(self) -
action_view_stock_serial(self) -
create_company(self) -
geo_localize(self) -
mail_action_blacklist_remove(self) -
open_commercial_entity(self) -
phone_action_blacklist_remove(self) -
schedule_meeting(self)
New fields (11)
-
activeBooleandefault=True -
company_idMany2one → res.companydefault=<expr>help='Company related to this insurance'required=Truestring='Company' args: 'res.company' -
coverage_detailsText -
end_dateDaterequired=True -
insurer_idMany2one → res.partnerrequired=True args: 'res.partner' -
nameCharcompute='_compute_name'copy=Falsedefault=<expr>readonly=Truerequired=Truestore=True -
policy_numberCharrequired=True -
premium_amountFloat -
start_dateDate -
stateSelectionargs: [('draft', 'Draft'), ('active', 'Active'), ('expired', 'Expired'), ('cancelled', 'Cancelled')] -
vehicle_idsMany2many → fleet.vehicleargs: 'fleet.vehicle'
No public methods.
New fields (32)
-
activeBooleandefault=True -
company_idMany2one → res.companydefault=<expr>help='Company related to this order'index=Truerequired=Truestring='Company' args: 'res.company' -
crew_activeBooleancompute='_compute_active_crew'groups='tms.group_tms_crew' -
crew_idMany2one → tms.crewstring='Crew' args: 'tms.crew' -
crew_ids_domainMany2many → tms.crewcompute='_compute_crew_ids_domain'default=<expr> args: 'tms.crew', 'team_crews_rel' -
date_endDatetimecompute='_compute_date_end'readonly=Falsestore=True -
date_startDatetime -
descriptionText -
destination_idMany2one → res.partnercompute='_compute_route_id'context={'default_tms_location': True}domain="[('tms_location', '=', 'True')]"readonly=Falsestore=True args: 'res.partner' -
destination_locationChar -
diff_durationFloatreadonly=Truestring='Scheduled Duration - Actual Duration' -
driver_idMany2one → tms.drivercompute='_compute_vehicle_id_set_driver'readonly=Falsestore=Truestring='Driver' args: 'tms.driver' -
driver_ids_domainMany2many → tms.drivercompute='_compute_driver_ids_domain' args: 'tms.driver', 'team_drivers_rel' -
durationFloatcompute='_compute_duration'readonly=Falsestore=Truestring='Trip Duration' -
end_tripBooleanreadonly=True -
nameCharcopy=Falsedefault=<expr>index='trigram'readonly=Falserequired=True -
origin_idMany2one → res.partnercompute='_compute_route_id'context={'default_tms_location': True}domain="[('tms_location', '=', 'True')]"readonly=Falsestore=True args: 'res.partner' -
origin_locationChar -
routeBooleanstring='Use predefined route' -
route_destinationCharrelated='route_id.destination_location_id.display_name'string='Route destination' -
route_idMany2one → tms.routecompute='_compute_route_id'readonly=Falsestore=True args: 'tms.route' -
route_originCharrelated='route_id.origin_location_id.display_name'string='Route origin' -
scheduled_date_endDatetimecompute='_compute_scheduled_date_end'readonly=Falsestore=Truestring='Scheduled End' -
scheduled_date_startDatetimedefault=datetime.now()string='Scheduled Start' -
scheduled_durationFloatcompute='_compute_scheduled_duration'help='Scheduled duration of the work in hours'readonly=Falsestore=True -
sequenceIntegerdefault=10 -
stage_idMany2one → tms.stagecopy=Falsedefault=<expr>domain="[('stage_type', '=', 'order')]"group_expand='_read_group_stage_ids'index=Trueondelete='set null'string='Stage' args: 'tms.stage' -
start_tripBooleanreadonly=True -
time_uomMany2one → uom.uomdefault=<expr>domain=<expr> args: 'uom.uom' -
tms_team_idMany2one → tms.teamstring='Team' args: 'tms.team' -
vehicle_idMany2one → fleet.vehiclestring='Vehicle' args: 'fleet.vehicle' -
vehicle_ids_domainMany2many → fleet.vehiclecompute='_compute_vehicle_ids_domain'default=<expr> args: 'fleet.vehicle', 'team_vehicles_rel'
-
button_end_order(self) -
button_refresh_duration(self) -
button_start_order(self) -
create(self, vals_list)@api.model_create_multi
New fields (11)
-
activeBooleandefault=True -
destination_location_idMany2one → res.partnercontext={'default_tms_location': True}required=Truestring='Destination Location' args: 'res.partner' -
distanceFloat -
distance_uomMany2one → uom.uomdefault=<expr>domain=<expr> args: 'uom.uom' -
estimated_timeFloat -
estimated_time_uomMany2one → uom.uomdefault=<expr>domain=<expr> args: 'uom.uom' -
nameCharrequired=Truestring='Route Name' -
notesTextstring='Notes/Comments' -
origin_location_idMany2one → res.partnercontext={'default_tms_location': True}required=Truestring='Origin Location' args: 'res.partner' -
stop_location_idsMany2many → res.partnercontext={'default_tms_location': True}string='Stop Locations' args: 'res.partner' -
stop_locationsBooleanstring='Stops locations in route'
No public methods.
New fields (12)
-
activeBooleandefault=True -
company_idMany2one → res.companydefault=<expr>string='Company' args: 'res.company' -
custom_colorChardefault='#FFFFFF'help='Use Hex Code only Ex:-#FFFFFF' args: 'Color Code' -
descriptionTexttranslate=True -
foldBooleanhelp='This stage is folded in the kanban view when there are no record in that stage to display.' args: 'Folded in Kanban' -
is_completedBooleanhelp='Defines how this stage is evaluated as completed stage' -
is_defaultBooleandefault=Falsereadonly=True -
legend_priorityTexthelp='Explanation text to help users using the star and priority mechanism on stages or orders that are in this stage.'translate=True args: 'Priority Management Explanation' -
nameCharrequired=Truetranslate=True -
sequenceIntegerdefault=1help='Used to order stages. Lower is first.' -
stage_typeSelectionrequired=Truestring='Type' args: [('driver', 'Driver'), ('order', 'Trip')] -
tms_team_idsMany2many → tms.teamdefault=<expr>string='Teams' args: 'tms.team', 'tms_order_team_stage_rel', 'stage_id', 'tms_team_id'
-
create(self, vals_list)@api.model_create_multi -
get_color_information(self)
New fields (15)
-
activeBooleandefault=True -
colorIntegerargs: 'Color Index' -
company_idMany2one → res.companydefault=<expr>help='Company related to this order'index=Truerequired=Truestring='Company' args: 'res.company' -
crew_idsOne2many → tms.crewargs: 'tms.crew', 'tms_team_id' -
descriptionText -
driver_countIntegercompute='_compute_driver_count'string='Drivers Count' -
driver_idsOne2many → tms.driverargs: 'tms.driver', 'tms_team_id' -
nameCharrequired=True -
order_countIntegercompute='_compute_order_count'string='Orders Count' -
order_idsOne2many → tms.orderdomain=[('stage_id.is_completed', '!=', True)]string='Orders' args: 'tms.order', 'tms_team_id' -
sequenceIntegerdefault=1help='Used to sort teams. Lower is better.' -
stage_idsMany2many → tms.stagedefault=<expr>string='Stages' args: 'tms.stage', 'tms_order_team_stage_rel', 'tms_team_id', 'stage_id' -
trips_todo_countIntegercompute='_compute_trips_todo_count'string='Number of Trips' -
vehicle_countIntegercompute='_compute_vehicle_count'string='Vehicles Count' -
vehicle_idsOne2many → fleet.vehicleargs: 'fleet.vehicle', 'tms_team_id'
No public methods.
Loading…
Loading…