Ces deux options conviendraient comme solutions de contournement. Elle donneront arithmétiquement le même résultat.
Ergonomiquement un sale_discount serait meilleur pour le cas suivant:
Quand un client demande un devis pour une solution (comprenant produits et services), à réception du devis il entre dans une phase de négociation.
Et c'est à ce moment précis que devient très intéressante l'option de remise globale. C'est cet effort commercial qui permet à la vente d'aboutir.
Ce même client peut solliciter l'entreprise pour une autre solution qui n'a rien à voir avec la première. Si on opte pour une Price liste pour lui donner un prix sur mesure, on arrive rapidement au schémas :
Une vente nécessite une Price liste dédiée.
On peut peut être contourner le problème un créant un produit virtuel "REMISE" dont le prix serait de signe négatif avec pour effet une remise sur le montant total de la vente.