Loading...
 

Complex price or discount and surcharge

Complex price or discount/surcharge

Description

Prices Create/edit

In ClassiX® there are three, for sales articles even four, possibilities to edit a price. The desired option can be selected via the context menu of the price button CX_PRICE_DISCOUNT.png selectable.

Context menu
Menu item Description
Create new price (old price in history) For information please refer to the documentation
Edit price (old price NOT in history) Since the price editing fields are locked, they can be released via this menu item. This intermediate step serves to direct the user to the first menu item, otherwise the price history will be falsified.
Detail processing: selling price The price can also be edited in a separate window, which can be opened via this menu item. In case of complex prices the user is even forced to go through this window.
For the sales items there is also the possibility to maintain the price and costs via a window.
Detailed processing: sales price + costs

Important notes
Before editing a price, check whether it is necessary to move the old price to the price history and create a new one. If this is not done, the pricing of old offers / orders and also orders cannot be tracked.

The entry of a conditional discount/surcharge table may not have any discounts/surcharges itself. Only one price, no matter on which level, may be extended/nested.

Complex price

A price can be defined as a chain of any length (mainly in master data) and then represents a basic price with increase/decrease prices and discounts/surcharges. The chain can be edited in this module in list form.

The following terms are used to describe such a prize:

basic price The first link in the price chain
Data type Value per quantity, percentage, formula or table The basic price can be stored as a value per quantity, formula or table, the further elements as a value per quantity, percentage, formula or table.
Calculation method subtractive or additive The effect of a chain link (from the second link onwards) on the calculation is shown separately by this indication
Net/gross type Net type or gross type Basic price + gross links = gross price (interim result)
Gross price + net links = net price (overall result)
Gross links may only appear before net links
additional charge Additive gross link
reduced price Subtractive gross element
Surcharge Net additive link
Discount Net subtractive element
Example:

Price as a price scale depending on the NWIDTH feature (nominal width) plus an additional price according to the design (DESIGN feature) minus a 1% discount:

Type +/- Species Value Description
PRICE: Table (NWIDTH) 1.450 € / 1 piece basic price
Additional price: Table (DESIGN)

+

gross 100 € / 1 piece Execution
Discount: percent

-

net 1% Discount

(See detailed example, here the values at NWIDTH = 600mm, DESIGN="two air inlets").

Complex discount/supplement

A discount or surcharge can also be defined as a chain of any length, in which case the first link does not differ in its functionality from other links.

Example:
discount -3% - 1% + 1,00 €

A result of this complex price can be tested via the lower part of the window as described below.

Please note:

Prices with conditions are calculated in the orders as follows:

Unit price * quantity + conditions = total value

Example:

5,50 € / 1 piece * 20 pieces + 15 % = total value

Test prices

To test prices with conditional discounts or generally conditional prices, it is possible to add object characteristics to the object characteristics list. In this way, the price can be tested for different constellations and quantities. Only the price per unit is always displayed, which is the total sum resulting from the entered quantity and unit price!
(Example: Maybe the price per unit will change if you want to buy 100 pieces)

The attributes are saved in a temporary data field on the price and are therefore available unchanged the next time the user enters the price. If the characteristics are to be determined again from the owner, the adjacent button must be pressed. All characteristics are then deleted and redrawn from the owner.
If it is a part roll that does not have its own material characteristics, they are drawn from the main part.

Price history/validity list

If a price changes in the course of time, you can of course simply overwrite the old price. In this case, however, it is the case that you do not have an overview of how the price has developed over a period of time.

To be able to record this movement as well, the prices can be provided with validities. You don't just double click on the price and change it, but press the "New" button at the bottom of the window. A small menu opens, which offers the possibility to create an exact copy of the price. The old price is invalidated by the validity date and the new one is set as currently valid.

Now you can change the new price and see how this price has developed in the validity list.

The following example shows a possible price history:

PriceD1a.gif

