diff options
| author | Lucas Lefèvre <lul@odoo.com> | 2020-03-12 15:56:19 +0000 |
|---|---|---|
| committer | Lucas Lefèvre <lucas.lefevre@hotmail.com> | 2020-03-19 07:44:40 +0000 |
| commit | 3ad4abe171e8e7e86ed0e7b7f000e734d8a2ad92 (patch) | |
| tree | 931e8013831b281725b9be116c894bc51c87f3f4 | |
| parent | 32b9c4a585ffd492c9eeb11c1ea226b72a968e19 (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.py | 2 | ||||
| -rw-r--r-- | addons/sale/data/sale_data.xml | 2 | ||||
| -rw-r--r-- | addons/sale/models/res_config_settings.py | 2 | ||||
| -rw-r--r-- | addons/sale/tests/test_sale_order.py | 1 | ||||
| -rw-r--r-- | addons/sale/tests/test_sale_transaction.py | 1 | ||||
| -rw-r--r-- | addons/sale_stock/tests/test_sale_stock.py | 1 |
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', |
