
Prices
This chapter explains the pricing logic of bill-to. It also describes all pages that can be accessed in the role centre under Prices.
Prices for subscriptions are determined using an extended standard price determination feature in Microsoft Dynamics 365 Business Central. The ‘New Sales Pricing Experience’ feature in the Microsoft standard is used for this purpose. This feature has been expanded to include the fields Billing Interval, Subscription Term and Bundle Number.
For advanced pricing logic, there are also reference prices, index price plans and imputed costs.
Subscription Price Lists
You have the option of creating your own price lists for Subscriptions. Whether a subscription price list makes sense or not depends on the agreement with the customer.
If the agreement states that prices can be increased within the Subscription Period, especially for Items that are resold, it does not make sense to have a separate subscription price list. In this case, the current prices from the Default price list for the Items would be used for each Billing.
If, on the other hand, there is an agreement with the customer that the prices are secured during the subscription term, i.e. price increases are not permitted, a separate subscription price list would be recommended. This would ensure that prices are not changed during the Subscription Period.
In addition to subscription-specific prices, it is also possible to create subscription line-specific prices. As a rule, the same item will only appear once in the same subscription. However, there are cases in which the same item appears in the same subscription with different prices. In these cases, it is also possible to define Subscription Prices on a line-specific basis. To do this, the Allow Line Prices field in the Subscriptions Setup must be set to a value other than "Never".
In the Subscriptions itself, you will find promotions relating to prices in the menu bar under "Prices & Discounts".
- Transfer prices to Subscription
You can use this function to transfer the prices from the standard price list for the items entered in the subscription lines. This means that a subscription price list is automatically created with these items and the prices from the standard price list. If further items are entered during the subscription period, you can execute these functions again to transfer the prices from the standard price list to the existing subscription price list for these items too.
For subscription price lists that are created using this function, the Allow refresh of default settings field in the price list header is automatically activated. In other contexts, you may have to do this manually. To do this, first open the sales price list:
![]() |
|---|
| Ill. Sales Price List in Subscription Tab General |
Then click on Show more:
![]() |
|---|
| Ill. Sales Price List in Subscription Tab General Show More |
This will also display the row default values. Then, as already done in this example, activate the Allow Refresh of default settings field:
![]() |
|---|
| Ill. Sales Price List Allow default settings to be updated |
- Subscription price list
Here you will find, among other things, the automatically created price list. You can, of course, create a subscription price list manually if, for example, there are no standard prices for these items. You have the option of changing the prices for this subscription and adding discounts .
- Subscription Prices
The subscription price list Line. are displayed on this page. You can also maintain the prices and discounts on this page or store subscription line-specific prices. The latter is done by adding the Price List Line ID of the subscription line to which the price is to apply:
![]() |
|---|
| Ill. Subscription Prices Liste |
Maintenance Reference Prices
Reference Prices are used if the Unit Price of a Subscription Item does not come from a price list, but is to be calculated as a percentage of a definable amount (reference). Example: the item "Maintenance" is 10 % of the license value amount.
![]() |
|---|
| Ill. Maintenance Reference Prices |
| Field | Description |
|---|---|
| Item No. | Specifies the number of the Item for which reference prices are to be calculated. |
| Item Description | Indicates the Description of the Item. |
| Price Type | Specifies the Type of entity to which the reference price should refer. |
| Sales Code | This information is dependent on the "Price Type" field. If "All Customers" is selected, the field remains empty. If "Customer" or "Customer Price Group" is selected, the corresponding value for which the reference price is valid is selected. |
| Component Identifyer | Specifies the subscription line to which the reference price refers. This field is only visible if the "Allow Line Prices" field in the Subscriptions Setup has the value "Always" or "Selected Items". |
| Starting Date | Specifies the date from which the value applies. |
| Ending Date | Specifies the date until which the value applies. |
| Value % | Specifies the Value % to be used for calculating the item price. |
| Index Pricing Code | Indicates the Index Pricing Code. |
| Discount % | Specifies a Discount that is applied to the calculated reference amount. |
Index Price Plans
Index price plans can be set up to reflect a progressive percentage price increase based on the Base Amount determined via the reference prices. An index price plan can be assigned to each reference price.
In addition, index price plans can also be used for indexed increases in the sales price.
![]() |
|---|
| Ill. Index Price Plans Card |
The following fields are available:
The Following fields are available on the header:
| Field | Description |
|---|---|
| Code | Specifies the code for the index price plan. |
| Description | Specifies the description for the index price plan. |
| Calculation type | Select the desired option here. The following options are available: Simple index: Only the index determined for the currently valid period is calculated. Basic compound interest: All indices from the first to the currently valid period are calculated and added together. Linear compound interest: The recalculated value is always based on the calculated value of the previous period. |
| Target type | The following options are available: |
| Maintenance: This index price plan can only be used for maintenance. | |
| Price: This index price plan can only be used for sales prices. | |
| Number of uses | This flow field shows how often the index price plan is used. The field cannot be edited. The drill-down functionality of the field allows you to branch to the specific maintenance or sales prices for which the index price plan is used. |
| Period description | The description of the period used in the detailed info text for maintenance can be stored here, e.g. year. If this field is not filled in, the word ‘period’ is used. This field is not available for the Target type ‘Price’. |
| Scope of information | Defines the scope of the detailed information lines for maintenance. The following options are available: Period + percentage + amount Period + amount Period + percentage Period No details This field is not available for the Target type ‘Price’. |
| Interval type | Used to automatically set the date formula in the Calculation frequency field. The Interval type field does not need to be set. It is only used to save the user from having to manually enter the correct date formula in the Calculation frequency field. |
| Calculation frequency | The date formula in this field determines how the periods of the index price plan are calculated. A default value is 1Y-1M, which corresponds to annual indexation. The date formula can be set automatically by selecting one of the options in the Interval type field. |
| Value determination | Determines how the index price plan should proceed if the number of periods defined by the index price plan lines is exceeded. The following options are available: Increase to last percentage value: The percentage value of the last index price plan line is continued ad infinitum. For example, if the last defined period is the third and the percentage value there is specified as 3%, then 3% is also calculated in all subsequent periods. Continue with 0% increase: The maintenance amount is calculated at the last level, but no further index increase is added. Do not continue: Only the original maintenance amount is calculated; no indexing is applied. |
The following fields are available on the lines:
| Field | Description |
|---|---|
| Period no. | Specifies the number of the Period for which an index percentage value is to be defined. The value of this field is calculated automatically and cannot be edited. Depending on the Sequence in which you create the Line. of the index price plan, it is possible that the period no. is not displayed correctly at first. This is irrelevant for further editing; you do not need to worry about the period number. The periods are edited in the sequence shown, regardless of the period number. If you leave the index price plan and open it again, the period numbers are also sorted correctly again. You can also set the number sequence using the Update periods action. |
| Value % | Indicates the Value % for the index of the respective Period. In many contexts, the value for the first Period remains 0, while increasing values are entered for the subsequent Periods. If you do not want to calculate an index in the first period and a constant value from the second period onwards, it is sufficient to create two Lines and control the continuation of the calculation after the last defined period via the Value Calculation field in the header of the index price plan. |
Index Prices on the Subscription Line
Instead of maintaining an Index Pricing Code on the reference prices, it may be more advantageous to do this on the subscription lines themselves. This ensures continuity when using the Index Pricing Code. While the reference price line used, like other price lines, can be subject to fluctuations depending on the price-relevant criteria, when an Index Pricing Code is stored on the subscription line, the stored Index Pricing Code is always used, i.e. always the same Index Pricing Code.
If an Index Pricing Code is stored on the subscription line, this is always preferred to an Index Pricing Code that originates from a reference price line.
![]() |
|---|
| Ill. Component Design Index Prices on the Subscription Line |
In the example above, the Index Pricing Plan Code STANDARD PRICE is assigned to a subscription line. This means that it is always applied to the reference price. The subscription line also offers the option of entering an Index Price Starting Date. Normally, the index is always calculated from the first Recording Date from the Item to which it refers. The Index Price Starting Date allows you to specify a different start date to the Recording Date from, for example, if you do not want to calculate the first few Weeks. If a start of the index calculation is stored in the Index Price Starting Date field, this is always preferred to the actual Recording Date of the reference item.
Flat Rate Pricing
In Microsoft Dynamics 365 Business Central, amounts are generally calculated using the formula Quantity x Price = Amount (minus Discounts if applicable). The Flat Rate Pricing functionality of bill-to allows you to define prices as flat rates. In this case, the Quantity is not taken into account when calculating the amount. Instead, the amount is calculated using the formula 1 x price (minus any discounts). The Amount is therefore equal to the Price.
Flat-rate quantity scales are a particularly important application. Example:
Minimum Quantity | Maximum quantity | (Flat) rate
| 25 | 50 €
25 | 100 | 75 €
100 | | 100 €
In this example, for example, if 20 licenses are purchased, not 20 x 50 = 1,000 €, but a flat rate of 50 € should be charged, and if 85 licenses are purchased, not 85 x 75 = 6,375 €, but a flat rate of 75 €.
This can be achieved by activating the Flat Rate Pricing field on the Subscriptions tab of the item card. However, this is only a default setting that can be overwritten on each subscription line. The default setting in the Item is transferred to the subscription line that uses this Item and can be overwritten on the line card by manually changing the setting in the Flat Rate Pricing field on the Settings tab.
However, as shown in the example, the Maximum quantity field must also be filled so that the Flat Rate Pricing is guaranteed to be determined within the defined quantity corridor. The Maximum quantity field does not exist in the Business Central Default. Quantity-based pricing only works in the Default because higher quantities generally mean lower prices. For a Quantity of 85, the prices €50 and €75 are found without defining a maximum quantity. According to best price determination, the price of €50 is then used.
However, in the case of a quantity scale corridor with increasing prices, the price that falls exactly within the corridor should be found. For a Quantity of e.g. 85, the price of €75 should always be found reliably. This is only possible by eliminating best price determination by defining a maximum quantity.
In the example above, it is also noticeable that the Maximum Quantity is equal to the Minimum Quantity of the next price scale. However, this does not lead to overlaps, as the maximum quantity is interpreted as "less than the specified maximum quantity". In this way, decimal places can be intercepted. Example: If the first scale were defined from 0 to 24 and not the second from 25 to 100, what would happen to a value such as 24.5? None of the two scales would apply. To avoid entering scale limits such as 0 to 24.99999 and 25 to 99.99999, the maximum quantity is interpreted as "less than the specified maximum quantity". The scale 0 to 25 therefore means >= 0 and \<25, the scale 25 to 100 means >=25 and \<100.
With the flat-rate price scales, individual Item Descriptions can also be created for each scale. This is done in the item card via the drill-down functionality of the Tiered Item Descriptions field on the "Subscriptions" tab.
For an Item named "Production Plus", for example, the following descriptions could be stored with reference to Minimum Quantities:
Minimum Quantity | Description | Production Plus STARTER 25 | Production Plus BUSINESS 100 | Production Plus ENTERPRISE
In this way, only the same item can be managed operationally, but it is presented to the customer as a different item in the Description depending on the Quantity purchased.
The Invoice Quantity as 1 field on the "Subscriptions" tab of the item card can be used to set that the item is always invoiced with the value 1, regardless of the quantity actually entered. This allows the quantity actually entered to be used for price and amount calculations, while the invoice quantity is displayed as 1.
An example will illustrate this interplay of setting options: The "Production Plus" app is charged at a flat rate according to the Quantity of users. To determine the Flat Rate Pricing in the quantity corridor, the quantity of users must also be tracked. However, the customer is only ever charged for 1 license, whereby the specific description of the item depends on the quantity corridor.
This is achieved with the following settings:
-
The Flat Rate Pricing field is activated on the item card.
-
The Invoice Quantity as 1 field is activated on the item card.
-
Defines flat-rate price scales that contain, for example, a price with a Minimum Quantity of 85, a Maximum Quantity of 100 and a Price of 75 €.
-
Tiered Item Descriptions are defined that contain, for example, a Description with the Minimum Quantity 25 and the Text "Production Plus BUSINESS".
As a result, the Subscription Item "Production Plus" can be managed with the actual Quantity of users, but the customer will be charged 1 license for "Production Plus BUSINESS" with the price 75 €. Prices and Description are flexible depending on the Quantity of users.
Imputed Unit Cost
On this page you can store imputed quantity-dependent and quantity-independent Unit Costs, which are used to determine the profit in Subscriptions.
![]() |
|---|
| Ill. Imputed Unit Cost List |
| Field | Description |
|---|---|
| Subscription Item No. | Specifies the Subscription Item No. for which Unit Cost is to be stored. |
| Description | Specifies the Description from the Item for the Subscription Item. |
| Type | Here you specify whether the costs are Direct Costs or Indirect Costs. |
| Quantity Type | Defines whether the Unit Cost is quantity-dependent or quantity-independent. |
| Starting Date | Specifies the Starting Date from which the imputed Unit Cost is valid. |
| Ending Date | Indicates the Ending Date until when the imputed Unit Cost is valid. |
| Unit Cost (LCY) | Displays the Unit Cost in client currency. |
Consumption-based prices
The Standard consumption calculation method offers special options for handling prices.
Manual/imported prices
The price for consumption-based items can also be entered manually or imported. To do this, set the Component price determination by field on the item card to Manual price/import. If this setting is only to apply to a subscription, it can also be adjusted via the Line card on the subscription line.
Allow zero prices
If a sales price of 0€ is to be allowed for consumption-based items, for example for free support hours. This can be enabled either via the Allow zero prices field on the item card or via the line card.
![]() |
|---|
| Personal support www.ckl-software.de/ |







