TIP: You can type at any time to perform a new search.
WMS Landed Costs
stock_landed_costs · odoo/odoo
- Repository
- odoo/odoo · module folder
- Module version
- 1.1
- Category
- Supply Chain/Inventory
- Folder size
- 2.17 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- No
- Website
- None
- Last tracking update
- 2026-08-20 10:12:45
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Raphael Collet, Thibault Delavallée, Odoo Translation Bot, Arnold Moyaux, Julien Castiaux, Victor Feyens, William Henrotin, svs-odoo, Tiffany Chang (tic), Gorash, william-andre, David (dafr), John Laterre (jol), Ruben Gomes, Mathieu Walravens, Renaud Thiry, Louis Wicket (wil), Victor Piryns (pivi), Djamel Touati, Pieter Claeys (clpi), clesgow, Dylan Kiss (dyki), Arnaud Sibille, lase@odoo.com, Ethan Vincent, kcv-odoo, Louis Gobert, nihp-odoo, Harsh Shah, Arthur Nanson, Mohammad Abdulmoneim (abdu), djameltouati, Michaël Mattiello, MaximeNoirhomme, chha-odoo, plha-odoo, Krzysztof Magusiak (krma), rare-odoo, Ayush Modi, MohsinAli Masi, Merlin Guillaume, saurabh, Zachary (zavan), lase
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- l10n_mx_cfdi_comex, l10n_ro_stock_account_landed_cost, l10n_ro_stock_price_difference, mrp_landed_costs, mrp_subcontracting_landed_costs, project_stock_landed_costs
- Description
Landed Costs Management ======================= This module allows you to easily add extra costs on pickings and decide the split of these costs among their stock moves in order to take them into account in your stock valuation.
Code Analysis ⓘ
Views touched (8)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_view_move_form_inherited |
account.view.move.form.inherited | account.move | form | Inherits account.view_move_form |
res_config_settings_view_form |
res.config.settings.view.form.inherit.stock.landed.costs | res.config.settings | form | Inherits stock.res_config_settings_view_form |
stock_landed_cost_view_kanban |
stock.landed.cost.kanban | stock.landed.cost | kanban | New |
view_product_landed_cost_form |
product.template.landed.cost.form | product.template | form | Inherits account.product_template_form_view |
view_stock_landed_cost_form |
stock.landed.cost.form | stock.landed.cost | form | New |
view_stock_landed_cost_search |
stock.landed.cost.search | stock.landed.cost | search | New |
view_stock_landed_cost_tree |
stock.landed.cost.list | stock.landed.cost | list | New |
view_stock_landed_cost_tree2 |
stock.landed.cost.list | stock.landed.cost | list | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (10)
New fields (2)
-
landed_costs_idsOne2many → stock.landed.coststring='Landed Costs' args: 'stock.landed.cost', 'vendor_bill_id' -
landed_costs_visibleBooleancompute='_compute_landed_costs_visible'
-
action_view_landed_costs(self) -
button_create_landed_costs(self)Create a `stock.landed.cost` record associated to the account move of `self`, each `stock.landed.costs` lines mirroring the current `account.move.line` of self.
New fields (2)
-
is_landed_costs_lineBoolean -
product_typeSelectionreadonly=Truerelated='product_id.type'
No public methods.
New fields (2)
-
landed_cost_okBooleanhelp='Indicates whether the product is a landed cost: when receiving a vendor bill, you can allocate this cost on preceding receipts.' args: 'Is a Landed Cost' -
split_method_landed_costSelectionhelp='Default Split Method when used for Landed Cost'string='Default Split Method' args: SPLIT_METHOD
-
write(self, vals)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
lc_journal_idMany2one → account.journalargs: 'account.journal'
No public methods.
New fields (1)
-
lc_journal_idMany2one → account.journalreadonly=Falserelated='company_id.lc_journal_id'string='Default Journal' args: 'account.journal'
No public methods.
New fields (14)
-
account_journal_idMany2one → account.journaldefault=<expr>required=True args: 'account.journal', 'Account Journal' -
account_move_idMany2one → account.movecopy=Falseindex='btree_not_null'readonly=True args: 'account.move', 'Journal Entry' -
amount_totalMonetarycompute='_compute_total_amount'store=Truetracking=True args: 'Total' -
company_idMany2one → res.companydefault=<expr>required=Truestring='Company' args: 'res.company' -
cost_linesOne2many → stock.landed.cost.linescopy=True args: 'stock.landed.cost.lines', 'cost_id', 'Cost Lines' -
currency_idMany2one → res.currencyrelated='company_id.currency_id' args: 'res.currency' -
dateDatecopy=Falsedefault=fields.Date.context_todayrequired=Truetracking=True args: 'Date' -
descriptionTextargs: 'Item Description' -
nameCharcopy=Falsedefault=<expr>readonly=Truetracking=True args: 'Name' -
picking_idsMany2many → stock.pickingcopy=Falsestring='Transfers' args: 'stock.picking' -
stateSelectioncopy=Falsedefault='draft'readonly=Truetracking=True args: [('draft', 'Draft'), ('done', 'Posted'), ('cancel', 'Cancelled')], 'State' -
target_modelSelectioncopy=Falsedefault='picking'required=Truestring='Apply On' args: [('picking', 'Transfers')] -
valuation_adjustment_linesOne2many → stock.valuation.adjustment.linesargs: 'stock.valuation.adjustment.lines', 'cost_id', 'Valuation Adjustments' -
vendor_bill_idMany2one → account.movecopy=Falsedomain=[('move_type', '=', 'in_invoice')]index='btree_not_null' args: 'account.move', 'Vendor Bill'
-
button_cancel(self) -
button_validate(self) -
compute_landed_cost(self) -
create(self, vals_list)@api.model_create_multi -
get_valuation_lines(self) -
unlink(self)
New fields (7)
-
account_idMany2one → account.accountargs: 'account.account', 'Account' -
cost_idMany2one → stock.landed.costindex=Trueondelete='cascade'required=True args: 'stock.landed.cost', 'Landed Cost' -
currency_idMany2one → res.currencyrelated='cost_id.currency_id' args: 'res.currency' -
nameCharargs: 'Description' -
price_unitMonetaryrequired=True args: 'Cost' -
product_idMany2one → product.productrequired=True args: 'product.product', 'Product' -
split_methodSelectionhelp="Equal: Cost will be equally divided.\nBy Quantity: Cost will be divided according to product's quantity.\nBy Current cost: Cost will be divided according to product's current cost.\nBy Weight: Cost will be divided depending on its weight.\nBy Volume: Cost will be divided depending on its volume."required=Truestring='Split Method' args: SPLIT_METHOD
-
onchange_product_id(self)@api.onchange('product_id')
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (12)
-
additional_landed_costMonetaryargs: 'Additional Landed Cost' -
cost_idMany2one → stock.landed.costindex=Trueondelete='cascade'required=True args: 'stock.landed.cost', 'Landed Cost' -
cost_line_idMany2one → stock.landed.cost.linesreadonly=True args: 'stock.landed.cost.lines', 'Cost Line' -
currency_idMany2one → res.currencyrelated='cost_id.company_id.currency_id' args: 'res.currency' -
final_costMonetarycompute='_compute_final_cost'store=True args: 'New Value' -
former_costMonetaryargs: 'Original Value' -
move_idMany2one → stock.movereadonly=True args: 'stock.move', 'Stock Move' -
nameCharcompute='_compute_name'store=True args: 'Description' -
product_idMany2one → product.productrequired=True args: 'product.product', 'Product' -
quantityFloatdefault=1.0digits=0required=True args: 'Quantity' -
volumeFloatdefault=1.0digits='Volume' args: 'Volume' -
weightFloatdefault=1.0digits='Stock Weight' args: 'Weight'
No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…