Hy Phoenix,
a good practice is to use trade agreements if needed, and keep the structure as simple as possible.
If all or most of the Customers have the some sales price, use the Standard Sales Price on the Item.
For the other that should not have the Standard sales price create trade agreements for sales prices.
If you can group customers that should have the same price then create and use Customer price group, assign the the price group on the customer master data.
Same procedure can be done with several discounts e.g. for customer groups.
If you can group your products that can be handled with same discounts you can also use item discount groups.
I do not recommend to use trade agreement with single customers (and as well for single products) because the maintenance effort growths with every customer (product). But for sure it is possible to handle exceptions this way.
Image you have ten Customers and ten products, using individal trade agreements results in 100 trade agreement lines.
If you can reduce e.g. to three customer groups and three product discount groups you need to maintain only 9 lines.
Hope this helps.
Herzliche Grüße / kind regards,
Andreas Raithel
D365FO Solution Architect