summaryrefslogtreecommitdiff
path: root/addons/mrp_subcontracting_account/tests
diff options
context:
space:
mode:
authorAdrien Widart <awt@odoo.com>2021-02-08 10:20:49 +0000
committerAdrien Widart <awt@odoo.com>2021-02-11 11:13:17 +0000
commitbeb7159980f7ed29323d99fd4b72de3fa187f455 (patch)
tree43cb74a9e71d061511192b4c3ce76581024540a2 /addons/mrp_subcontracting_account/tests
parent5719f2eca7aedfba71fef1e6c94f31277b3dc0b9 (diff)
[FIX] mrp_subcontracting_account: update inventory valuation
When buying a subcontracted product, if the inventory valuation of the product category is automated, the product delivery does not create a new journal entry, i.e. the automated inventory valuation is not done. To reproduce the error: (Need account_accountant,purchase) 1. In Settings, enable "Subcontracting" 2. Create a product category PC - Parent: All - Inventory Valuation: Automated 3. Create a product P - Must be storable - In category PC - Set a positive cost 4. Add a BoM to P - Type: Subcontracting 5. Create a RfQ - Vendor: BoM's subcontractor - Product: P 6. Confirm & Receive Products 7. Go to Accounting > Accounting > Miscellaneous > Journal Entries Error: There isn't any journal entry about the new product. This is an error because the inventory valuation for this product is automated, so there should be a line with the P-product and the cost set on step 3. When validating the delivery, the server checks the stock move lines considered as incoming: https://github.com/odoo/odoo/blob/5098cb25accce91347760cbd2f6427c07265fa00/addons/stock_account/models/stock_move.py#L61-L65 Problem is that `_should_be_valued` for subcontractor's location returns `True`, therefore the stock move line will not be added. => The `mrp_subcontracting` module needs to add a condition: A location can be valued if it is not subcontractor's location. OPW-2446298 closes odoo/odoo#65919 X-original-commit: cfd68df91d25682507cbfe88c67ab69ec5d3997d Signed-off-by: Adrien Widart <adwid@users.noreply.github.com>
Diffstat (limited to 'addons/mrp_subcontracting_account/tests')
-rw-r--r--addons/mrp_subcontracting_account/tests/test_subcontracting_account.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/addons/mrp_subcontracting_account/tests/test_subcontracting_account.py b/addons/mrp_subcontracting_account/tests/test_subcontracting_account.py
index fb27445d0f7..fe5b6b8011c 100644
--- a/addons/mrp_subcontracting_account/tests/test_subcontracting_account.py
+++ b/addons/mrp_subcontracting_account/tests/test_subcontracting_account.py
@@ -54,5 +54,7 @@ class TestAccountSubcontractingFlows(TestMrpSubcontractingCommon):
picking_receipt._action_done()
mo = picking_receipt._get_subcontracted_productions()
- self.assertEqual(mo.move_finished_ids.stock_valuation_layer_ids.value, 60)
- self.assertEqual(mo.move_finished_ids.product_id.value_svl, 60)
+ self.assertEqual(mo.move_finished_ids.stock_valuation_layer_ids.value, 0)
+ self.assertEqual(mo.move_finished_ids.product_id.value_svl, 30)
+ self.assertEqual(picking_receipt.move_lines.stock_valuation_layer_ids.value, 30)
+ self.assertEqual(picking_receipt.move_lines.product_id.value_svl, 30)