Discounts

Complete

There is an extensive discount system.  Discounts can be provided at the customer, patient, and product level. You can also give a discount at payment time.

Discount Types
The Administrator defines the various Discount Types using Administration|Types|Discount. For each (eg Staff Discount, Valued Customer, ...) they define  the type (percentage or fixed), the rate, and whether the discount applies to the fixed component of the product price as well as the unit component.

One or more discount types can be included in a Discount Type Group (see Administration|Types|Discount Group) in which a start & end date can be specified for each Discount Type. 

Customers and Patients
For each customer and each patient you can define what discount types and/or discount type groups they have, and their start/end dates.

Products
For each product you can define what discount types apply to the product and their start/end dates.  However, since you can specify discounts for each product type (see Administration|Types|Product Type), it is normal to set the discounts at the type level rather than for each individual product.  If there are discounts on both the product and type, then they will be merged. If a discount appears on both a product and its type, it will only be applied once.

Calculation
When the charge is calculated, the only discounts that apply are those that are common to both product and customer/patient.

Hence if the customer has a staff discount, but the product they are buying has no staff discount, then they don't get the discount.

If the same discount has been set for both the customer and the patient, then the discount is only applied once.

However, if there are different discounts set (eg Valued Client for the customer, and Blood Donor for the patient) then both apply (provided that the product has both set).

If there are multiple applicable discounts (ie staff + valued customer) then both are applied.  However, you cannot reduce the charge below the max discount set for the product - ie if staff is 20% and valued is 30%, but the maximum product discount is 35% then you don't get 20+30=50% but only 35%.

Note that all the above logic simply calculates and displays the applicable discount.  The user creating the invoice/charge can override the calculated discount.

Quantity Breaks
These are not currently supported by the system. There is a proposed design for them, but it's not a currently funded project.

Payment Discounts
You can give a discount at payment time. When the payment is being entered, you simply a payment type of 'Discount' and enter the discount amount. Thus if the customer is paying $1234, this can be 'paid' by a $1000 cheque and a $234 discount.  The Till Balance report will show these discount payments and their total.