Skip to content

Commit

Permalink
Merge PR #1724 into 16.0
Browse files Browse the repository at this point in the history
Signed-off-by pedrobaeza
  • Loading branch information
OCA-git-bot committed May 17, 2024
2 parents a46d4d5 + 3d1c7ac commit 45a5c5a
Show file tree
Hide file tree
Showing 32 changed files with 3,047 additions and 0 deletions.
130 changes: 130 additions & 0 deletions account_global_discount/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
=======================
Account Global Discount
=======================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:77963f56e1294a90029d039eea257d74ebffdce8b4b9e44791794fda44824452
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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%2Faccount--invoicing-lightgray.png?logo=github
:target: https://github.com/OCA/account-invoicing/tree/16.0/account_global_discount
:alt: OCA/account-invoicing
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/account-invoicing-16-0/account-invoicing-16-0-account_global_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/account-invoicing&target_branch=16.0
:alt: Try me on Runboat

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

Apply global discounts to invoices

**Table of contents**

.. contents::
:local:

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

To configure this module, you need to:

#. Go to *Settings > Parameters > Global Discounts*.
#. Add a new discount percentage.
#. Choose the discount scope (sales or purchases).
#. You can also restrict it to a certain company if needed.

You can assign global discounts to partners as well:

#. Go to a partner that is a company.
#. Go to the *Sales & Purchases* tab.
#. In section sale, you can set sale discounts.
#. In section purchase, you can set purchase discounts.

Usage
=====

To use this module, you need to:

#. Go to *Invoicing > Customers > Invoices*.
#. Create a new sales invoice, choose a customer with a defined global
discount and you will see how the value of the 'Invoice Global Discounts'
field is auto-completed with the global discounts defined in the customer
(See configuration section in this readme), although you can choose
then other global discounts defined in configuration.
#. Add several invoice lines.
#. At the bottom of the form you will see how global discounts affect the
total values.
#. Go to the 'Journal Items' tab (if you have permissions for that).
There you will see how the tax lines have the discount percentage applied
and you will also see the lines that reflect the global discount applied.
#. In the 'Other info' tab, you can see in the 'Global Discounts' table,
the global discounts applied to each of the invoice lines.

Known issues / Roadmap
======================

* Not all the taxes combination can be compatible with global discounts, as
the generated journal items won't be correct for taxes declarations. An error
is raised in that cases.
* Currently, taxes in invoice lines are mandatory with global discounts.
* No tax tags are populated for the global discount move lines, only `tax_ids`.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-invoicing/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/account-invoicing/issues/new?body=module:%20account_global_discount%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
~~~~~~~

* Tecnativa

Contributors
~~~~~~~~~~~~

* `Tecnativa <https://www.tecnativa.com>`_

* Pedro M. Baeza
* David Vidal
* Carlos Dauden
* Rafael Blasco
* Ernesto Tejeda
* Víctor Martínez
* Omar Castiñeira <[email protected]>

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/account-invoicing <https://github.com/OCA/account-invoicing/tree/16.0/account_global_discount>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions account_global_discount/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from . import models
from . import report
from .hooks import _pre_init_global_discount_fields
22 changes: 22 additions & 0 deletions account_global_discount/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2019 Tecnativa S.L. - David Vidal
# Copyright 2020-2021 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Account Global Discount",
"version": "16.0.1.0.0",
"category": "Accounting",
"author": "Tecnativa, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/account-invoicing",
"license": "AGPL-3",
"depends": ["account", "base_global_discount"],
"data": [
"security/ir.model.access.csv",
"security/security.xml",
"views/account_invoice_views.xml",
"views/global_discount_views.xml",
"views/report_account_invoice.xml",
],
"application": False,
"installable": True,
"pre_init_hook": "_pre_init_global_discount_fields",
}
28 changes: 28 additions & 0 deletions account_global_discount/hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
from odoo.tools.sql import column_exists


def _pre_init_global_discount_fields(cr):
if not column_exists(cr, "account_move", "amount_global_discount"):
cr.execute(
"""
ALTER TABLE "account_move"
ADD COLUMN "amount_global_discount" double precision DEFAULT 0
"""
)
cr.execute(
"""
ALTER TABLE "account_move" ALTER COLUMN "amount_global_discount" DROP DEFAULT
"""
)
if not column_exists(cr, "account_move", "amount_untaxed_before_global_discounts"):
cr.execute(
"""
ALTER TABLE "account_move"
ADD COLUMN "amount_untaxed_before_global_discounts" double precision
"""
)
cr.execute(
"""
update account_move set amount_untaxed_before_global_discounts = amount_untaxed
"""
)
Empty file.
Loading

0 comments on commit 45a5c5a

Please sign in to comment.