This is like a sale commission situation, there are modules to do that at https://github.com/OCA/commission
How I solve this in one of my modules is like the following:
1- Salesman have their own Sale Journal to keep track about everything they sale
2- Sale Orders generate invoices using the salesman sale journal
3- When Invoices get validated I generate the account.move with to_check = True
4- In the Salesman form I put a button to open his associated sale journal
5- In the Salesman Journal I shows their account.move that have to_check = True and don't have been invoiced to pay the commission to the salesman
6- I add a commission field to the product.template model that will be used to calculate the unit_price of the invoice line of the invoice to pay to the salesman for their sales commissions
7- In the salesman journal I put two buttons to generate invoices to pay the salesman commissions. One for paid (reconciled) account.moves and the other for not paid (not reconciled) account.moves. Each of this buttons fire up a wizard that allow you to invoice all or manually select the account.move's records for the button invoice method. The invoice are generated to the salesman as a provider and calculate the unit_price using the commission field of the product and update the selected moves to set to_check = False that cause to not shows up again in the salesman journal
Hope this get you some ideas
Thanks, Axel!
If was helpful to you can vote on the answer. I spend some time writing by experience here
Thorough answer your was but I decided to just create supplier invoices holding the customer invoices's reference. I did try the sale commission module but it showed a bit too "complicated" for my very simple purpose.
solved then?