Odoo Help


22 Answers
Raj Mehra India
3/15/16, 5:32 AM


We have developed a module which allow users to apply discount (Fixed Amount, Percentage) on Sales and Customer Invoice.

The module also allow user to display the discount on Sales and Invoice report.

Once you Validate the invoice, the module generate the Journal Entries. You can track the discount on P/L report by creating a separate account for the discount which you just have to configure in the company. This account will be used to post the entries of the discount account.

Hope this module will ease everyone's life.

For now, the module is developed for v7 only and we are on the way to migrate it in v8 and v9 as well.

Download: Discount Sales / Invoice

joseph d'souza India
9/6/13, 11:19 AM


I have developed one module which set a discount on whole sale order and customer invoice with fixed and percentage vise. when your quote will move to invoice that same discount and total will move to the invoice I think this module feature will helps you more can see on : http://www.youtube.com/watch?v=RTRB0xq9Y38&feature=youtu.be To get the module can contact me: dsouzajoseph199@gmail.com

Vikram India
10/1/13, 3:03 AM

Good to your video in Youtube regarding discount. Can you share your module with me?

Arbi Khelifi United States
11/22/13, 9:00 AM

Hi Joseph, I just viewd your video on youtube, it's really great work!, I'm really interested in this feature and wonder if possible to get the module as indicated in your post. Thanks

7/20/15, 1:32 AM

Hi Joseph, I saw your video good work can I get those module please to work with Odoo discount feature.

Sudhir Arya (ERP Harbor Consulting Services) India
11/30/15, 2:55 AM

Good work Joseph. I am wondering how you are dealing with accounting entries? Are you creating accounting entries based on discounted amount?

SunArc Technologies, Pawan Kumar Sharma India
3/28/18, 4:36 AM

Hi Joseph,

Can you share your module with me?

alessandro Italy
9/5/13, 9:37 PM

Hope this can help you .... I have coded a little function (apply_discount) in a inherited class of sale.order

def apply_discount(self, cr, uid, ids, discount_rate):
        cur_obj = self.pool.get('res.currency')
        res = {}
        line_obj = self.pool.get('sale.order.line')
        for order in self.browse(cr, uid, ids, context=None):

            for line in order.order_line:

                line_obj.write(cr, uid, [line.id], {'discount': discount_rate}, context=None)

        return res

I have added a new column to the new inherited sublass of sale order

'discount_rate' : fields.float('Discount rate'),

Then in the sale order view (a inherited one) I have placed the new field (discount) on the sale.order.view and I have fired an event on the "on_change" of the value passing the self value of the field to the "on_change" event

<field name="discount_rate" on_change="apply_discount(discount_rate)"/>

In this way you can apply discount sequentially to the rows of the order without altering the normal process of OpenERP

Luis Lozano Mexico
12/27/13, 3:01 PM

Hi, great answer Alessandro, I have Open ERP online and I am new in this, where do I go to insert the code that you mentioned? Thanks!

Odoo India
4/10/15, 5:50 AM

Is this total amount from sale order will affect invoice ?

Geetha India
4/6/17, 2:24 AM

Our custom module for sale discount and invoice discount [Fixed & Percentage Discounts] supported For odoo10  & odoo9 .Even discount is passed to invoice when sale order is converted to invoice


Keenmeng Lew Thailand
5/20/16, 1:56 AM

Have you tried this - https://www.odoo.com/documentation/user/9.0/point_of_sale/advanced/manual_discount.html?


Shahar Or Israel
4/24/13, 6:03 AM

You can use pricelists and the Prices Visible Discounts app (product_visible_discount).

Zahin Afghanistan
5/26/14, 10:51 PM

Complete Solution for Discount on sale tota, discount on invoice total, with report.







patrick Netherlands


| 5 4 9
Baarn, Netherlands
patrick Netherlands
3/18/13, 5:38 AM

In order to give discounts on the whole order, you have to use pricelists.

You can find them under: Sales -> Pricelists under the text 'Configuration' -> Pricelist


If you do not have 'Configuration', give the user the access rights 'Technical Features'

If you do not see Pricelist, give the user the access rights 'Sales Pricelists'

Now you can create a new pricelist, which you probably want to base on the default pricelist. I use in the title of the pricelist the amount of discount I give (5% discount, 10% discount, ....). Play around to find the correct value(s).

In the order it is important to change the pricelist, before adding any products, otherwise the discount is not calculated.

Important notice:

When using a discount like this, it will not show up on the discount line, but it will change the value of the product, so an article costing €10, and using a discount of 10% will show with a costprice of €9.

Flyguy Belgium
4/3/13, 7:10 AM

The problem with pricelists is that the customer doesn't see the discount. So even though he received a discount, the customer may still ask for a discount, because he can't see that he already received one. My advice is to make a custom module for this. That's what we did.

patrick Netherlands
4/24/13, 1:32 PM

Same here, only issue we had was to find the original price, as there are different 'base' prices, depending on the currency. And for some exeptions, the base price is different than all the other base prices.... But I fixed it.

jamesbale India
4/24/13, 8:57 AM

You can use payment term, in payment term you can define your rule


Andreas Brueckl Austria

--Andreas Brueckl--

| 8 8 9
Vienna, Austria
--Andreas Brueckl--
OpenERP Consulting and Development
Andreas Brueckl Austria
3/18/13, 5:32 AM

Here are some approaches:

  • You can try to use module additional_discount. But when reading the comments it seems that the module is not as stable as it should be.
  • You can set the same discount in every line
  • You can use a separate Discount product and give it a negative unit price. This solution would give an absolute discount instead of a relative.
AD LIBITOM, michel Guénard France
4/24/13, 7:32 AM

how do you manage the tax (VAT) issue with a global discount, specifically when your invoice is made with products having different tax percentages?

alessandro Italy
9/5/13, 9:41 PM

VAT is applied to the single net price discounted or not ....

Ask a Question
Keep Informed
7 follower(s)
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