Skip to Content
Menu
This question has been flagged
2 Replies
2007 Views

Hi, Odoo cannot generate a CRM opportunity automatically when a sales quotation is generate?  I saw a thread here about developer mode (which we activated) but I cannot see how to do this.  Thank you.  


Thank you.  

Avatar
Discard
Best Answer

Hello Premier Property Management Co. Ltd.

Please find code in comment. 

I hope this will help you.

Thanks & Regards,
Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwari

Avatar
Discard

When you can create a sale order create an opportunity in the order
from "Other Info --> Opportunity" so you can be added exiting lead to link this order,
or create a new one for this sale order.

Or, you can create an automatic opportunity so add the below example.

class SaleOrderInherit(models.Model):
_inherit = 'sale.order'

def create(self, vals)
""" Generate opportunity automatically when order is saved """
res = super(SaleOrderInherit, self).create(vals)
if res.partner_id:
opportunity_id = self.env['crm.lead'].create({
'name': res.name + "Opportunity",
'partner_id': res.partner_id,
})
res.opportunity_id = opportunity_id.id
return res

Author

Thank you. Is this custom code or standard functionality? We are using Odoo online, and do not want to custom code anything because then we lose support. Thanks. I am in the "Other info" tab of the quote screen, but I cannot see where to link this quote or to create an opportunity.

Best Answer

Hi,

In Odoo, you can generate a CRM opportunity automatically when a sales quotation is created by using the 'sale.order' model's 'create' method and the 'crm.lead' model.Here is an example of a new function that creates a CRM opportunity when a sales quotation is created:

class SaleOrder(models.Model):
_inherit = 'sale.order'

@api.model
def create(self, vals):
# Create a new opportunity
opportunity = self.env['crm.lead'].create({
'name': vals.get('name', ''),
'partner_id': vals.get('partner_id', False),
})
# Link the opportunity to the quotation
vals['opportunity_id'] = opportunity.id
quotation = super(SaleOrder, self).create(vals)
return quotation

In this example, when a new quotation is created, a new opportunity is created with the name of the quotation and the customer of the quotation. The opportunity is linked to the quotation using the opportunity_id field.

Regards

Avatar
Discard
Related Posts Replies Views Activity
1
Jul 23
713
1
Jun 23
1774
3
Mar 15
8543
0
Mar 15
2463
1
Mar 15
4871