# Discount structure

The Discount structure facility allows a highly configurable means of providing discount and price calculations for Items and customers based on a range of criteria. These calculations are used to generate the sell price of an item when the item is entered into a Sales quotation, Sales order or Sales invoice.

The Discount Structure system allows you to create an unlimited number of Discount Structure specifications that determine how a price should be calculated for an item based on who the item is being sold to and the categories into which that item belongs. A Discount Structure specification allows the entry of an expiry date, after which the Discount Structure calculation will not be used.

A single Discount Structure specification consists of the selection of one of two Key types and its value (who you are selling to), one of three Price types and its value (how to calculate price) and one of four code types and its value (what you are selling or who you buy it from).

The different types are shown in the table below:

Key type | Price Type | Code Type
--- | --- | ---
Customer | Fixed price | Item code
All customers | Discount | Item's Product group
Discount type | Mark up | Item's Price group
All discount types |  | Item’s supplier
|  | All item codes
|  | All item product groups
|  | All item price groups
|  | All item suppliers

For example, using this table you can specify that a specific Customer will be given a discount off the list Price off any item that is a particular type of Product group. Using the table above, it is possible to use one of almost 100 possible combinations of Key type, Code type and Price type for a Discount Structure specification.

Import Discount Structures

The import format for Discount Structures is listed below. The Discount Structure data defines the customer pricing for one database. A template is available for download here, please read all instructions on the file after downloading.

##### Column data

These are the columns that must be included in the file in the exact order as below.

- KEY TYPE
- KEY ID
- KEY NAME
- CODE TYPE
- CODE ID
- CODE NAME
- PRICING TYPE
- PRICE
- EXPIRY DATE
- APPLIES TO PRICE1
- APPLIES TO PRICE2
- APPLIES TO PRICE3
- MIN SALES QTY
- WAREHOUSE

Features

- An unlimited number of Discount Structure specifications can be defined
- One of 16 different combinations of what is being sold versus who is being sold to can be selected for each Discount Structure specification
- An expiry date can be defined for each Discount Structure specification
- Pop up notifications available for Customers, Suppliers and items

Discount structure form

Module: Accounts receivable

Category: Discount Structure

Activation: Main > Accounts receivable > Setup > Discount Structure > New / Edit

Form style: Multiple instance, SODA

Special actions available for users with Administrator permissions:

- None

Database rules:

- A Discount Structure specification can be deleted at any time

Field definitions
Main

Customer / Discount type list

Reference: List, Read-only

This list displays all of the Customer (Debtor) codes and / or Discount types (depending on the option chosen at the bottom of the list) for which Discount Structure specifications currently exist. As you click on each item in the list, the Discount Structure specifications that exist for that item are displayed to the right of the list.

The Customer / Discount type options at the bottom of the list determine whether the list displays Customer codes, Discount types or both.

Customer / Discount type

Reference: Yes/no

These options determine which sets of discount structures appear in the Customer / Discount type list. By default, both options are selected, meaning that all discount structures will appear in the list

Discount structure list

Reference: List, Read-only

All fields in the Discount Structure list are read-only.

- Code type: This shows the code type that is being used. It will be either item, Product group, Suppliers or Price group
- Code ID: The code ID represents either a record matching the selected code type or < ALL > records matching the selected code type. For a code type of item, this will be the Item code; for a code type of Product, this will be the Product group name; for a code type of Supplier, this will be the Supplier code; and for a code type of Price Group, this will be the Price Group code.
- W/H: This column displays the option selected from the Which warehouse does this discount apply to? field in the Discount structure specification form. If the Warehouse field is set to <ANY> this column will be blank.
- State:This column displays the option selected from the Which delivery state does this discount apply to? field in the Discount structure specification form. If the State field is set to <ANY> this column will be blank.
- P1: This column displays an asterisk (*) if the Price 1 checkbox in the Which item unit prices will this discount apply to? field on the Discount structure specification form is ticked. If the checkbox is not ticked, this column will be blank.
- P2: This column displays an asterisk (*) if the Price 2 checkbox in the Which item unit prices will this discount apply to? field on the Discount structure specification form is ticked. If the checkbox is not ticked, this column will be blank.
- P3: This column displays an asterisk (*) if the Price 3 checkbox in the Which item unit prices will this discount apply to? field on the Discount structure specification form is ticked. If the checkbox is not ticked, this column will be blank.
- MSQ: This column displays the amount entered into the What is the minimum sale quantity? field on the Discount structure specification form.
- Disc %: For discount structures that specify a discount off list price as the pricing type, this column will display the applicable discount percentage.
- Fixed price: For discount structures that specify a fixed price as the pricing type, this column will display the applicable fixed price.
- Mark up %: For discount structures that specify a mark-up on cost price as the pricing type, this column will display the applicable mark-up percentage.
- Expiry date: This is the expiry date for the Discount Structure specification, after which the specification will not be used.

Discount structure specification

Who will this discount apply to?

Reference: Mandatory

This section allows you to specify which customers to which this discount will apply.

- The specified customer (Yes/no): If you select Customer, then you must enter a valid Customer code in the Customer code text box.
- Any customer having the specified discount type (Yes/no): If you select Discount type, then you must enter a valid Discount type name in the Discount type text box.
- Customer code / Discount type (Text, QuickList): The text box for entering your key value (either Customer / Discount type) supports a QuickList by either pressing the QuickList Hot Key or clicking on the button. Alternatively, you can leave the Customer code / Discount type text box empty. Doing so implies that the discount structure will apply to ALL customers or discount types.

Which items will this discount apply to?

Reference: Mandatory

This section allows you to specify which items the discount will be calculated on.

