When Apply Special Pricing is Selected all pricing decisions go through the Special Pricing Script to return a price - whether or not any SP Rules match the Context.
A special pricing decision is triggered for a line when Product Code, Quantity (if Quantity breaks are enabled) or any line level Special Pricing Criteria which are made available in SP Who, SP Where (Saturn only) or SP What are entered.
In the Special Pricing Script the price and discount that would apply without Special Pricing is added as an in memory rule with Priority 9, all special pricing rules that could apply in the context are collected, then sorted and a rule selected. The default Special Pricing script sorts the collected rules by Priority (1 being the highest and 9 the lowest) and effective price then disallows any rules below the minimum margin unless by-pass minimum margin is true for the rule. It returns the Special Price and Special Discount for the first non-disallowed rule.
Note: The Special Pricing Script can be modified to a company specific version. This is usually so that the decision about either the rules to collect, or the sort order for selecting a rule can be changed.
Take care with Event scripting not to trigger pricing decisions after price changes have been made. Assigning the Product Code, Quantity (if Use Quantity Breaks is selected in SP settings), or the Sales Group Code or Location Code if these are enabled in SP Who or SP Where criteria will recalculate Selling Price, Discount and potentially Cost Price for Manually Costed Products.
Making changes to other Pricing Criteria in for example the Document Header will not retrigger pricing decisions that have been made for existing lines. These may be triggered deliberately using Reprice.
We recommend you enable only the SP Criteria you need in order to add the rules you require.