In situations where you are receiving a percentage, it is generally wise to include a provision allowing an audit of the books. If sales or other taxes are involved, be sure to specify who pays the taxes. For the party purchasing goods or services, a termination provision can often be the best protection when a contractual relationship is not working well. Any party providing goods or services needs to consider adding provisions that limit warranties. With contracts involving goods, the Uniform Commercial Code automatically creates certain warranties unless there are specific disclaimers of those warranties.
Warranties can also be a problem for parties providing services.
In addition, a party providing services or goods may want to include a provision limiting liability so that there is no exposure for the other side's lost profits etc. For example, unless the contract states otherwise, either side has the right to assign the contract. You may want to prevent assignment to a competitor or prevent all assignment so that you are assured of who you will be dealing with. Generally, any ambiguity in an agreement is construed against the party drafting it. One possible solution is to add a provision stating that the agreement will be interpreted as if drafted by both parties equally.