If you wish to force a discount to be taken, you can do so as follows.
Manual Payment
The discount amount for a manual payment can be forced (even for a partial payment) by setting the next discount field in the invoice to the amount of the discount to be taken, and the next payment field to the amount of the payment to be made against the invoice. The total of the next payment and next discount fields can not be more than the open invoice amount. The discount will only be taken when the discount date in the invoice is greater than or equal to the current system date (you may also edit the discount date in the invoice if necessary).
Computer Generated Payments
The Create Checks or Wire Transfers program will only let you take a discount when the invoice being processed will be entirely paid off (the amount of the payment and discount match the invoice amount), and when the discount date in the invoice is greater than or equal to the current date.
You can force a discount to be taken after the fact during an automated payment run by adjusting the discount date in the invoice to a date equal to or greater than the current date. This will cause the system to take the discount when the whole invoice is being paid off.