The way I execute the protocol is simple inasmuch as it is very much defined by a only a couple of parameters. The less the better.
Agent has to net $x no matter what.
Agent has to net y% of the sales price no matter what.
Agent will rebate z% of the commission that is offered to the client based on number of showings.
If the net received does not match $x or the percentage of the sales price does not match y%then simply deduct the difference from z.
Itemizing beyond that is possible but not anything I do. Providing the services is more important. Some clients utilize it and some are more self sufficient. Basically whenever an offer is submitted by a client the agent should take what is posted above and put it in an addendum and have it signed by the client with the RPA and other docs.