v 16.0 Third Party 48
Download for v 16.0 Deploy on Odoo.sh
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Point of Sale (point_of_sale)
Discuss (mail)
Inventory (stock)
Invoicing (account)
Lines of code 133
Technical Name pos_discount_all
LicenseAGPL-3
Websitehttps://github.com/OCA/pos
You bought this module and need support? Click here!

Point of Sale - Display All Discounts

Beta License: AGPL-3 OCA/pos Translate me on Weblate Try me on Runboat

This module extends the functionality of point of sale module, to display on the PoS ticket, the amount of the discount applied for this sale. Contrary to the logic of Odoo and the OCA (https://github.com/OCA/sale-workflow/tree/14.0/sale_discount_display_amount) the amount of the discount is the difference between the theoretical sale with the default price list and the actual sale amount. So it take into accounts:

  • explicit discount set on pos.order.line. (as for odoo sale module)
  • fixed price set on pos.order.line
  • discount generated by specific pricelist

Also the module ignores in the computation of undiscounted amount lines, the lines with a ‘Discount Product’. (see the configure section.)

Table of contents

Configuration

  • Go to “Point of Sale > Products”
  • Create or edit your discount products
  • Check the box “Is a Discount”
https://raw.githubusercontent.com/OCA/pos/16.0/pos_discount_all/static/description/product_template_form.png

Usage

Open your point of Sale

Make an order. for exemple, - select the product ‘Conference chair (39.40$)’ - select the pricelist -10% - add a discount of 1$

The total discount is 1$ + 10% * 39.40 = 4.94$

https://raw.githubusercontent.com/OCA/pos/16.0/pos_discount_all/static/description/order_summary.png

Note, the discount displayed on the ticket is updated, to take into account all the discount.

https://raw.githubusercontent.com/OCA/pos/16.0/pos_discount_all/static/description/pos_receipt.png

Development

Note

In the javascript file, we could write

const PosDiscountAllOrder = () =>
    class extends Order {
    }

However, this code doesn’t work if pos_sale module is installed. For that reason we code the declaration as Odoo does, and add eslint exception.

// eslint-disable-next-line no-shadow
const PosDiscountAllOrder = (Order) =>
    // eslint-disable-next-line no-shadow
    class PosDiscountAllOrder extends Order {
    }

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • GRAP

Contributors

  • Sylvain LE GAL (https://twitter.com/legalsylvain)

Other credits

The development of this module has been financially supported by:

  • UGESS, Union Nationale des Groupements des épiceries Sociales et Solidaires (https://ugess.org/)

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

legalsylvain

This module is part of the OCA/pos project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.