Odoo Help


How to correct the decimal precision in email template?

Andreas Marpmann
on 8/12/14, 3:22 AM 2,431 views

In email templates the field ${object.amount_total} does not show the set decimal precision.

True / False
1.024,00 € = 1024.0 €

On 11/16/14, 1:42 PM

I am looking for a solution for that, too. Did anybody succeed in solving the problem by Ben Bernard's advice?


Ben Bernard

--Ben Bernard--

| 4 3 6
Jakarta, Indonesia
--Ben Bernard--
Ben Bernard
On 8/15/14, 5:05 AM

formatLang(object.amount_total, currency_obj=currency_object)

I believe you can get currency_object (EURO) from some field in the object, usually from company_id.

-- begin edited answer --

I'm forget to fact that object email template can't access report service. So, pass it to the template. In the model related to the email template define a method, something like this.

def parser(self, cr, uid, ids, context=None):

        report_service = 'dummy_report'

        service = netsvc.LocalService(report_service)
        parser = service.parser(cr, uid, service.name2, context)
        pool = self.pool.get('your.model')
        obj = pool.browse(cr, uid, ids, context) # relative to your model
        parser.set_context(obj, {'model': u'your.model'}, 'pdf') # whatever report type will suffice

        return parser

Then call it in your email template. Now the parser can access formatLang. Furhermore you can access all data to build that report.

I think this method is a little bit aggresive, I hope you can get the idea. I'm willing to see any improvement or new method :D





It would be great to have formatLang in email templates. But how is it possible? Your example will be displayed as plain text.

René Schuster
on 8/15/14, 5:34 AM

Hi, I already edited my answer.

Ben Bernard
on 8/15/14, 6:08 AM
Kamal Prajapati
On 6/12/17, 8:57 AM

 Hello Guys,

you can edit your template with following.

${"%.2f" % object.amount_total} 

On 1/24/17, 10:53 AM

Because I also encountered this issue, here's a easier work-around :

In your mail.template, replace ${object.amount_total} with ${"%.2f" | format(object.amount_total)}

Enjoy !

About This Community

This platform 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 Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

2 follower(s)


Asked: 8/12/14, 3:22 AM
Seen: 2431 times
Last updated: 6/12/17, 8:57 AM