Why does the discount % shown on the SO detail line change from the value I specified?
Sometimes, depending on the mathematics of price calculations and decimal depth settings, it is possible that the discount % as displayed on a Sales Order detail line may change. This does not mean your discount setup was in error, but it is a behavior caused by the program having to display the discount to match with the unit pricing decimal setting found under the Inventory > Inventory Setup > Inventory Defaults menu choice.
You have an item with a base price of $24.45 and assume that for that item, you have created a discount code, and a discount of 25% for that specific item. You have also set your Unit Price Decimals setting to a value of 2.
The base price of $24.45 x .75 (which represents a 25% discount) is $18.3375 and with the Unit Price decimal setting of 2 decimals, this will be rounded to $18.34. The software then adjusts the displayed discount percentage to 24.99%, which matches the rounding requirements enforced by the Unit Price Decimals setting.
If you wish to present the discount percentage to your customer on their form (such as on an Acknowledgement) and wish it to match the stated whole number then you'll need to make an edit to the form so that the DISCOUNTPRICE field from the QuoteDetail pipeline is displayed as expected. For that field, you would right-click and select the "DisplayFormat..." choice, then select the top format in the list (which is #,0;-#,0) and change the # symbol to the % symbol. This will display the discount rounded as a whole number. It will still display as a decimalized form in the SO detail line.