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

Hi, I want to remove dot(.) from amount. Example: 1000.00 to be converted to 100000. This is a requirement from a new payment acquirer that I'm working on. The conversion will be used as part of the value for the shasign. For now I only want to know how to convert amount in odoo 12.

Avatar
Discard
Author Best Answer

I solved it using the following code:

def acquirer_form_generate_values(self, values):
acquirer_values = dict(values,
u_amount=f"{values['amount']:.2f}".replace('.', ''),

Avatar
Discard
Best Answer

Hi,

Go to the settings then to Technical Settings -> Database Structure -> Decimal Accuracy Then Change "Digits" to the number you want Save and Refresh the page so changes you made take place 


Avatar
Discard
Author

Thanks for the help but what I'm trying to do is on custom module. How can I format amount in payment acquirer template. Something like this:
<template id="acquirer_form">
<input type="hidden" name="u_amount" t-att-value='u_amount'/>

</template>

Author

Correction to my last post, the question should be how can I format amount in python not xml template. Something like this:
def acquirer_form_generate_values(self, values):
acquirer_values = dict(values,
u_amount=values['amount']

Author

I solved it using the following code:

def acquirer_form_generate_values(self, values):
acquirer_values = dict(values,
u_amount=f"{values['amount']}".replace('.', ''),