- The specified item (Yes/no): If you select the item option, then you must enter a valid Item code in the item code combo box.
- Any item within the specified product group (Yes/no): If you select the Product group option, then you must select a Product group code from the Product combo box.
- Any item within the specified price group (Yes/no): If you select the Suppliers option, then you must enter a valid Supplier (Creditor) code in the Supplier code combo box.
- Any item sold by the specified supplier (Yes/no): If you select the Price group option, then you must select one of the Price groups from the Price Group combo box.
- Item code / Product / Price group / Supplier code (Text, QuickList): The combo box for entering your Key type (either Customer type or Discount type) supports a QuickList by either pressing the QuickList Hot Key or clicking on the button. As an alternatively, the combo box for which ever code type you have selected can be left empty. Doing so implies that the discount structure will apply to ALL record for the code type. For example, selecting item and the code type and leaving the item code combo empty will mean that the discount structure will apply to ALL items.

What time period will the price apply in?

- Applies from
- Reference: Date, QuickList
- Information is under review for a new version and will be updated soon.

- Expiry date
- Reference: Date, QuickList
- This is the date after which the Discount structure specification becomes invalid and is no longer used in price calculations. Discount structure specifications that have expired are still visible in the Discount structure system until they are manually deleted.

Which item unit prices will this discount apply to?

Reference: Mandatory

- Price 1
- Reference: Yes/no
- If this checkbox is ticked, the discount structure will be applied if the base unit of a relevant item is selected in the Unit field (provided the other discount criteria are also met). The base unit and pricing are set in the Units / Pricing field on the Inventory form.
- Price 2
- Reference: Yes/no
- If this checkbox is ticked, the discount structure will be applied if Unit 2 of a relevant item is selected in the Unit field (provided the other discount criteria are also met).
- If, when creating a sales document, the applicable discount structure with the highest precedence has Price 2 ticked, but not Price 1, the Unit field of the sales document will default to Unit 2 instead of the base unit. See Default sales unit override all discount structures for more information.
- Unit 2 and pricing are set in the Units / Pricing field on the Inventory form.
- Price 3
- Reference: Yes/no
- If this checkbox is ticked, the discount structure will be applied if Unit 3 of a relevant item is selected in the Unit field (provided the other discount criteria are also met).
- If, when creating a sales document, the applicable discount structure with the highest precedence has Price 3 ticked, but not Price 1 or Price 2, the Unit field of the sales document will default to Unit 3 instead of the base unit. See Default sales unit override all discount structures for more information.
- Unit 3 and pricing are set in the Units / Pricing field on the Inventory form.

What is the minimum sale quantity?

Reference: Quantity

This field is not compulsory. If the field is left blank, no minimum sale quantity will apply. If the field is not blank, the discount is based on the Minimum sale quantity and will be checked when quantities change.

This can affect Sales invoices, orders and quotations.

Which warehouse does this discount apply to?

Reference: Select from list

The discount structure will be applied if this field matches the Warehouse field for a sales record (provided the other discount criteria are also met). If the system preferenceAllow warehouses to be set per line on Sales records is ticked, then the discount structure will instead be applied if this field matches the Warehouse field in the Sales order line details.

If this field is left blank, the discount structure will apply to all Warehouses.

Which delivery state does this discount apply to?

Reference: Select from list

The discount structure will be applied if this field matches the State field in the Delivery details tab of a sales record (provided the other discount criteria are also met).

If this field is left blank, the discount structure will apply for all states (including when the State field is blank).

If this field is not blank, the discount structure will not apply when the delivery state is blank.

Last edit: 26/06/2026

How will the price be calculated?

Reference: Mandatory

This section allows you to determine how this discount will be calculated

- Discount off list price
- Reference: Yes/no
- If you select Discount on list price, then you must enter the relevant discount (as a quantity) percentage off the corresponding list price of any item used with this specification into the Discount text box.
- Mark up on cost price
- Reference: Yes/no
- If you select Mark up on cost price, then you must enter the relevant mark up (as a quantity) percentage on the corresponding cost price of any item used with this specification into the Mark up (%) text box.
- Fixed price
- Reference: Yes/no
- If you select Price, then you must enter the fixed price (as a currency value) of any item used with this specification into the Fixed price text box.
- Discount (%) / Mark up (%) / Fixed price
- Reference: Quantity
- For discount structures that have Discount off list price selected in the How will the price be calculated? field, this field will show as Discount (%). The value entered into this field is the percentage that the corresponding list price will be reduced by. For example, if 20 is entered into this field, the list price will be discounted by 20% (i.e. the Sell price will be 80% of its List price).
- For discount structures that have Mark up on cost price selected in the How will the price be calculated? field, this field will show as Mark up (%). The value entered into this field is the percentage by which the corresponding average cost will be increased. For example, if 20 is entered into this field, the Sell price will be 120% of the Avg Cost ($). Importantly, the increase is calculated based on the average cost price at the time of delivery. This means that when you produce a Sales order, the sale price may not be the same as the final price when the invoice is produced. See Preserve Sales order prices on Sales invoice when derived from a Mark up on cost discount for more information.
- For discount structures that have Fixed price selected in the How will the price be calculated? field, this field will show as Fixed price. The value entered into this field is the dollar value that the price will be set to. For example, if 20 is entered into this field, the Sell price will be $20.00. Importantly, the fixed price is always assumed to be in the Currency for the customer of the sales document regardless of the currency set for the items Units / Pricing.
- For example: You are producing a Sales order for a Customer that uses USD. The Sales order is for an item that uses AUD for Price 1. If a discount structure that sets a fixed price of 20 is applied, the Sell price will be $20 USD. If you were producing the same Sales order but for a Customer that uses AUD, the sell price will be $20 AUD.

Related topics