Feature Overview
The Rental Prices feature provides a structured way to define what a customer pays per rental period for each item. A rental price record ties together an item, a sales type (all customers, a specific customer, a customer price group, or a campaign), a rental category, a rental unit of measure, and a unit price. When a rental line is created on a sales order, the system automatically looks up the best matching rental price and populates the rental unit price on the line. The lookup follows a priority order: the most specific price (customer + item + rental category + UOM + currency + date) wins over less specific ones. A rental price can also carry a Price Scale link, enabling the unit price to serve as a base that feeds into tiered pricing.
Price Scales define how the effective price changes over the duration of a rental. A price scale consists of a header (with a code, description, and base price source) and a series of time-based steps. Each step has a duration and a base price factor — for example, step 1 might cover the first 7 days at a factor of 1.0 (full price), step 2 the next 21 days at a factor of 0.8 (20% discount for longer rentals), and step 3 all remaining days at a factor of 0.6. The price scale is not calculated on its own — it works in concert with either a rental price (as the base) or a sales price, as configured in the global Rental Setup. Once applied, the rental unit price on the sales line represents a weighted average across the duration of the rental, and this average is recalculated whenever the rental quantity, unit of measure, or return date changes.
Price scales can be defined as global reusable templates, or set up directly on a specific sales order or quote. They are locked incrementally as invoices are posted — once an invoice covers a time period, the corresponding scale steps cannot be changed, ensuring price integrity across partial invoicing scenarios.
Key Facts
| Topic | Details |
|---|---|
| Rental Prices page | Rental Prices (accessible from Rental Setup and from sales line lookup) |
| Supported sales types | Customer, Customer Price Group, All Customers, Campaign |
| Price lookup trigger | Setting Rental No. or Rental Unit of Measure Code on a sales line |
| Default Price flag | One price per item/customer/currency combination can be flagged as default |
| Price Scale setup | Rental Setup → Rental Price Scale Setup (global templates) |
| Price scale on sales header | Sales order → Price Scale Setup action |
| Base price source | Configured on the global Rental Setup (Scale Base Price Source) — either Rental Price or Sales Price |
| Price scale steps | Unlimited; last step is automatically extended to cover any remaining duration |
| Scale locking | Steps covering already-posted invoice periods are locked and cannot be modified |
| Currency support | Rental prices support foreign currencies; LCY prices are converted automatically |
| Variant support | Rental prices can be set up per item variant |
Getting Started
Follow these steps to set up rental pricing from scratch:
-
Configure the base price source. Go to Rental Setup, open the global (blank customer) setup record, and set Scale Base Price Source to either Rental Price or Sales Price. This determines what the price scale factors are applied to. This is a global setting and can only be set on the global (blank customer) setup record.
-
Create rental price records. Go to Rental Prices (or open via Rental Setup → navigate to Rental Prices). Create one record per combination of item, customer/group, rental category, and unit of measure that needs a specific price.
-
Fill in the price line. For each rental price record, set: Item No., Sales Type, Sales Code (customer/group), optionally Starting Date, Currency Code, Variant Code, Rental Category, Rental Unit of Measure Code, and Unit Price.
-
Flag the default price. If a customer has multiple price lines for the same item, flag one with Default Price = true. The default is selected automatically when a new sales line is created.
-
(Optional) Link a Price Scale. On a rental price record, fill in Price Scale to associate a reusable price scale template with this price. This enables tiered pricing for this item/customer combination.
-
Create a Price Scale template. Go to Rental Setup → Rental Price Scale Setup. Create a new price scale with a code and description. Add step lines with Step Duration and Base Price Factor for each tier.
-
Assign the price scale to a sales order. Open a sales order and use the Price Scale Setup action to assign the price scale to the order. Alternatively, if the rental price record already links to a price scale, it is applied automatically.
-
Verify the unit price. After setting the rental category, unit of measure, return date, and quantity on a sales line, review Rental Unit Price — it should reflect the weighted average based on the price scale steps.
Related Features
Rental Prices are the primary source of the base price used in Price Scale calculations — the unit price from the rental price record feeds directly into the scale factor multiplication. The Rental Invoicing Plan uses both the price scale and the rental calendar together to produce a detailed pre-calculation of how invoices will be split and priced over time. The Rental Calendar can further modify what proportion of elapsed time is chargeable within each price scale step (via time factors), reducing or pausing the effective chargeable time. The Core Rental Setup controls which customer (Sell-to or Bill-to) is used to look up rental prices when a rental line is created — this is configured via the Rental Price Customer Type field in the Rental Setup.
User Stories
US-01: Set up a rental price for a specific customer and item
As a Sales Manager
I want to define a specific rental unit price for a customer-item-category combination
So that the correct rental price is automatically populated when that customer orders a rental
Setup:
- Go to Rental Prices.
- Create a new line with Item No. = the rental item, Sales Type = Customer, and Sales Code = the customer number.
- Fill in Rental Category (the resource) and Rental Unit of Measure Code (e.g. DAY).
- Enter the Unit Price per rental unit.
- Optionally fill in Starting Date and Currency Code for date-specific or foreign currency prices.
- Save.
Note: The first price created for a given item/customer/currency combination is automatically flagged as Default Price. Only one price per combination can be the default at a time.
US-02: Set up a rental price for all customers
As a Sales Manager
I want to define a single rental price that applies to all customers
So that I can maintain a standard list price without creating individual records per customer
Setup:
- Go to Rental Prices.
- Create a new line with Sales Type = All Customers and leave Sales Code blank.
- Fill in Item No., Rental Category, Rental Unit of Measure Code, and Unit Price.
- Save.
Note: A customer-specific price always takes priority over an All Customers price during lookup.
US-03: Set up rental prices per customer price group
As a Sales Manager
I want to assign rental prices to a customer price group rather than individual customers
So that all customers in the group automatically receive the same rental pricing
Setup:
- Go to Rental Prices.
- Create a new line with Sales Type = Customer Price Group and Sales Code = the price group code.
- Fill in Item No., Rental Category, Rental Unit of Measure Code, and Unit Price.
- Save.
- Ensure customers are assigned to the price group in their customer card.
US-04: Set a rental price valid from a specific date
As a Sales Manager
I want to create a rental price with a future starting date
So that a new price automatically takes effect on the specified date without changing orders already in progress
Setup:
- Go to Rental Prices.
- Create a new rental price record as usual.
- Fill in Starting Date with the date from which this price should apply.
- The existing price (without a starting date or with an earlier date) remains active for orders before the new starting date.
US-05: Set up a rental price in a foreign currency
As a Sales Manager
I want to define rental prices in a specific currency
So that customers invoiced in that currency receive the correct foreign currency rental price
Setup:
- Go to Rental Prices.
- Create a rental price record and fill in Currency Code.
- Enter the Unit Price in the specified currency.
- When a sales order is created for a customer using that currency, the rental price in the matching currency will be used.
Note: If no price exists in the order's currency, the system uses the LCY price and converts it using the exchange rate.
US-06: Set up a rental price per item variant
As a Sales Manager
I want to define different rental prices for different variants of the same item
So that variant-specific pricing is applied automatically on rental lines
Setup:
- Go to Rental Prices.
- Create a rental price record and fill in Item No. and Variant Code.
- Fill in the remaining price fields as usual.
- The variant-specific price will be looked up when the sales line has a matching variant code.
US-07: Look up available rental prices from a sales line
As a Sales Order Processor
I want to browse available rental prices directly from a rental sales line
So that I can pick the right price for the customer without leaving the order
Setup:
- Open a Sales Order and navigate to the rental line.
- Click the lookup on the Rental Unit Price field.
- A filtered list of rental prices for this item, filtered to the current customer (and All Customers), appears.
- Select the desired price. The system will also update the Rental No. and Rental Unit of Measure Code based on the selected price record.
US-08: Configure the global base price source for price scales
As a Business Manager
I want to define whether price scales use rental prices or sales prices as their base
So that scale factor calculations are applied to the correct price foundation
Setup:
- Go to Rental Setup and open the global (blank customer) record.
- Set Scale Base Price Source to either Rental Price or Sales Price.
- This setting applies globally and controls all price scale calculations across all sales orders.
Note: This field can only be edited on the global (blank customer) setup record. Customer-specific setup records inherit this value.
US-09: Create a reusable price scale template
As a Business Manager
I want to create a standard price scale that can be reused across multiple customers and orders
So that I maintain tiered pricing logic in one place without repeating it per order
Setup:
- Go to Rental Setup → action Rental Price Scale Setup.
- Create a new price scale with a Code and Description.
- Add step lines. For each step, enter:
- Step number (auto-incremented)
- Description (e.g. "First week", "Weeks 2–4")
- Step Duration (in milliseconds — e.g. 7 days = 604,800,000 ms)
- Base Price Factor (e.g. 1.0 = full price, 0.8 = 80% of base price)
- The last step is automatically extended to cover any rental duration beyond the defined steps.
- Save.
US-10: Link a price scale to a rental price record
As a Sales Manager
I want to associate a price scale with a specific rental price record
So that whenever this rental price is applied to a sales line, the price scale is also applied automatically
Setup:
- Go to Rental Prices.
- Open the relevant rental price record.
- Fill in the Price Scale field with the code of the price scale to use.
- Save.
- When a sales order is created for this customer and item, both the rental price and its associated scale are applied.
US-11: Apply a price scale to a specific sales order
As a Sales Order Processor
I want to assign a price scale directly to a sales order
So that all rental lines on the order use the tiered pricing defined in the scale
Setup:
- Open the Sales Order.
- Use the Price Scale Setup action (available on the sales order header).
- Select an existing price scale template to copy its steps to this order, or enter steps manually in the price scale setup for this specific order.
- The price scale is now attached to the sales order and will influence the rental unit price calculation on all rental lines.
US-12: Copy a price scale from another sales order
As a Sales Order Processor
I want to reuse the price scale configuration from an existing sales order
So that I can set up a new order with the same tiered pricing without re-entering the steps
Setup:
- Open the Sales Order.
- Use the Price Scale Setup action on the sales order header.
- Use the Copy from Sales Header action within the price scale setup to select a source order.
- The price scale steps from the selected order are copied to the current order.
US-13: Override the base price for a specific sales line
As a Sales Order Processor
I want to set a special base price for the price scale calculation on a specific rental line
So that the tiered pricing for this line is calculated from a different starting amount than the standard rental price
Setup:
- Open the Sales Order and select the relevant rental line.
- Fill in Rental Special Base Unit Price.
- The price scale for this line will now use this special price as the base instead of the standard rental price or sales price.
Note: Setting this field to zero (by entering an almost-zero value) explicitly sets the base to zero and enables special pricing — the system distinguishes between "blank" (use standard) and "zero" (special zero-base).
US-14: Understand locked price scale steps after invoicing
As a Accountant
I want to understand which price scale steps are locked after I post an invoice
So that I know which parts of the price scale can still be adjusted and which are frozen
Setup:
- After posting an invoice for a rental order, open the Price Scale Setup on the sales order header.
- Steps that correspond to periods already covered by posted invoices are marked as Locked.
- Locked steps cannot have their Base Price Factor or Step Duration changed.
- Steps that are only partially covered (the invoice period falls within a step) show a Locked Duration — only that portion is frozen.
Note: This locking mechanism ensures the financial integrity of already-posted invoices. Future steps remain editable.
US-15: Set up a default price scale for a customer without an item-specific price
As a Sales Manager
I want to assign a default price scale to a customer that applies regardless of which item they rent
So that all rentals for this customer follow the tiered pricing structure even when no item-specific rental price exists
Setup:
- Go to Rental Prices.
- Create a new record with Sales Type = Customer, Sales Code = the customer number, and leave Item No. blank.
- Fill in Price Scale with the desired price scale code.
- Save.
Note: A rental price record with a blank Item No. and a Price Scale but no Unit Price is specifically designed to assign a default price scale to a customer. This is validated on insert — the Sales Type must be Customer and Sales Code must be filled in.
Field Reference
| Field | Where to find it | What it does | Default |
|---|---|---|---|
| Item No. | Rental Prices | The item this rental price applies to. Can be blank when setting a default Price Scale for a customer. | Blank |
| Sales Type | Rental Prices | The audience for this price: Customer, Customer Price Group, All Customers, or Campaign. | Customer |
| Sales Code | Rental Prices | The specific customer, price group, or campaign (depending on Sales Type). | Blank |
| Starting Date | Rental Prices | The date from which this price is valid. Blank = always valid. | Blank |
| Currency Code | Rental Prices | The currency this price applies to. Blank = local currency. | Blank |
| Variant Code | Rental Prices | The item variant this price applies to. | Blank |
| Unit of Measure Code | Rental Prices | The item unit of measure (for minimum quantity lookups). | Blank |
| Minimum Quantity | Rental Prices | Minimum item quantity required for this price to apply. | 0 |
| Rental Category | Rental Prices | The rental category (resource) this price applies to. | Blank |
| Rental Unit of Measure Code | Rental Prices | The rental time unit (e.g. DAY, WEEK) this price applies to. | Blank |
| Unit Price | Rental Prices | The price per rental period unit. | 0 |
| Default Price | Rental Prices | Marks this as the default price for the item/customer/currency combination. | First entry = true |
| Price Scale | Rental Prices | Links this rental price to a reusable price scale template. | Blank |
| Scale Base Price Source | Rental Setup (global only) | Determines whether price scales calculate against the Rental Price or Sales Price as base. | Blank |
| Code | Price Scale | Unique identifier for the price scale. | — |
| Description | Price Scale | Human-readable name for the price scale. | Blank |
| Base Duration | Price Scale | The length of the base rental period for this scale. | Blank |
| Step | Price Scale Line | The sequence number of this tier. | Auto |
| Description | Price Scale Line | Label for this price tier (e.g. "First week"). | Blank |
| Step Duration | Price Scale Line | The length of this tier in milliseconds. | 0 |
| Base Price Factor | Price Scale Line | The multiplier applied to the base price for this tier (e.g. 0.8 = 80%). | 0 |
| Rental Special Base Unit Price | Sales Line | An override base price used in Invoicing Plan calculations for this line. | Blank |