It is shown here that the price from 17.04.2003 to 20.04.2003 was calculated from a price table, which was also clearly broken down here.
On 21.04.2003 this price has changed so that always a price with a discount (10%) was valid.
Whether the discount is based on list price or net can be seen in the list.

The blue heading tries to show the price in its completeness. If this is not possible due to complex prices, only the heading Price table is displayed, followed by a complete breakdown.

The individual links of a price chain are shown in green. Next to price tables are the "unfolded" symbols, followed by a breakdown of the individual prices and conditions.

By double-clicking on the blue line, the editing window will open, allowing you to edit this price.

When creating a new price with new validity - manually in individual cases or automatically during a price increase run - the plausibility of the price history is checked by checking whether the validity of the new price overlaps with the validity of an existing price. If this is the case, the price change is terminated with an error message.

The validity of the prices can also be changed via the editing window of the prices. Here the plausibility of the prices is also checked. The message of the overlapping of two price validities is only displayed as a warning message, so that the validity of the price that is not currently being edited can be adjusted if necessary.

Copy buffer

Using the copy buffer, which can be called up from the menu, individual discounts or surcharges can be copied into other prices of other parts. However, the main price cannot be copied because there can only be one in the list and this cannot be deleted from the list.
In this way, complex discount price tables can be copied very quickly.

Functionality

Input window

This window is used to maintain complex prices or discounts/surcharges.

Menu
Menu item Description
Edit -
: Discount/ Surcharge -
: : Insert -
: : : Discount Depending on the selection in the context menu, a discount of the appropriate type is inserted below the position selected in the tree or in the list
: : : Surcharge Depending on the selection in the context menu, a supplement of the appropriate type is inserted below the position selected in the tree or in the list
: : Delete Deletes the surcharge/discount selected in the list or tree
Close Close window
Price history Call up price history
Call up Calling up the price history
Move current price to the price history Move current price to the price history

Toolbar
Symbol Description
reload.png Reload input window
pin.pngpinned.png Create/edit notes
calculat.png Unit pocket calculator
copy.png Call up the copy buffer
copytoclipboard.png Copy price history to clipboard/print report

Window elements

Name

Description

Define price/discount formation
: Master object The "owner" object (e.g. sales item in case of a complex sales price, master packaging surcharge in case of a complex packaging surcharge)
: Validity Range of validity for the chain, if available
: tree_view.png list_view.png The pricing view is toggled between the list view and the tree view. Only the first level of pricing is displayed in the list view. Nested tables are not shown in the list view but only in the tree view.

When opening the editing window of the prices, the first step is to check whether the pricing consists of nested tables. If this is the case, the price is displayed directly in the tree view. Standard for "normal" pricing, consisting of one level, however, is the list view.

: List of price/discount members The list view shows the first level of pricing. (If a price/supplement is defined as a table, where at least one table entry is also a table, this table is on level 2 and is not shown in the list).
columns:
Type PRICE: The first entry in the table is always called PRICE.
Surcharge/reduced price: This is a surcharge/reduction based on the list price.
+/- Marking for surcharge or discount
Species Marking for gross or net
Value In the case of a value per quantity or a percentage surcharge, the corresponding value is shown here. If the value is conditional, as is the case with a formula or a table, the test values are used as the basis for calculating the value.
Description ...
: : up.pngdown.png The chain link just marked is moved up or down (the first link cannot be replaced)
: Tree of price/discount members All levels of pricing are displayed in the tree. (If a price/surcharge is defined as a table, where at least one table entry is also a table, this table is on level 2 and is not shown in the list).
Symbols
CX_PRICE_DISCOUNT.png Top nodes of price formation. All positions which are displayed below this node belong to level 1.
CX_ENUM_TABLE.png This symbol represents a conditional table.
condition.png This symbol represents an entry of a conditional table. For each conditional table, a maximum of one entry of the price table can be used for pricing, depending on the characteristics of the variable.

This entry still belongs to the price table level. Only when a conditional table is attached below such an entry,

