=====================================
Point of Sale - Display All Discounts
=====================================

.. 
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! source digest: sha256:29e859f159e20beb7c3ca10008b29d3e608f2de14125fc3aae7aee8c965c47a5
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
    :target: https://odoo-community.org/page/development-status
    :alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
    :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github
    :target: https://github.com/OCA/pos/tree/16.0/pos_discount_all
    :alt: OCA/pos
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/pos-16-0/pos-16-0-pos_discount_all
    :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
    :target: https://runboat.odoo-community.org/builds?repo=OCA/pos&target_branch=16.0
    :alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

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**

.. contents::
   :local:

Configuration
=============

* Go to "Point of Sale > Products"
* Create or edit your discount products
* Check the box "Is a Discount"

.. image:: 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$

.. image:: 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.

.. image:: 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

.. code-block:: javascript

    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.


.. code-block:: javascript

    // 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 <https://github.com/OCA/pos/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 <https://github.com/OCA/pos/issues/new?body=module:%20pos_discount_all%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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.

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

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.

.. |maintainer-legalsylvain| image:: https://github.com/legalsylvain.png?size=40px
    :target: https://github.com/legalsylvain
    :alt: legalsylvain

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-legalsylvain| 

This module is part of the `OCA/pos <https://github.com/OCA/pos/tree/16.0/pos_discount_all>`_ project on GitHub.

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