Odoo Help


This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


[Odoo V9] How to modify/change the quotation numbers ?

Mathieu Le Gal
on 9/22/16, 8:53 AM 136 views


i want to change the sale quotation numbers easily like in odoo V8, how it's possible ?

  • Screen odoo v9 : http://hpics.li/f3699e2

  • Screen odoo v8 : http://hpics.li/35a8a30

Thanks in advance,

Have a nice day.


Ermin Trevisan

--Ermin Trevisan--
| 6 3 7
Walchwil, Switzerland
--Ermin Trevisan--

Ermin Trevisan
On 9/22/16, 9:43 AM

- activate the developer mode

- go to "Settings/Sequences & Identifiers/Sequences"

Thanks for this tips but there is no way to change it like in Version 8 ? (module or tips)

Mathieu Le Gal
on 9/22/16, 10:11 AM

What exactly is your problem, creating different sequences for quotations and sales orders or creating a sequence in the style of your example? If it is the latter, please see my amended answer

Ermin Trevisan
on 9/23/16, 4:14 AM
On 9/23/16, 12:51 AM

It will help you

override create function in model sale.order

from openerp import models 
import datetime

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

    def create(self, cr, uid, vals, context=None):
        if context is None:
            context = {}
        if vals.get('name', '/') == '/':
            vals['name'] = self.pool.get('ir.sequence').get(cr, uid, 'sale.order', context=context) or '/'
        # ================== ADDITIONAL LINES ================================================
        now = datetime.datetime.now()
        vals['name'] = vals['name'].replace('SO', now.year) # GIVE YEAR FOR EXAMPLE
        # ====================================================================================
        if vals.get('partner_id') and any(f not in vals for f in ['partner_invoice_id', 'partner_shipping_id', 'pricelist_id', 'fiscal_position']):
            defaults = self.onchange_partner_id(cr, uid, [], vals['partner_id'], context=context)['value']
            if not vals.get('fiscal_position') and vals.get('partner_shipping_id'):
                delivery_onchange = self.onchange_delivery_id(cr, uid, [], vals.get('company_id'), None, vals['partner_id'], vals.get('partner_shipping_id'), context=context)
            vals = dict(defaults, **vals)
        ctx = dict(context or {}, mail_create_nolog=True)
        new_id = super(sale_order, self).create(cr, uid, vals, context=ctx)
        self.message_post(cr, uid, [new_id], body=_("Quotation created"), context=ctx)
        return new_id

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

4 follower(s)


Asked: 9/22/16, 8:53 AM
Seen: 136 times
Last updated: 9/23/16, 12:51 AM