summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas Lefèvre <lul@odoo.com>2020-03-12 15:56:19 +0000
committerLucas Lefèvre <lucas.lefevre@hotmail.com>2020-03-19 07:44:40 +0000
commit3ad4abe171e8e7e86ed0e7b7f000e734d8a2ad92 (patch)
tree931e8013831b281725b9be116c894bc51c87f3f4
parent32b9c4a585ffd492c9eeb11c1ea226b72a968e19 (diff)
[IMP] sale: Change default invoicing policy
Purpose ======= The default invoicing policy should be based on the delivered quantities by default because: - In countries with anglosaxon accounting, that's mandatory - Even for other countries, it's probably as frequent as the "based on ordered" quantities Task 2159161 closes odoo/odoo#47526 Related: odoo/enterprise#9355 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
-rw-r--r--addons/delivery/tests/test_delivery_stock_move.py2
-rw-r--r--addons/sale/data/sale_data.xml2
-rw-r--r--addons/sale/models/res_config_settings.py2
-rw-r--r--addons/sale/tests/test_sale_order.py1
-rw-r--r--addons/sale/tests/test_sale_transaction.py1
-rw-r--r--addons/sale_stock/tests/test_sale_stock.py1
6 files changed, 8 insertions, 1 deletions
diff --git a/addons/delivery/tests/test_delivery_stock_move.py b/addons/delivery/tests/test_delivery_stock_move.py
index a5fc9d91dfa..f6a5f1c4b1c 100644
--- a/addons/delivery/tests/test_delivery_stock_move.py
+++ b/addons/delivery/tests/test_delivery_stock_move.py
@@ -19,10 +19,12 @@ class StockMoveInvoice(AccountTestCommon):
self.product_cable_management_box = self.env['product.product'].create({
'name': 'Another product to deliver',
'weight': 1.0,
+ 'invoice_policy': 'order',
})
self.product_uom_unit = self.env.ref('uom.product_uom_unit')
self.product_delivery_normal = self.env['product.product'].create({
'name': 'Normal Delivery Charges',
+ 'invoice_policy': 'order',
'type': 'service',
'list_price': 10.0,
'categ_id': self.env.ref('delivery.product_category_deliveries').id,
diff --git a/addons/sale/data/sale_data.xml b/addons/sale/data/sale_data.xml
index 0f3abd5937b..1d21771538d 100644
--- a/addons/sale/data/sale_data.xml
+++ b/addons/sale/data/sale_data.xml
@@ -16,5 +16,7 @@
<field name="key">sale.default_confirmation_template</field>
<field name="value" ref="sale.mail_template_sale_confirmation"/>
</record>
+
+ <function model="ir.default" name="set" eval="('product.template', 'invoice_policy', 'delivery')"/>
</data>
</odoo>
diff --git a/addons/sale/models/res_config_settings.py b/addons/sale/models/res_config_settings.py
index 33d7d343d85..61620dcdbac 100644
--- a/addons/sale/models/res_config_settings.py
+++ b/addons/sale/models/res_config_settings.py
@@ -21,7 +21,7 @@ class ResConfigSettings(models.TransientModel):
('order', 'Invoice what is ordered'),
('delivery', 'Invoice what is delivered')
], 'Invoicing Policy',
- default='order',
+ default='delivery',
default_model='product.template')
deposit_default_product_id = fields.Many2one(
'product.product',
diff --git a/addons/sale/tests/test_sale_order.py b/addons/sale/tests/test_sale_order.py
index 124a6c9fe39..b68677b84cf 100644
--- a/addons/sale/tests/test_sale_order.py
+++ b/addons/sale/tests/test_sale_order.py
@@ -306,6 +306,7 @@ class TestSaleOrder(TestCommonSaleNoChart):
product_shared = self.env['product.template'].create({
'name': 'shared product',
+ 'invoice_policy': 'order',
'taxes_id': [(6, False, [tax_company_1.id, tax_company_2.id])],
'property_account_income_id': self.account_receivable.id,
})
diff --git a/addons/sale/tests/test_sale_transaction.py b/addons/sale/tests/test_sale_transaction.py
index 935b07789cf..4cdcfdbebb1 100644
--- a/addons/sale/tests/test_sale_transaction.py
+++ b/addons/sale/tests/test_sale_transaction.py
@@ -9,6 +9,7 @@ class TestSaleTransaction(AccountTestCommon):
def setUpClass(cls):
super(TestSaleTransaction, cls).setUpClass()
cls.product = cls.env['product.product'].create({
+ 'invoice_policy': 'order',
'name': 'Product A',
})
cls.order = cls.env['sale.order'].create({
diff --git a/addons/sale_stock/tests/test_sale_stock.py b/addons/sale_stock/tests/test_sale_stock.py
index f2f4331033f..683f0b455db 100644
--- a/addons/sale_stock/tests/test_sale_stock.py
+++ b/addons/sale_stock/tests/test_sale_stock.py
@@ -126,6 +126,7 @@ class TestSaleStock(TestSaleCommon):
advance_product = self.env['product.product'].create({
'name': 'Deposit',
'type': 'service',
+ 'invoice_policy': 'order',
})
adv_wiz = self.env['sale.advance.payment.inv'].with_context(active_ids=[self.so.id]).create({
'advance_payment_method': 'percentage',