CX_INTEGER.png This symbol represents a value per quantity.
CX_PERCENT.png This symbol represents a percentage surcharge or discount.
CX_FORMULA.png This symbol represents a formula.

The object tree has its own context menu, which has more or less menu items depending on the selected position.
If there is a conditional price table entry in the tree, it can be duplicated using the context menu item "Duplicate conditional table entry". For all other items, discounts and surcharges can be inserted and the selected price object including all subsequent surcharges can be moved into a table. ("Move position to new table")

: : Insert Depending on the selection in the context menu, a discount/surcharge of the appropriate type is inserted below the position selected in the tree or in the list.)
: : Remove The chain link just selected is deleted (the first link cannot be deleted because it is held by its master object)
: Basic price/discount/supplement
: : Group see processing of complex prices
: Rounding (The rounding function is currently only available in the offer/order)
: : : Buying rounds The price is rounded to 2 decimal places. This is the default setting.
: : : Purchase Rounding (whole values) The price is rounded to the whole euro amount. (For example: "345.44 equals 345.00" and "345.54 equals 346.00")
: : Rounding up (whole values) The price is always rounded up to the whole euro amount. (Example: "345,54 gives 346,00" and "345,44 also gives 346,00")
: : Round off (whole values) The price is always rounded down to the whole euro amount. (Example: "345.54 equals 345.00" and "345.44 also equals 345.00")
: : Conditional rounding
: : : Up -,00 down The price will be rounded to the full euro amount from the value entered. (Example: "45.44 gives 45.00" and "45.54 gives 46.00")
: : : Up -,25 down The price is rounded to .00, .25, .75 from the entered value. (For example: "99.12 gives 99.00", "99.36 gives 99.25", "99.58" gives "99.50", "99.66" gives "99.75")
: : : Up -,10 down The price is rounded to .10 from the value entered. (Example: "345.44 equals 345.00" and "345.54 equals 346.00")
: : : Up -0,00 down The price will be rounded to the whole 10 euro amount from the value entered. (Example: "4,042.44 gives 4040.00" and "4,048.54 gives 4,050.00")
: : : Up -00,00 down The price is rounded to the nearest 100 euros from the value entered. (Example: "21,242.44 gives 21,200.00" and "21,288.54 gives 21,300.00")
: : : Up -000,00 down The price will be rounded to the nearest 1,000 euros from the value entered. (For example: "681,252.44 equals 681,000.00" and "681,788.54 equals 682,000.00")
: : Conditional rounding with table
: : : Rounding table

The price will be rounded according to the conditions and formulas set out in the table. Here, complex rounding conditions can be defined, e.g. depending on the currency. The reference value is always the variable "value", which contains the price to be rounded.

Example of a rounding table
Example of a rounding table

Test price/discount formation
: Testing -
: : Test quantity Quantity for testing quantity scales
: : Attributes List of characteristics which may affect the calculation
: : : up.pngdown.png The currently selected attribute is moved up or down
: : CX_TEST_OBJECT.png The calculation is triggered
: : Result The result of the chain calculation
: : Get attributes again The attributes are fetched again
Status bar
OK Changes to the complex price or discount/surcharge are saved. If no changes have been made, the button is locked.
new A new alternative price or discount/surcharge is created
: Delete The displayed complex price or discount/surcharge is deleted.
Close The window is closed without saving changes. If you want to save the changes, you must press the "OK" button.

Editing window of prices and costs

Menu
Menu item Description
Edit -
: Synchronise prices/costs Synchronise prices/costs
: Individual machining -
: : Retail price Edit sales price
: : Material costs Edit material costs (only available for one production part)
: : Labour costs Edit labour costs (only available for one production part)
: : Cost price Edit cost price (only available if the sales price was linked to the cost price)
: Discount/ Surcharge -
: : Insert -
: : : Discount Depending on the selection in the context menu, a discount of the appropriate type is inserted below the position selected in the tree or in the list
: : : Surcharge Depending on the selection in the context menu, a supplement of the appropriate type is inserted below the position selected in the tree or in the list
: : Delete Deletes the surcharge/discount selected in the list or tree
Close Close window
Price history Call up price history
Call up Calling up the price history
Move current price to the price history Move current price to the price history

