Complex Sales Commission

Commission is something seem easy, yet never easy. What make it difficult is not the calculation method itself, but more into how and when the readily calculated commission can be released too sales people. For example, some company may says, OK, we have SO we have Invoice, commission is calculated, but to release it, the invoice must has been paid first. Some says, not enough, the money must be in the bank too. Some says, need the be paid on time and the selling price must not too low, etc…and guess what, it could be more complex than this especially when deal with SMEs.

We Ecosoft found that, the commission module from OpenERP can not satisfy our customer requirement, and so we build a new module from the ground up. This module is “Sales Commission Calculation” and again with open source spirit, now it is freely available at (search for sale_commission_calc).

Our commission module is very much focus on the release condition of commissions, which we think is very important for our customer requirement. For the commission calculation, though at the beginning we have 5 method (for most customers, it is enough), but we have make sure that our code is good enough for easy extension.

The concept of Sales Commission Calculation module

Each Salesperson (or Team) will have 1 Worksheet per Period. Each worksheet will list commission lines, each with a calculated commission to be released as Commission Invoice. Commission amount will be created based on the Commission Rule assiged to each Salesperson (or Team). Whether each commission line is “Ready” will be based Release Conditions specified for each salesperson / team. If those conditions are met (e.g., is paid, due date, etc) the commission line status will be changed to “Ready”, and the commission invoice then can be created for that particular salesperson. And whether or not the commission is ready, user can always force release or skip.


 Working Steps

  1. Assign commission rule and release conditions for all salesperson / sales team. Use Configuration > Salesperson (or Sales Team).
  2. In each Sales Order, as salesperson assigned, resulting Customer Invoice will have that salesperson / team in “Salesperson/Team and Commission” section of Other Info tab. This mark this invoices as eligible for commision for this salesperson.
  3. Create Commission Worksheet for Salesperson / Team vs Period of interest.
  4. Click “Calculate Commission” in the worksheet to list all eligible invoices of the period. System check for the commission readiness of each line.
  5. Confirm this worksheet to freeze the commission lines, and make it ready to Create Commission Invoice.
  6. For lines stated as “Ready”, click “Create Commission Invoice” button will create Commission Invoices.
  7. Worksheet state will be “Done” as all lines stated as “Ready” has been created as Commission Invoices.