===========
Commissions
===========

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

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

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

This module provides the base functions for commission operations to enable the
following:

- Define agents with their commissions
- Assign agents to partners
- Create settlements to summarize commissions for certain periods

You can define which base amount is going to be taken into account: net amount
(based on margin) or gross amount (line subtotal amount).

**Table of contents**

.. contents::
   :local:

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

For adding commissions:

#. Go to *Commissions > Configuration > Commission types*.
#. Edit or create a new record.
#. Select a name for distinguishing that type.
#. Select the percentage type of the commission:

   * **Fixed percentage**: all commissions are computed with a fixed
     percentage. You can fill the percentage in the field "Fixed percentage".
   * **By sections**: percentage varies depending amount intervals. You can
     fill intervals and percentages in the section "Rate definition".

#. Select the base amount for computing the percentage:

   * **Sale/Invoice Amount**: percentage is computed from the amount put on
     sales order/invoice.
   * **Margin (Amount - Cost)**: percentage is computed from the profit only, taken the
     cost from the product.

For adding new agents:

#. Go to *Commissions > Agents*. You can also access from
   *Contacts > Contacts* or *Sales > Orders > Customers*.
#. Edit or create a new record.
#. On "Sales & Purchases" page, mark "Agent" check. It should be checked if
   you have accessed from first menu option.
#. There's a new page called "Agent information". In it, you can set following
   data:

   * The agent type, being in this base module "External agent" the only
     existing configuration. It can be extended with `hr_commission` module
     for setting an "Employee" agent type.
   * The associated commission type.
   * The settlement period, where you can select "Bi-weekly", "Monthly", "Quaterly",
     "Semi-annual" or "Annual".

   You will also be able to see the settlements that have been made to this
   agent from this page.

Usage
=====

For setting default agents in partners:

#. Go to *Invoicing > Customers > Customers* or *Contacts > Contacts*.
#. Edit or create a new record.
#. On "Sales & Purchases" page, you will see a field called "Agents" where
   they can be added. You can put the number of agents you want, but you can't
   select specific commission for each partner in this base module.

For settling the commissions to agents:

#. Go to *Commissions > Settlements > Settle Commissions*.
#. On the window that appears, you should select the date up to which you
   want to create commissions. It should be at least one day after the last
   period date. For example, if you settlements are monthly, you have to put
   at least the first day of the following month.
#. You can settle only certain agents if you select them on the "Agents"
   section. Leave it empty for settling all.
#. Click on "Make settlements" button.
#. If there are new settlements, they will be shown after this.

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

* Make it totally multi-company aware.
* Set agent popup window with a kanban view with richer information and
  mobile friendly.

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

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

* Pexego.
* Davide Corio <davide.corio@domsense.com>
* Joao Alfredo Gama Batista <joao.gama@savoirfairelinux.com>
* Sandy Carter <sandy.carter@savoirfairelinux.com>
* Giorgio Borelli <giorgio.borelli@abstract.it>
* Daniel Campos <danielcampos@avanzosc.es>
* Oihane Crucelaegui <oihanecruce@gmail.com>
* Nicola Malcontenti <nicola.malcontenti@agilebg.com>
* Aitor Bouzas <aitor.bouzas@adaptivecity.com>
* Alexei Rivera <arivera@archeti.com>

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

  * Pedro M. Baeza
  * Manuel Calero

* `Quartile <https://www.quartile.co>`__:

  * Aung Ko Ko Lin
  * Yoshi Tashiro

* `Studio73 <https://www.studio73.es>`__:

  * Ethan Hildick

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-pedrobaeza| image:: https://github.com/pedrobaeza.png?size=40px
    :target: https://github.com/pedrobaeza
    :alt: pedrobaeza

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

|maintainer-pedrobaeza| 

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

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