Processing of costs and prices

This window is very similar to the input window described above, except that wherever the value is displayed or edited, one (purchase cost for a purchased part) or two (standard cost of material and labour for a manufactured part) cost fields are displayed simultaneously. Which cost fields are displayed is controlled by the logistics indicator. The part roles, which are responsible for the costs and prices, are also displayed in the module.

PriceD4a.gif

The prices and costs can then be edited directly from the module. In doing so, the editor should note that he directly changes the data of the roles. When switching the price type (value per quantity, formula, percent, table), the price/cost type of the roll is also changed automatically.

If different price/cost types are found, the user will be informed by two red dots. The red text also indicates the different value types.

PriceD2a.gif

Creation of price tables for costs and prices

This module offers the simplest way to create price tables for costs and prices, as prices are usually linked to the same conditions as costs. Normally the agent would go into the sales role and create the price table and do the same for the material and labour costs of the production role. He would therefore have to create three almost identical tables.

Using the module for parallel editing of prices and costs the following steps are sufficient. First of all, the type of the prices must be set to "Table". Then the button can be used to open the module for editing a price table. The columns are created identically to the "normal" price tables. The only difference is that in this price table there is not only the column for the price but also the column for the costs.

In the background, the step that only has to be done once here is automatically carried out for all price and cost tables. So you can go back to the parts roll and you will only find one (the normal) price table here.

Additional functions:
  • Processing of non-synchronised prices <-> Costs
    Prices that are not synchronised can be edited in parallel for complex prices up to the price element where the first difference appears. So if an order price has the same structure as a sales price and has only been extended by a surcharge, this surcharge must be moved to the end of the price chain so that a direct connection of the other links can be established. If the additional surcharge is at the beginning of the price links, no surcharge/reduction can be edited in parallel.

    The allocation of the price elements of the sales price and costs can be seen in the list. If something is displayed here in the column Value and the columns of the costs are empty, then no corresponding price element was found in the costs. The cause of the first deviation of two elements is indicated in red letters below the list.
    • Synchronize sync.png
      The function "Synchronize" offers the possibility to transfer the structure of the sales price into the costs. Calling up the function is only enabled if at least one price element of the sales price has no associated cost element. During synchronisation, the current costs are moved into the price history of the order item/production part. Thus the old costs can be restored at any time. The result of the synchronisation is that all pricing elements of the sales price which previously had no assignment to a cost element are included in the costs. If the costs had further surcharges/discounts, these are not deleted but are added to the end of the new cost structure.

      Example:
      Price Costs (old) Costs (new)
      10€ / 1 piece 5€ / 1 piece 5€ / 1 piece
      1€ / 1 piece - 1€ / 1 piece
      +5%
      +5%
  • Via the menu item "Edit unit price/costs" it is also possible to call up detailed editing of the costs/price individually without having to take the diversion via the parts roll.

Price history

This window displays the price history.

Toolbar
Symbol Description
copytoclipboard.png With this button the price history can be copied to the clipboard and thus to Excel etc.
CX_STATISTICS.png This button shows the price development in an extra window.

Fields
Field Description
Owner In this list the owner of the price/costs is displayed. These can be the roles of the parts (sales item, order item, production part) or customer and supplier agreements.
List
  • In the list all price objects of the history are displayed in order of their validity date.
  • In the second column, the calendar symbol indicates the price which is currently valid. If two prices are displayed as valid here, the prices in the history should be checked with regard to their validity period.
  • In the following columns the value of the price is displayed. For complex prices and price tables, the price is displayed in several lines.
