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.
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.
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.
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:
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.
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.
If no Customer or Customer Price Group line matches, Source Type = Customer Disc. Group with a matching Source No. is next.
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.
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:
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.
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:
- On Early Close (the default): the line bills as normal, and the final invoice tops up to the minimum only when the item is returned before the minimum period has elapsed.
- Up Front: the whole minimum is billed on the first invoice.
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
- Multi-Rate Pricing: how banded pricing per rental duration works.
- Price Term Codes: the lookup source for Price Term on price-list lines.
- Rental Setup: where Pricing Priority and Default Price Term Code are configured.
- Rental Order: where the matched price lands on the rental line.
- Rental Invoice: where the resolved price feeds into the period-by-period billing.