Rental Price Lists

Where rental rates live. Each Price List is a date-effective collection of price lines mapping a customer (or customer group) plus a product to a unit price for a given Price Term.


How it fits in

A Rental Price List is the source of truth for what to charge when a particular customer rents a particular product. When a rental line is added to a Quote or Order, the pricing logic looks across every active Price List for the most specific matching line and uses its Unit Price. The customer's segment, the product being rented, the rental period's date, and the Price Term all feed into the match.

A line on a Price List is keyed by five dimensions:

Source (who the price applies to): Customer, Customer Price Group, Customer Disc. Group, or All Customers.

Product (what's being rented or sold): G/L Account, Item, Rental Item Type, Rental Item, Kit, Resource Group, or Resource.

Date window: Start Date and End Date defining when the price is in effect.

Price Term + Currency Code: which billing period (Day, Week, Month, etc.) and currency this Unit Price applies to.

Project (optional): a Business Central Project and Project Task. When set, the line only matches rentals being posted against that specific project. Leave blank for prices that apply to any rental regardless of whether it's project-linked.

When several Price List lines could match the same rental, the most specific Source wins. Customer-specific prices beat Customer Price Group prices, which beat Customer Disc. Group prices, which beat All Customers fallback prices. See the tier scoring walkthrough below.

Header fields

The Rental Price List header sets defaults that flow down to its lines, plus the lifecycle controls (Status, date window) for the whole list.

General
Coderequired
Auto-assigned from the Rental Price List No. Series defined in Rental Setup. Read-only after saving.
Description
Human-readable description of the Price List (e.g. "Standard Rates 2026", "ACME Corp Negotiated Pricing").
Source Type
Who this Price List applies to by default. Customer: a specific customer (Source No. picks the customer). Customer Price Group: a price group registered against customers. Customer Disc. Group: a discount group registered against customers. All Customers: the catch-all fallback used when no more specific list matches. Each line on the list inherits this default but can override (subject to Allow Updating Defaults).
Source No.
The specific customer, price group, or discount group identified by Source Type. The lookup is filtered by Source Type so you can't pick a customer when Source Type is Customer Price Group. Empty when Source Type is All Customers.
Currency Code
The default currency for prices on this list. Lines inherit; can override per line for multi-currency pricing.
Start Date, End Date
The date window during which the Price List (and its lines) are active. Lines also have their own date windows that further narrow when individual prices apply.
Status
Active: lines on this list are eligible for matching by the pricing logic. Draft: lines are excluded from matching, so the list can be prepared without affecting live pricing.
Price Includes VAT
When ticked, Unit Price values on the lines are VAT-inclusive. When unticked, prices are net of VAT and VAT is added at posting.
Allow Updating Defaults
Controls whether users can change Source Type and Source No. on price-list lines that have inherited those values from this header. On (lenient, the default): a line can override the header's source if you need a one-off (e.g. a Customer Price Group list with a single line targeting a specific customer). Off (forced): lines are locked to the header's Source Type and Source No.

Lines

Each line on a Price List is a single price entry. The header's Source Type, Source No., Currency Code, and date window default onto each new line; the line's Product Type, Product No., Price Term, and Unit Price say what's being priced and at what rate.

Lines
Source Type
Who this specific line applies to. Defaults from the header; overrideable subject to Allow Updating Defaults.
Source No.
The specific customer, price group, or discount group. Lookup is filtered by the line's Source Type.
Currency Code
Defaults from the header; overrideable per line.
Start Date, End Date
The date window during which this specific line price is in effect. Defaults from the header; can be tightened per line for time-bound promotions or seasonal rates.
Product Typerequired
What's being priced: G/L Account, Item, Rental Item Type, Rental Item, Kit, Resource Group, or Resource.
Product No.required
The specific product identifier; lookup is filtered by Product Type.
Description
Defaults from the chosen product; editable.
Project No., Project Task No.
Optional link to a Business Central Project and Task, for prices that only apply to rentals against a specific project.
Price Termrequired
The Price Term (Day, Week, Month, Quarter, Year) the Unit Price is expressed in. A line for £100 per Day is different from a line for £100 per Week even for the same Customer + Product combination.
Unit Price
The price per unit of Price Term. For a tiered line this is the base rate, used beyond the last tier.
Minimum Billing Period
The shortest period this line is billed for, as a date formula (e.g. 3D, 2W, 1M). If the item comes back before this period elapses, the invoice still charges the full minimum. Leave blank for no minimum. See Minimum billing period below.
Tier Method
How this line's duration tiers combine when a hire spans several bands. Progressive bills each period at the rate of the tier its elapsed duration falls in. Defaults from Default Tier Calculation Method in Rental Setup. See Tiered pricing below.
Tiered Pricing
A read-only indicator that this line carries a duration tier schedule. Drill into it to open the Rental Price Tiers page and set the tiers up. See Tiered pricing below.

Tier scoring: which line wins

When a rental line is added, the pricing logic walks every active Price List line whose date window covers the rental, whose product matches the line, whose Currency Code matches the document (or is blank, meaning "any currency"), whose Source matches the customer's profile, and whose Project (if set) matches the rental's Project. If multiple lines match, the most specific Source wins via a tier score, with smaller bonuses applied for currency, project, and date-window specificity:

1
Customer-specific (highest tier)

A line with Source Type = Customer and Source No. matching the rental's Bill-to Customer is the most specific match available. If there's one, it wins regardless of what's on the lower tiers.

2
Customer Price Group

If no Customer-specific line matches, the system looks for Source Type = Customer Price Group with a Source No. matching the customer's assigned Customer Price Group. Wins over Disc. Group and All Customers.

3
Customer Disc. Group

If no Customer or Customer Price Group line matches, Source Type = Customer Disc. Group with a matching Source No. is next.

4
All Customers (catch-all fallback)

Source Type = All Customers is the catch-all used when no more specific tier matches. Use these lines for your standard published rates that apply to everyone unless they have a negotiated alternative higher up.

!
A higher tier always beats a lower tier, even when the higher-tier price is more expensive. Don't put a Customer-specific line on the list expecting the cheaper All-Customers fallback to take over; the customer-specific line wins on the strength of being more specific, full stop.

Currency match: hard reject and big bonus

Currency Code on a Price List line behaves like Project: hard filter first, then a substantial bonus.

Hard reject if set-but-mismatch. A Price List line with Currency Code set only applies to rentals in that currency. A GBP-tagged line is rejected outright for a USD rental, even if the rest of the line matches perfectly. A line with Currency Code blank applies to rentals in any currency.

Bonus when matched. Within the same Source tier, a currency-matched line scores noticeably higher than a currency-blank line. The bonus is large enough that a currency-matched line at one tier can sometimes outscore a currency-blank line at the same tier, but not large enough to leapfrog tiers (a Customer-tier line still beats a Customer Price Group line even when only the Group line has a currency match).

In practice: set Currency Code on lines that are explicitly priced in a particular currency (e.g. a GBP rate for a UK customer); leave it blank on lines that should apply across currencies (the system doesn't auto-convert, so a blank-currency line uses the same numeric Unit Price for any rental currency, which is rarely what you want for actual money).

Project refines within a tier

Project acts as both a hard filter and a small specificity bonus on top of the Source tier:

Hard filter first. A Price List line with Project No. set only applies to rentals against that specific project. If the rental's Project No. doesn't match, the line doesn't apply at all, regardless of its Source tier. A line with Project No. blank applies to any rental.

Small specificity bonus when matched. Within the same Source tier, a project-specific match gets a small score boost over a non-project line. If the price line also specifies a Project Task No., a Project-Task match adds a further small boost. So a line targeting "Customer X on Project Y, Task Z" beats a line targeting "Customer X" alone, but neither beats "Customer-specific" over "Customer Price Group".

In practice: use Project on a price line when you've negotiated a rate that's specific to one project (e.g. a long-term hire deal for a particular site). Leave Project blank for general rates that should apply across all of a customer's rentals.

Date window: narrower wins

Start Date and End Date on a Price List line behave the same way: hard filter first, then a specificity bonus.

Hard filter first. The line is only eligible if its date window covers the rental's effective date. A line with Start Date 2026-01-01 / End Date 2026-12-31 applies during 2026; outside that range, it doesn't apply at all.

Narrower windows score higher. Within the same Source tier (and Project filter), a line with a tight date window beats one with a wide window. So a 2-week summer-promotion line at Customer-tier beats the same customer's year-long standard rate during those 2 weeks; outside the promotion window, the standard rate takes over again.

In practice: use a tight date window for time-bound rates (seasonal pricing, promotional rates, deal-specific terms). Use a wide window or leave Start/End Date blank for evergreen rates.

Status: Active vs Draft

A Price List with Status = Draft is excluded from the pricing logic entirely; its lines never match. Use Draft to prepare a list (e.g. next year's rates) without affecting live pricing. Switch to Active when you're ready for the lines to take effect.

Status combines with the date window: an Active list whose Start/End Dates don't cover today is still inactive in practice. Use Status to manage the lifecycle (Draft -> Active -> superseded by date roll-off); use the date window for time-bound applicability.

Allow Updating Defaults: lenient vs forced

When a new line is added to a Price List, it inherits Source Type and Source No. from the header. The Allow Updating Defaults switch on the header controls whether those inherited values are editable on the line:

On (lenient): the user can change Source Type and Source No. on the line. Useful when one Price List header carries lines for several related sources (e.g. a Customer Price Group list with one or two Customer-specific overrides).

Off (forced): the line's Source Type and Source No. are locked to whatever the header has. Use when you want to enforce that the entire list is for a single source.

The default is On (lenient). Switching from On to Off doesn't retroactively change existing lines that were edited; it only locks future edits.

Multi-rate pricing

Multi-rate pricing (a different rate for different date windows within one hire) is set up per rental line on the quote or order, not on the price list. Use the Multi-Rates action on a rental line to add the date windows and their rates. See Multi-Rate Pricing for the detail.

Tiered pricing (duration tiers)

Tiered pricing lets a longer hire earn a better rate automatically. Instead of a single flat Unit Price, a price-list line carries a short ladder of duration tiers. Each tier names an Up To Duration and the Unit Price that applies up to it. Billing then charges each period at the rate of the tier the hire has reached so far, and anything beyond the last tier falls back to the line's base Unit Price.

To set tiers up, fill in the price-list line as normal (Source, Product, Price Term, and a base Unit Price), then drill into the Tiered Pricing indicator on the line to open the Rental Price Tiers page. Add one row per tier:

Rental Price Tiers
Up To Duration
The elapsed hire duration this tier applies up to, measured from the hire start, as a date formula such as 3M or 6M. The day this boundary is reached begins the next tier.
Unit Price
The unit price billed for periods that fall within this tier, expressed in the line's Price Term.
Example, on a Month-term line with base Unit Price 60.00 and two tiers (Up To 3M at 100.00, Up To 6M at 80.00): a hire of up to 3 months bills at 100.00 per month, months 3 to 6 bill at 80.00 per month, and anything beyond 6 months bills at the base 60.00. The shorter the commitment, the higher the rate.

Calculation method. The line's Tier Method controls how the tiers combine. Today the only method is Progressive (each period billed at the rate of the tier its elapsed duration falls in). New lines start with the method set in Default Tier Calculation Method on Rental Setup.

Locked onto the document. When the line is priced on a quote or order, the matched tiers are copied onto the rental line, the same way the base Unit Price is. The document then carries exactly the tiers that were agreed, even if the price list is changed later, and the tiers carry across when a quote is converted to an order. The rental quote and order subforms show a Tiered Pricing indicator you can drill into to see the line's tiers, and the Rental Quote and Rental Order documents print the tier ladder with the date band each tier covers.

!
Tiered pricing applies to standard rental lines. Kit component lines and lines billed through project (job) planning are billed at the line's flat rate, not the tier ladder.

Minimum billing period

A minimum billing period sets the shortest period a line is charged for, even when the item comes back early. Enter it as a date formula in Minimum Billing Period on the price-list line (e.g. 3D, 2W, 1M); leave it blank for no minimum.

When an item is returned before the minimum elapses, the invoice still charges the full minimum. How that charge is applied is set by Minimum Period Billing on Rental Setup:

The minimum also feeds the line's Expected Term Amount on the quote and order, so a sub-minimum hire previews the minimum charge rather than the shorter actual term. Like the tiers and the base price, the minimum is captured onto the rental line when it is priced, and it prints on the Rental Quote and Rental Order documents.

Related pages