Help

3

How to give discount on the total of a Sales order

Avatar
Max

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.

2 Comments
Avatar
Discard
Avatar
Navrang Oza
-

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

Avatar
Zahin
-

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

10 Answers
1
Avatar
Raj Mehra
Best Answer

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

Avatar
Discard
3
Avatar
alessandro
Best Answer

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

2 Comments
Avatar
Discard
Avatar
Luis Lozano
-

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!

Avatar
Odoo
-

Is this total amount from sale order will affect invoice ?

3
Avatar
joseph d'souza
Best Answer

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

5 Comments
Avatar
Discard
Avatar
Vikram
-

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

Avatar
Arbi Khelifi
-

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

Avatar
Lerner
-

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

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

Avatar
Pawan Kumar Sharma
-

Hi Joseph,

Can you share your module with me?

1
Avatar
Geetha
Best Answer

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

https://github.com/euroblaze/eb_sales_invoices_discounts

Avatar
Discard
0
Avatar
Keenmeng Lew
Best Answer

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


KM

Avatar
Discard
0
Avatar
patrick
Best Answer

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.

2 Comments
Avatar
Discard
Avatar
Flyguy
-

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.

Avatar
patrick
-

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.

0
Avatar
jamesbale
Best Answer

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

Avatar
Discard
0
Avatar
Andreas Brueckl
Best Answer

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.
2 Comments
Avatar
Discard
Avatar
michel Guénard
-

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

Avatar
alessandro
-

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

0
Avatar
Shahar Or
Best Answer

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

Avatar
Discard
0
Avatar
Zahin
Best Answer

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

http://goo.gl/foA1pQ

and

http://goo.gl/YWw9JW

 

 

Avatar
Discard