[FIX] sale: get correct account to create corresponding invoice
Sibling commit of 427280d9760a71e6ca2961bcf4a2f9f157e6dddd, same use case. Be in company C1. Create the invoice I for a SO in company C2. The invoice line is with an account created of C1. This is because property_account_income_id or property_account_income_categ_id are company dependent properties that need to be accessed with a force_company. This happens when e.g. C2 is a child company of C1. However, accounts are not readable across companies, so the resulting invoice cannot be validated in either company, since there is a mix of accounts. Note that in case force_company is False, it defaults to the user's company, which is already the default. opw 2068291 forwardport of 79714bafe4b closes odoo/odoo#37146 X-original-commit: ae84e7fd416c38404c20607b5b04fc1c9b790cde Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
This commit is contained in:
@@ -1358,7 +1358,8 @@ class SaleOrderLine(models.Model):
|
||||
"""
|
||||
self.ensure_one()
|
||||
res = {}
|
||||
account = self.product_id.property_account_income_id or self.product_id.categ_id.property_account_income_categ_id
|
||||
product = self.product_id.with_context(force_company=self.company_id.id)
|
||||
account = product.property_account_income_id or product.categ_id.property_account_income_categ_id
|
||||
|
||||
if not account and self.product_id:
|
||||
raise UserError(_('Please define income account for this product: "%s" (id:%d) - or for its category: "%s".') %
|
||||
|
||||
Reference in New Issue
Block a user