Diagram
  • The diagram shows the price development graphically.
  • The x-axis describes the value and the y-axis the date.
  • In the case of conditional prices, the value is determined using the test values of the currently valid price. (These can be viewed and changed by double clicking on the valid object in the second tab).
  • If the price history begins in the undefined past (example " - 1.1.2000"), this section is indicated by the blue dotted line.
  • If the price history ends with an undefined date (example "1.1.2005 -") the process/trend is shown by a green dotted line.
  • By double-clicking, the graphic is displayed in an extra window.

Buttons
button Description
Select Opens the editing window for the price selected in the list. (regardless of whether it is valid or not)
Close Closes the window

Price history

Graphic display of the price development.

Fields
Field Description
Owner In this list the owner of the price/costs is displayed. These can be the roles of the parts (sales item, order item, production part) or customer and supplier agreements.
Diagram
  • The diagram shows the price development graphically.
  • The x-axis describes the value and the y-axis the date.
  • In the case of conditional prices, the value is determined using the test values of the currently valid price. (These can be viewed and changed by double clicking on the valid object in the second tab).
  • If the price history begins in the undefined past (example " - 1.1.2000"), this section is indicated by the blue dotted line.
  • If the price history ends with an undefined date (example "1.1.2005 -") the process/trend is shown by a green dotted line.

Create new price

Create new price (old price in history)

New prices are created via a separate editing window, which automates the process as far as possible.

The group "Old price" serves to give the old price a new validity. The BIS date is automatically determined based on the conversion date (preset to today). The original validity is also displayed for comparison.

The second group is used to create the new price via options. The validity of the price is also set automatically. (Changeover date until infinite.)

The value of the new price can be either an empty price per quantity an empty price table or a copy of the old value.

By pressing the button "OK (1st step)" the new price is created according to the settings.

In step 2 the price can now be edited.

This step is particularly necessary if the new price is not yet valid, as invalid prices cannot be reached via the mask of the sales or order item, for example. Thus, it can either be maintained easily and directly here or inconveniently via the price history.

If the new price has been entered correctly, the second step can also be ended by pressing the OK button.

If you are in step 2, then the button "Close" is locked, otherwise empty/wrong prices would appear in the history.

Use the option window to set the default settings. If, for example, prices of several articles are changed and the new price is always only valid from the turn of the year, the changeover date, which is preset with the session date, can be overwritten.

Menu
Menu item Description
Options Call up the option window

Fields
Field Description
Old price -
: Validity Define validity period of the old price
: Value Value of the old price
Note Leave a note
New price -
: Validity Set the validity period of the new price
New value -
: : Copy of the old values A copy of the old value is created
: : Empty value per quantity An empty value is set per quantity
: : Empty price table An empty price table is created
Note Leave a note
: Edit new price -
: : Price indicate price
: : Quantity Indicate quantity

Buttons
button Description
OK (1st step) Confirm settings for old and new price
Price table Call up price table
CX_PRICE_DISCOUNT.png Edit price with discounts/values
OK (step 2) Confirm information on the new price
Close The window is closed.

Simulative price-cost comparison

Through this window it is possible to compare sales prices and costs of a part where the structure of the complex pricing is different.

Option window

Use the option window to set the default settings. If, for example, prices of several articles are changed and the new price is always only valid from the turn of the year, the changeover date, which is preset with the session date, can be overwritten.

Menu
Menu item Description
Edit -
: Set default settings The settings are reset

Fields
Field Description
Changeover date Set conversion date
Preset 'Type'. -
: Copy of the old value A copy of the old value is created
: Empty value per quantity An empty value is set per quantity
: Empty price table An empty price table is created

Buttons
button Description
OK Save changes

Related topics


Technical documentation

Price/discount definition editing module

Module name

PriceDiscount.mod

Classes

-

Security

In addition to restricting access rights via the class and its data fields, the module can be restricted in its use via some of the received messages.

Received messages
Message Parameters Function Security

Sent messages
Message Parameters Function Receiver module

Operational business