diff --git a/addons/account_analytic_default/account_analytic_default.py b/addons/account_analytic_default/account_analytic_default.py index c28a3d104b8..5f1bdaaa6b9 100644 --- a/addons/account_analytic_default/account_analytic_default.py +++ b/addons/account_analytic_default/account_analytic_default.py @@ -153,4 +153,18 @@ class product_template(osv.Model): result['context'] = "{}" return result + +class stock_move(osv.Model): + _inherit = 'stock.move' + + def _create_invoice_line_from_vals(self, cr, uid, move, invoice_line_vals, context=None): + # It will set the default analtyic account on the invoice line + partner_id = self.pool['account.invoice'].browse(cr, uid, invoice_line_vals.get('invoice_id'), context=context).partner_id.id + if 'account_analytic_id' not in invoice_line_vals or not invoice_line_vals.get('account_analytic_id'): + rec = self.pool['account.analytic.default'].account_get(cr, uid, move.product_id.id, partner_id, uid, time.strftime('%Y-%m-%d'), company_id=move.company_id.id, context=context) + if rec: + invoice_line_vals.update({'account_analytic_id': rec.analytic_id.id}) + res = super(stock_move, self)._create_invoice_line_from_vals(cr, uid, move, invoice_line_vals, context=context) + return res + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: