Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
e6a6782
[ADD] sale_triple_discount
tafaRU Mar 27, 2017
e436775
[MIG] sale_triple_discount: Migration to 10.0
chienandalu Sep 7, 2017
25cd85f
Translated using Weblate (Nederlands (nl_NL))
thomaspot Jun 21, 2018
d30ae15
Translated using Weblate (Dutch (nl_NL))
thomaspot Jun 21, 2018
3cda20a
[FIX] sale_triple_discount: Correctly compute taxes with round_global…
SimoRubi Dec 19, 2018
dbceaea
[FIX] sale_triple_discount: Store values in cache for recomputation c…
SimoRubi Dec 21, 2018
9601b63
sale_triple_discount: Fix tax total on report: include the discount2/…
jbaudoux Nov 21, 2018
4383d7d
[IMP] 10.0 sale_triple_discount: rework discount computation
mpanarin Jul 13, 2018
4d3dad7
Play onchange after invoice creation to ensure discounts are applied
grindtildeath Jul 4, 2019
e049553
Fix groups on sale.order view
grindtildeath Jul 4, 2019
f2e9c69
[MIG] sale_triple_discount: Migration to 12.0
tafaRU Nov 22, 2019
1d27ea6
[IMP] sale_triple_discount: black, isort, prettier
ps-tubtim May 8, 2020
7a2dc62
[MIG] sale_triple_discount: Migration to 13.0
ps-tubtim Jun 22, 2020
3dd625f
[IMP] sale_triple_discount: black, isort, prettier
ferran-S73 Sep 29, 2021
beea8ad
[14.0][MIG] sale_triple_discount: Migration to V14
ferran-S73 Sep 29, 2021
be194f8
[14.0][IMP] sale_triple_discount: add disc. fields in sale report templ.
ferran-S73 Feb 23, 2022
c34c5a6
[14.0] sale_triple_discount: sale_order_line_discount_validation compat.
ferran-S73 Mar 28, 2022
1d90d96
Translated using Weblate (Italian)
francesco-ooops Apr 8, 2022
2c8cb43
Translated using Weblate (French)
klodr Sep 15, 2022
b741c8f
[IMP] sale_triple_discount: black, isort, prettier
manuelregidor Oct 19, 2022
18c8250
[MIG]sale_triple_discount: Migration to 15.0
manuelregidor Oct 19, 2022
6fea626
sale_triple_discount 15.0.1.0.1
OCA-git-bot Oct 25, 2022
f5af7e4
[16.0][MIG] - sale_triple_discount
sbejaoui Dec 28, 2022
50b6882
[UPD] Update sale_triple_discount.pot
Jan 26, 2023
80d6041
[UPD] README.rst
OCA-git-bot Jan 26, 2023
b64886b
sale_triple_discount 16.0.1.0.1
OCA-git-bot Jan 26, 2023
3616af8
Update translation files
weblate Jan 26, 2023
ef631f5
Added translation using Weblate (Spanish (Mexico))
alan196 Feb 14, 2023
3b6a41d
Translated using Weblate (Spanish (Mexico))
alan196 Feb 14, 2023
21e9b1a
Translated using Weblate (Italian)
Jun 14, 2023
0af1d03
Translated using Weblate (Spanish)
Ivorra78 Jul 25, 2023
aca65fd
[UPD] README.rst
OCA-git-bot Sep 3, 2023
e275ccb
Translated using Weblate (Italian)
mymage Dec 1, 2023
7e6227e
[IMP] sale_triple_discount: improve module extensibility
renda-dev Mar 26, 2024
e386d95
Translated using Weblate (German)
jappi00 Apr 10, 2024
0e57ff3
[FIX] sale_triple_discount: apply rounding to avoid price value discr…
ajaniszewska-dev Apr 9, 2024
058e601
[BOT] post-merge updates
OCA-git-bot May 18, 2024
56d0a90
Translated using Weblate (Portuguese (Brazil))
May 29, 2024
fd0ac70
[FIX] sale_triple_discount: Remove call to deprecated
lmignon Sep 25, 2024
b140db9
[BOT] post-merge updates
OCA-git-bot Sep 25, 2024
f045c43
[IMP] sale_triple_discount: Improves perfs and consistency
lmignon Sep 26, 2024
164d22b
[BOT] post-merge updates
OCA-git-bot Oct 16, 2024
accde5a
[FIX] sale_triple_discount: Don't rely on newer versions of account_t…
rousseldenis Apr 28, 2025
8d9cace
[BOT] post-merge updates
OCA-git-bot Apr 28, 2025
e68d009
Translated using Weblate (French)
MDgrap May 16, 2025
e373e3c
[BOT] post-merge updates
OCA-git-bot Sep 2, 2025
e5525ec
sale_triple_discount: Consolidate discount in std field
grindtildeath Jan 8, 2024
132f488
[FIX] sale_fixed_discount, sale_triple_discount: modules are incompat…
legalsylvain Feb 25, 2025
12079ee
[FIX] sale_triple_discount: cleanup sale refactor
hildickethan Sep 25, 2025
42e8cd7
[IMP] sale_triple_discount: pre-commit auto fixes
hildickethan Oct 1, 2025
39d0b9d
[MIG] sale_triple_discount: Migration to 17.0
dalonsod Nov 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
129 changes: 129 additions & 0 deletions sale_triple_discount/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
====================
Sale Triple Discount
====================

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

.. |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%2Fsale--workflow-lightgray.png?logo=github
:target: https://github.com/OCA/sale-workflow/tree/17.0/sale_triple_discount
:alt: OCA/sale-workflow
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/sale-workflow-17-0/sale-workflow-17-0-sale_triple_discount
: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/sale-workflow&target_branch=17.0
:alt: Try me on Runboat

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

This module allows to have three discounts on every sale order line.

**Table of contents**

.. contents::
:local:

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

To configure this module, you need to:

- set **Discount on lines** group to be able to see discounts on the
lines

Usage
=====

Create a new sale order and add discounts in any of the three discount
fields given.

For multiplicative discounts they go in order of precedence so discount
2 will be calculated over discount 1 and discount 3 over the result of
discount 2. For example, let's divide by two on every discount:

Unit price: 600.00 ->

- Disc. 1 = 50% -> Amount = 300.00
- Disc. 2 = 50% -> Amount = 150.00
- Disc. 3 = 50% -> Amount = 75.00

For additive discounts they will be summed first and then applied. For
example, let's have a three 20% discounts:

Unit price: 600.00 ->

- Disc. 1, 2, 3 = 20% + 20% + 20% -> 60%
- Disc. final = 60% -> Amount = 240.00

You can also use negative values to make a charge instead of a discount:

Unit price: 600.00 ->

- Disc. 1 = 50% -> Amount = 300.00
- Disc. 2 = -5% -> Amount = 315.00

Module allows defining additional discount fields and applying them with
other by adding them to the \_get_multiple_discount_field_names method.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/sale-workflow/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/sale-workflow/issues/new?body=module:%20sale_triple_discount%0Aversion:%2017.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
-------

* ADHOC SA
* Agile Business Group
* Tecnativa

Contributors
------------

- Nicolas Mac Rouillon <@nicomacr>
- Juan José Scarafía <jjs@adhoc.com.ar>
- Alex Comba <alex.comba@agilebg.com>
- David Vidal <david.vidal@tecnativa.com>
- Simone Rubino <simone.rubino@agilebg.com>
- Jacques-Etienne Baudoux (BCIM sprl) <je@bcim.be>
- Pimolnat Suntian <pimolnats@ecosoft.co.th>
- Denis Leemann <denis.leemann@camptocamp.com>
- Manuel Regidor <manuel.regidor@sygel.es>
- Akim Juillerat <akim.juillerat@camptocamp.com>

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.

This module is part of the `OCA/sale-workflow <https://github.com/OCA/sale-workflow/tree/17.0/sale_triple_discount>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions sale_triple_discount/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
19 changes: 19 additions & 0 deletions sale_triple_discount/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2015 ADHOC SA (http://www.adhoc.com.ar)
# Copyright 2017 - 2019 Alex Comba - Agile Business Group
# Copyright 2017 Tecnativa - David Vidal
# Copyright 2018 Jacques-Etienne Baudoux (BCIM sprl) <je@bcim.be>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Sale Triple Discount",
"version": "17.0.1.0.0",
"category": "Sales",
"author": "ADHOC SA, Agile Business Group, Tecnativa, "
"Odoo Community Association (OCA)",
"website": "https://github.com/OCA/sale-workflow",
"license": "AGPL-3",
"summary": "Manage triple discount on sale order lines",
"depends": ["sale", "account_invoice_triple_discount"],
"data": ["views/sale_order_report.xml", "views/sale_order_view.xml"],
"installable": True,
}
89 changes: 89 additions & 0 deletions sale_triple_discount/i18n/ca.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:52+0000\n"
"PO-Revision-Date: 2017-11-23 01:52+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. module: sale_triple_discount
#: model_terms:ir.ui.view,arch_db:sale_triple_discount.report_saleorder_document_triple_discount
msgid "<span>Disc. 2 (%)</span>"
msgstr ""

#. module: sale_triple_discount
#: model_terms:ir.ui.view,arch_db:sale_triple_discount.report_saleorder_document_triple_discount
msgid "<span>Disc. 3 (%)</span>"
msgstr ""

#. module: sale_triple_discount
#: model:ir.model.fields.selection,name:sale_triple_discount.selection__sale_order_line__discounting_type__additive
msgid "Additive"
msgstr ""

#. module: sale_triple_discount
#: model:ir.model.fields,field_description:sale_triple_discount.field_sale_order_line__discount2
msgid "Disc. 2 (%)"
msgstr ""

#. module: sale_triple_discount
#: model:ir.model.fields,field_description:sale_triple_discount.field_sale_order_line__discount3
msgid "Disc. 3 (%)"
msgstr ""

#. module: sale_triple_discount
#: model:ir.model.constraint,message:sale_triple_discount.constraint_sale_order_line_discount2_limit
msgid "Discount 2 must be lower or equal than 100%."
msgstr ""

#. module: sale_triple_discount
#: model:ir.model.constraint,message:sale_triple_discount.constraint_sale_order_line_discount3_limit
msgid "Discount 3 must be lower or equal than 100%."
msgstr ""

#. module: sale_triple_discount
#: model:ir.model.fields,field_description:sale_triple_discount.field_sale_order_line__discounting_type
msgid "Discounting Type"
msgstr ""

#. module: sale_triple_discount
#: model:ir.model.fields.selection,name:sale_triple_discount.selection__sale_order_line__discounting_type__multiplicative
msgid "Multiplicative"
msgstr ""

#. module: sale_triple_discount
#. odoo-python
#: code:addons/sale_triple_discount/models/sale_order_line.py:0
#, python-format
msgid "Sale order line %(name)s has unknown discounting type %(dic_type)s"
msgstr ""

#. module: sale_triple_discount
#: model:ir.model,name:sale_triple_discount.model_sale_order_line
msgid "Sales Order Line"
msgstr "Línia de comanda de vendes"

#. module: sale_triple_discount
#: model:ir.model.fields,help:sale_triple_discount.field_sale_order_line__discounting_type
msgid ""
"Specifies whether discounts should be additive or multiplicative.\n"
"Additive discounts are summed first and then applied.\n"
"Multiplicative discounts are applied sequentially.\n"
"Multiplicative discounts are default"
msgstr ""

#, fuzzy
#~ msgid "Sale Order"
#~ msgstr "Línia de comanda de vendes"
95 changes: 95 additions & 0 deletions sale_triple_discount/i18n/de.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:52+0000\n"
"PO-Revision-Date: 2024-04-10 15:37+0000\n"
"Last-Translator: jappi00 <jappi2000@ewetel.net>\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: sale_triple_discount
#: model_terms:ir.ui.view,arch_db:sale_triple_discount.report_saleorder_document_triple_discount
msgid "<span>Disc. 2 (%)</span>"
msgstr "<span>Rabatt 2 (%)</span>"

#. module: sale_triple_discount
#: model_terms:ir.ui.view,arch_db:sale_triple_discount.report_saleorder_document_triple_discount
msgid "<span>Disc. 3 (%)</span>"
msgstr "<span>Rabatt 3 (%)</span>"

#. module: sale_triple_discount
#: model:ir.model.fields.selection,name:sale_triple_discount.selection__sale_order_line__discounting_type__additive
msgid "Additive"
msgstr "Additiv"

#. module: sale_triple_discount
#: model:ir.model.fields,field_description:sale_triple_discount.field_sale_order_line__discount2
msgid "Disc. 2 (%)"
msgstr "Rabatt 2 (%)"

#. module: sale_triple_discount
#: model:ir.model.fields,field_description:sale_triple_discount.field_sale_order_line__discount3
msgid "Disc. 3 (%)"
msgstr "Rabatt 3 (%)"

#. module: sale_triple_discount
#: model:ir.model.constraint,message:sale_triple_discount.constraint_sale_order_line_discount2_limit
msgid "Discount 2 must be lower or equal than 100%."
msgstr "Der Rabatt 2 muss kleiner oder gleich 100% sein."

#. module: sale_triple_discount
#: model:ir.model.constraint,message:sale_triple_discount.constraint_sale_order_line_discount3_limit
msgid "Discount 3 must be lower or equal than 100%."
msgstr "Der Rabatt 3 muss kleiner oder gleich 100% sein."

#. module: sale_triple_discount
#: model:ir.model.fields,field_description:sale_triple_discount.field_sale_order_line__discounting_type
msgid "Discounting Type"
msgstr "Rabattierungstyp"

#. module: sale_triple_discount
#: model:ir.model.fields.selection,name:sale_triple_discount.selection__sale_order_line__discounting_type__multiplicative
msgid "Multiplicative"
msgstr "Multiplikativ"

#. module: sale_triple_discount
#. odoo-python
#: code:addons/sale_triple_discount/models/sale_order_line.py:0
#, python-format
msgid "Sale order line %(name)s has unknown discounting type %(dic_type)s"
msgstr ""
"Verkaufsauftragszeile %(name)s hat unbekannte Rabattierungsart %(dic_type)s"

#. module: sale_triple_discount
#: model:ir.model,name:sale_triple_discount.model_sale_order_line
msgid "Sales Order Line"
msgstr "Auftragsposition"

#. module: sale_triple_discount
#: model:ir.model.fields,help:sale_triple_discount.field_sale_order_line__discounting_type
msgid ""
"Specifies whether discounts should be additive or multiplicative.\n"
"Additive discounts are summed first and then applied.\n"
"Multiplicative discounts are applied sequentially.\n"
"Multiplicative discounts are default"
msgstr ""
"Gibt an, ob Rabatte additiv oder multiplikativ sein sollen.\n"
"Additive Rabatte werden zuerst summiert und dann angewendet.\n"
"Multiplikative Rabatte werden nacheinander angewandt.\n"
"Multiplikative Rabatte sind Standard"

#, fuzzy
#~ msgid "Sale Order"
#~ msgstr "Auftragsposition"
Loading