Skip to main content

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

Project description

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

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page