Odoo Help

Welcome!

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.

3

How to give discount on the total of a Sales order

By
Max
on 3/18/13, 3:26 AM 18,719 views

Hello,

In sales order, we can give discount on per line basis. What about the discount on the total figure? Sometimes we give a lump sum discount on the sales order, without that, we need to adjust discount on each line.

Thanks.

Hello ! Is pricelist feature helpful for you ? But again its on particular line only.

Acespritech
on 9/12/13, 1:29 AM

http://goo.gl/foA1pQ, Discount on total for sale order and invoice too.

Zahin
on 5/26/14, 10:52 PM
1
Odoo Consultancy
On 3/15/16, 5:32 AM

Hello,

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

3
alessandro
On 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

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!

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

Is this total amount from sale order will affect invoice ?

Odoo
on 4/10/15, 5:50 AM
3
joseph d'souza
On 9/6/13, 11:19 AM

Hello

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

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

Vikram
on 10/1/13, 3:03 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

Arbi Khelifi
on 11/22/13, 9:00 AM

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

Lerner
on 7/20/15, 1:32 AM

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

Sudhir Arya (SA)
on 11/30/15, 2:55 AM
0
Keenmeng Lew
On 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?


KM

0
Shahar Or
On 4/24/13, 6:03 AM

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

0

Andreas Brueckl

--Andreas Brueckl--
5056
| 7 8 7
Vienna, Austria
--Andreas Brueckl--
OpenERP Consulting and Development
Andreas Brueckl
On 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.

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

AD LIBITOM, michel Guénard
on 4/24/13, 7:32 AM

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

alessandro
on 9/5/13, 9:41 PM
0

patrick

--patrick--
1958
| 5 4 7
Baarn, Netherlands
--patrick--
patrick
On 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

NB:

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.

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.

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

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.

patrick
on 4/24/13, 1:32 PM
0
jamesbale
On 4/24/13, 8:57 AM

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

0
Zahin
On 5/26/14, 10:51 PM

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

http://goo.gl/foA1pQ

and

http://goo.gl/YWw9JW

 

 

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

7 follower(s)

Stats

Asked: 3/18/13, 3:26 AM
Seen: 18719 times
Last updated: 5/20/16, 1:56 AM