Point of Sale - Display All Discounts

Display discount amount on PoS cashier screen and print it on ticketcalculated from the difference between a sale with default pricelist

Technical Name:
pos_discount_all
Version:
16.0
License:
Author:
GRAP
https://odoo-community.org/web/image/product.template/715390/image_1920?unique=e5a217d
  • Odoo Version

Terms and Conditions 

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

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.

This is a preview of the recently viewed products by the user.
Once the user has seen at least one product this snippet will be visible.

Recently viewed Products