TIP: You can type at any time to perform a new search.
Purchase Landed Costs
purchase_landed_costs · OCA/purchase-workflow
- Repository
- OCA/purchase-workflow · module folder · Try on Runboat
- Module version
- 1.0.1
- Category
- Warehouse Management
- Folder size
- 0.13 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- http://www.camptocamp.com
- Last tracking update
- 2026-08-07 07:10:01
- Authors
- Camptocamp, Odoo Community Association (OCA)
- Maintainers
- Camptocamp, Odoo Community Association (OCA)
- Committers
- Stéphane Bidoul (ACSONE)
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
Purchase Landed Costs ===================== This module adds the possibility to include estimated landed costs to the average price computation. To define those landed costs, create products for every landed costs and affect them a distribution type. Don't forget to as well assign them a specific financial account (the one which will record the real cost) in order to compare at the end of the year the estimation with real accounting entries (see stock valuation). The landed costs is defined in purchase orders. These costs will be distributed according to the distribution type defined in landed cost: * value - example custom fees * quantity - example freight Note : Products used to define landed cost must have a default "Distribution Type" set (Value/Quantity). For each landed cost position (=line) define in a PO, a draft invoice can be pre-created at PO validation (an option need to be checked). Doing so will allow you to see those invoices using the view invoice button directly from the PO. You can define landed cost relative to a whole PO or by PO line (or both) and the system will distribute them to each line according to the chosen distribution type. Note that the landed cost is always expressed in company currency. Find all landed cost here : Reporting -> Purchase -> Landed costs Stock valuation: ---------------- As the average price is also used for the stock valuation and because the computation is based on estimation of landed cost in the PO (done at incoming shipment reception), you will have a difference with the actual accounting bookings of landed cost. Stock valuation will have to be adjusted with a manual journal entry. In order to correct that amount, make a sum of estimated landed cost (landed cost position) by account and compare with the real account chart value. You can access those informations through this menu: Reporting -> Purchase -> Landed costs Warning: -------- * Average price will be computed based on the estimation made on the PO - not from real cost. This is due to the way OpenERP compute average stock: it stores the updated value at every input, no history, so no way to redefine the value afterwards. i.e. - incomming 01: 100 product A at 50.- AVG = 50.-, stock = 100 - incomming 02: 100 product A at 60.- AVG = 55.-, stock = 200 - delivery 01: 50 product A AVG = 55.-, stock = 150 - Receive the real landed cost of 10.- for incomming 01 => cannot compute back because no historical price was store for every transaction. Moreover, in OpenERP I can even set another average price for a product using the update wizard. * As the price type of OpenERP is not really well handled, we need to be sure that price type of cost price in product form is the same as the company one. Otherwise, when computing the AVG price, it make the convertion in company currency from the price type currency. This is not related to this module, but from the core of OpenERP. If you use this module in multi-company and different currency between company, you'll have to not share the product between them, even if product are the same (bug: https://bugs.launchpad.net/ocb-addons/+bug/1238525). TODO/Ideas: ----------- * Manage multi-currencies landed costs in PO * Have the shipped date in landed cost instead of PO date for a better analysis * Compute a average purchase price per products while keep cost price as it is now Contributors: ------------- * Joël Grand-Guillaume <joel.grand-guillaume@camptocamp.com> * Ferdinand Gasauer <ferdinand.gasauer@camptocamp.com>
Code Analysis ⓘ
Views touched (9)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
c2c_landed_cost_form |
c2clanded.cost.form | landed.cost.position | form | New |
c2c_landed_cost_tree |
c2clanded.cost.tree | landed.cost.position | tree | New |
c2c_landed_cost_tree_stat |
c2clanded.cost.tree | landed.cost.position | tree | New |
c2c_product_landed_cost_view |
c2c_product.landed.cost.view | product.product | form | Inherits product.product_normal_form_view |
c2c_purchase_order_landed_cost_view |
c2c_purchase.order.landed.cost.form.view | purchase.order | form | Inherits purchase.purchase_order_form |
landed_cost_position_graph |
landed.cost.position.graph | landed.cost.position | graph | New |
purchase_oder_line_landed_cost_view |
purchase.oder.line.landed.cost.view | purchase.order.line | form | Inherits purchase.purchase_order_line_form |
view_landed_cost_search |
landed.cost.position.search | landed.cost.position | search | New |
view_order_form_editable_list |
purchase.order.landed.cost.form.view.form | purchase.order | form | Inherits purchase.purchase_order_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (8)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (3)-
create(self, cr, uid, vals, context=None)Add the purchase_order_id if only linked to a line -
onchange_product_id(self, cr, uid, ids, product_id, purchase_order_id=False, context=None)Give the default value for the distribution type depending on the setting of the product and the use case: line or order position. -
write(self, cr, uid, ids, vals, context=None)Add the purchase_order_id if only linked to a line
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (1)-
wkf_approve_order(self, cr, uid, ids, context=None)On PO approval, generate all invoices for all landed cost position. Remember that only landed cost position with the checkbox generate_invoice ticked are generated.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
Loading…
Loading…
Loading…