---
title: How do I import Discount Rate Rules?
description: Import data using Occupier Import Tool
---

[Skip to content](https://help.occupier.com/knowledge/how-do-i-import-discount-rates-0#main-content)

English

Show submenu for translations

[Customer portal](https://help.occupier.com/tickets-view?hsLang=en)

![H-Teal (1).svg\]](https://help.occupier.com/hubfs/H-Teal%20(1).svg)

- [Tickets](https://3455891.hs-sites.com/tickets-view)
- [Sign out](https://3455891.hs-sites.com/_hcms/mem/logout)

Open main navigation

Close main navigation

- [Tickets](https://3455891.hs-sites.com/tickets-view)
- [Sign out](https://3455891.hs-sites.com/_hcms/mem/logout)
- English
  
  Show submenu for translations
- [Customer portal](https://help.occupier.com/tickets-view)

 Hi there! How can we help?

- There are no suggestions because the search field is empty.

1. [Help Center](https://help.occupier.com/knowledge?hsLang=en)
2. [Lease Accounting](https://help.occupier.com/knowledge/lease-accounting?hsLang=en)
3. [Importing Data Into Accounting](https://help.occupier.com/knowledge/lease-accounting?hsLang=en#importing-data-into-accounting)

# How do I import Discount Rate Rules?

## Instructions on how to use the Import templates in Occupier.

### Overview

You can load many discount rate rules for one legal entity at once by uploading a CSV from that entity's **Discount rate rules** tab. Each row becomes one rule that tells Occupier which discount rate to apply to a lease, based on its asset class, its term in months and its measurement date.

Use import when you refresh rates on a schedule (for example, a new set of term-based IBRs each quarter) or when you are setting up rules for the first time. To add one or two rules, **Add rule** on the same tab is usually quicker.

**Where to find the template:** download **discount-rate-rules-template** from either place:

- Settings → Imports → Financial → **Discount Rate Rules**
- Settings → Legal Entities → select an entity → **Discount rate rules** tab → **Import rules**
- **Name exists, rate\_percent blank or the same:** the rule uses the existing rate. Example: Q1 2026 US default exists at 3.40% and the row has 0.034 or blank.
- **Name exists, rate\_percent different:** the row is rejected with "Rate {name} already exists at {x}%". Give the new rate a new name instead.
- **Name doesn't exist:** Occupier creates a new rate with that name and percentage. Any legal entity can then use it. 
    - If the button is disabled, the entity is a subsidiary that has already measured leases with its parent's rules. Follow the link on the tab to the parent and import there.
- Every row is a term rule except the global default, because asset\_class is blank.
- The Q4 rules have no end date and the same term bands as Q3, so each Q3 rule automatically stops on September 30, 2026. The rules tab shows it as "Superseded Sep 30, 2026". You don't need to fill in effective\_end\_date on the Q3 rows.
- The global default has no end date, so it keeps applying from July 1, 2026 until you import a later one.

*\[Screenshot: Settings → Imports → Financial → Discount Rate Rules\]*

*\[Screenshot: entity's Discount rate rules tab with the Import rules modal open\]*

Settings → Imports → Financial also has a separate **Discount Rates** import. That one loads rates only (a name and a percentage), not the rules that decide when each rate applies.

### Before you start

Check these five things before you upload, because each one can cause rows to be rejected.

1. **Know the difference between rates and rules.** A *rate* is just a name and a percentage, and it is shared across your whole account. A *rule* belongs to one legal entity and says when to use a rate (asset class, term range, effective dates). The rules file can create new rates for you as it goes.
2. **Include a global default if the entity has no rules yet.** An entity's first rule must be a global default (a row with no asset class and no term). If the file has no valid global default row, every other row in the file is rejected.
3. **Set up asset classes first.** If you plan to use asset class rules, the asset classes must already exist in Occupier and be assigned to your leases. An asset class name that Occupier doesn't recognise rejects the row.
4. **Check whether a subsidiary should have its own rules.** A subsidiary with no rules uses its parent's rules when both report in the same currency. Once any of its leases has been measured with the parent's rules, **Import rules** is disabled on the subsidiary. Update the parent's rules instead.
5. **Import into the right entity.** Every row in the file is created for the entity whose tab you import from. To load rules for another entity, open that entity's tab and import there.
6. Go to **Settings → Legal Entities** and select the entity you want rules for.
7. Open the **Discount rate rules** tab and click **Import rules**.
8. In the Import rules modal (or Settings → Imports → Financial → Discount Rate Rules), download **discount-rate-rules-template**.
9. Fill in one row per rule (see Template columns). If the entity has no rules yet, include a global default row.
10. Save the file as **CSV (UTF-8)**. In Excel, check that dates stay as YYYY-MM-DD and rates keep their decimals.
11. Back in the modal, upload the file.
12. If this is a subsidiary's first set of rules, read the confirmation and click **Confirm**. From then on, the subsidiary uses only its own rules, not its parent's.
13. Review the results. Valid rows are created. Rejected rows are listed in a downloadable error report (CSV).
14. Fix the rejected rows and upload only those rows again. Rows that already succeeded will be rejected as overlaps if you upload them twice.
15. Click **Preview rates** and test a few lease terms and measurement dates to confirm the rate you expect is chosen.

**Example:** Occupier Parent (USD) has rules. Occupier West (USD) has none, so it already uses Occupier Parent's rules. Occupier CAN (CAD) reports in a different currency, so it needs its own rules, starting with a global default.

Template columns

The template is a UTF-8 CSV with one rule per row. Files can have up to 10,000 rows and be up to 5 MB. Leave optional cells blank rather than typing "n/a" or "0".

| Column | Required? | Format | What to enter | Example |
| --- | --- | --- | --- | --- |
| legal\_entity\_name | Required | Text | The entity you are importing into, spelled exactly as in Settings → Legal Entities | US Entity |
| effective\_start\_date | Required | YYYY-MM-DD | First measurement date the rule applies to | 2026-10-01 |
| effective\_end\_date | Optional | YYYY-MM-DD | Last measurement date the rule applies to. Leave blank to keep the rule in effect until a later rule replaces it | 2026-12-31 |
| asset\_class | Optional | Text | An asset class already set up in Occupier. Leave blank for term rules and the global default | Equipment |
| term\_min\_months | Required if term\_max\_months is set | Whole number | Shortest lease term, in months, the rule covers. Must be 1 or more | 13 |
| term\_max\_months | Optional | Whole number | Longest lease term, in months. Leave blank for no upper limit | 24 |
| rate\_name | Required | Text | Name of an existing rate, or a new rate to create | 13-24 Months 10/01/2026 |
| rate\_percent | Required for a new rate | Decimal | The rate as a decimal, not a percentage | 0.0488 (= 4.88%) |

**Enter rates as decimals.** 4.88% is 0.0488, not 4.88. For example, 5.045% is 0.05045.

**Effective dates are compared with the lease's measurement date**, not today's date. Both the start and end dates are inclusive.

How Occupier reads each row

You never choose a rule type. Occupier works it out from which of asset\_class, term\_min\_months and term\_max\_months you fill in.

| Asset class | Term range | Rule type | Example row (asset class, min, max) | Applies to |
| --- | --- | --- | --- | --- |
| Filled | Filled | Asset class rule with a term range | Equipment, 24, 48 | Equipment leases of 24–48 months |
| Filled | Blank | Asset class rule, any term | Retail, blank, blank | All other Retail leases |
| Blank | Filled | Term rule | blank, 49, 84 | Any lease of 49–84 months |
| Blank | Blank | Global default | blank, blank, blank | Anything no other rule matches |

When a lease is measured, Occupier checks the rules in the order of this table and uses the first one that matches. Only rules in effect on the measurement date are checked.

**How the rate name is matched:**

Tip: put the effective date in the rate name (for example, 5-6 Years 10/01/2026). Rates in use can't be edited, so each refresh needs new names anyway, and dated names make the Discount Rate Report easier to read.

Import your rules

**Example preview:** for US Entity, enter a 60-month term, no asset class and a measurement date of 11/15/2026. The result should be the 4-5 Years 10/01/2026 rate (5.09%), matched by the term rule for 49–60 months.

Why rows are rejected and how to fix them

Occupier checks every row with the same rules as the **Add rule** form, against the entity's existing rules and the other rows in your file. Import only creates rules; it never edits or deletes existing ones.

| Problem | Example | Fix |
| --- | --- | --- |
| No global default for an entity with no rules | File has only term rules; error "No global default was created for this entity" on every row | Add a row with asset\_class, term\_min\_months and term\_max\_months all blank |
| Rule overlaps another rule of the same type | "Term 24–48" and "Term 36–60" both starting 2026-10-01 | Change the term ranges so they don't share a month (e.g., 24–35 and 36–60), or change the dates |
| Same start date and same criteria | Two global defaults both starting 2026-10-01 | Keep one, or give them different start dates |
| Overlaps a rule that has an end date | Existing "Term 49–84" ends 2026-12-31; new "Term 49–84" starts 2026-10-01 | Start the new rule on 2027-01-01 or later |
| New rule would cut off a rule already used on a measurement | Existing locked rule last set a rate for a lease measured 2026-09-15; new rule starts 2026-09-01 | Start the new rule after 2026-09-15 |
| Rate name exists at a different percentage | Q4 default exists at 3.40%; row says 0.0365 | Use a new rate name for the new percentage |
| Rate entered as a percentage | rate\_percent 4.88 for a 4.88% rate | Enter the decimal: 0.0488 |
| Unknown asset class | Equipmnt | Match the asset class name in Occupier exactly, or set it up first |
| Minimum term of 0 | term\_min\_months 0 for a 0–6 month band | Start at 1 (1–6). Every lease is at least 1 month, because partial months round up |
| Maximum term without a minimum | term\_max\_months 24, term\_min\_months blank | Add the minimum (use 1 for "up to 24 months") |
| Minimum greater than maximum | min 48, max 24 | Swap the values |
| End date before start date, or wrong date format | 10/01/2026 or end 2026-09-30 with start 2026-10-01 | Use YYYY-MM-DD and an end date on or after the start |

**Rules of different types never conflict.** "Equipment, 24–48 months" and "Term 24–36 months" can both be in effect. A 30-month Equipment lease uses the Equipment rule because asset class rules are checked first.

### Worked example: quarterly term-based rates

US Entity sets new IBRs by lease term each quarter: 10 term bands from 1–6 months up to 10+ years. This file loads Q3 (from July 1, 2026) and Q4 (from October 1, 2026) in one upload, plus the global default the entity needs as its first rule.

![](https://help.occupier.com/hs-fs/hubfs/image-png-Nov-12-2026-10-45-43-3193-PM.png?width=670&height=162&name=image-png-Nov-12-2026-10-45-43-3193-PM.png)

Three of the ten bands per quarter are shown. The default rate of 4.50% is illustrative. The first data row has no asset class and no term, so it is the global default. The 10+ Years rows leave term\_max\_months blank, so they cover every term of 121 months or more.

**What happens on upload:**

**Which rate a lease gets:**

| Lease | Measurement date | Term | Rate applied | Why |
| --- | --- | --- | --- | --- |
| New lease | Aug 15, 2026 | 30 months | 2-3 Years 07/01/2026 (4.15%) | Q3 term rule for 25–36 months is in effect |
| New lease | Oct 20, 2026 | 30 months | 2-3 Years 10/01/2026 (5.00%) | Q3 rule ended Sep 30; Q4 rule matches |
| New lease | Nov 2, 2026 | 150 months | 10+ Years 10/01/2026 (5.68%) | 150 is within 121+ |
| Modification | Nov 2, 2026 | 2 years 1 month remaining → 25 months | 2-3 Years 10/01/2026 (5.00%) | Modifications use the remaining term, rounded up to whole months |

Next quarter, upload only the new rows dated 2027-01-01 with new rate names. The Q4 rules stop on December 31, 2026, and leases already measured keep their rates.

FAQ

**Will importing new rules change rates on leases I've already measured?** No. New rules apply only to measurements whose measurement date falls in the rule's effective period. Existing measurements keep their rate.

**Can I use the import to fix a rule I already created?** Only by adding a new rule. Import never edits or deletes rules. An unused rule can be edited or deleted on the tab. A rule already used on a measurement is locked; add a new rule with a later start date to replace it going forward.

**Can I import rules for several entities in one file?** No. Import once per entity, from each entity's own Discount rate rules tab.

**Can a rule start in the past?** Yes, for example to cover a gap in dates. It still has to pass the overlap and locked-rule checks.

**What if a lease's term falls between my ranges?** Occupier never rounds to the nearest range. If no asset class or term rule matches, the global default applies and the measurement notes it. Example: with bands 1–6 and 7–12, every term up to 12 months is covered; with bands 1–11 and 13–24, a 12-month lease gets the global default.

**How do I see what I imported?** The rules list on the entity's tab shows each rule, its rate, its dates and how many leases use it. The **Report** tab on the Discount Rates page lists every rate and rule and exports to Excel. All rule changes also appear in the audit history in Settings.

Before publishing (internal) 

- [Getting Started](https://help.occupier.com/knowledge/getting-started?hsLang=en#main-content)

    - [The Basics](https://help.occupier.com/knowledge/getting-started?hsLang=en#the-basics)
    - [Occupier Onboarding & Abstraction](https://help.occupier.com/knowledge/getting-started?hsLang=en#occupier-onboarding-abstraction)
    - [User & Team Management](https://help.occupier.com/knowledge/getting-started?hsLang=en#user-team-management)
    - [Email & Notification Management](https://help.occupier.com/knowledge/getting-started?hsLang=en#email-notification-management)
    - [Custom Data Management](https://help.occupier.com/knowledge/getting-started?hsLang=en#custom-data-management)
- [Lease Administration](https://help.occupier.com/knowledge/lease-administration?hsLang=en#main-content)

    - [Equipment Leases](https://help.occupier.com/knowledge/lease-administration?hsLang=en#equipment-leases)
    - [Change History Log](https://help.occupier.com/knowledge/lease-administration?hsLang=en#change-history-log)
    - [Clauses](https://help.occupier.com/knowledge/lease-administration?hsLang=en#clauses)
    - [Document Storage](https://help.occupier.com/knowledge/lease-administration?hsLang=en#document-storage)
    - [Financials](https://help.occupier.com/knowledge/lease-administration?hsLang=en#financials)
    - [Creating & Editing a Lease](https://help.occupier.com/knowledge/lease-administration?hsLang=en#creating-editing-a-lease)
    - [Critical Dates](https://help.occupier.com/knowledge/lease-administration?hsLang=en#critical-dates)
    - [Lease Column Configurations](https://help.occupier.com/knowledge/lease-administration?hsLang=en#lease-column-configurations)
    - [Custom Fields](https://help.occupier.com/knowledge/lease-administration?hsLang=en#custom-fields)
    - [Contacts](https://help.occupier.com/knowledge/lease-administration?hsLang=en#contacts)
    - [Filtering](https://help.occupier.com/knowledge/lease-administration?hsLang=en#filtering)
    - [Assets](https://help.occupier.com/knowledge/lease-administration?hsLang=en#assets)
    - [Lease Data Exports](https://help.occupier.com/knowledge/lease-administration?hsLang=en#lease-data-exports)
    - [Occupier Analytics Dashboard](https://help.occupier.com/knowledge/lease-administration?hsLang=en#occupier-analytics-dashboard)
    - [Customizing Data Categories](https://help.occupier.com/knowledge/lease-administration?hsLang=en#customizing-data-categories)
    - [Lease Admin Overview](https://help.occupier.com/knowledge/lease-administration?hsLang=en#lease-admin-overview)
    - [Column Configuration & Filtering](https://help.occupier.com/knowledge/lease-administration?hsLang=en#column-configuration-filtering)
    - [Tasks & Commenting](https://help.occupier.com/knowledge/lease-administration?hsLang=en#tasks-commenting)
    - [Lease Payables](https://help.occupier.com/knowledge/lease-administration?hsLang=en#lease-payables)
    - [Lease Data Imports](https://help.occupier.com/knowledge/lease-administration?hsLang=en#lease-data-imports)
    - [Percentage Rent](https://help.occupier.com/knowledge/lease-administration?hsLang=en#percentage-rent)
- [Lease Accounting](https://help.occupier.com/knowledge/lease-accounting?hsLang=en#main-content)

    - [Understanding ASC 842, IFRS16, GASB87 and FRS102](https://help.occupier.com/knowledge/lease-accounting?hsLang=en#understanding-asc-842-ifrs16-gasb87-and-frs102)
    - [Account Set-up](https://help.occupier.com/knowledge/lease-accounting?hsLang=en#account-set-up)
    - [FX Rates](https://help.occupier.com/knowledge/lease-accounting?hsLang=en#fx-rates)
    - [Recognizing a Lease](https://help.occupier.com/knowledge/lease-accounting?hsLang=en#recognizing-a-lease)
    - [Impairing a Lease](https://help.occupier.com/knowledge/lease-accounting?hsLang=en#impairing-a-lease)
    - [Lease Modifications](https://help.occupier.com/knowledge/lease-accounting?hsLang=en#lease-modifications)
    - [Lease Accounting Reporting](https://help.occupier.com/knowledge/lease-accounting?hsLang=en#lease-accounting-reporting)
    - [Importing Data Into Accounting](https://help.occupier.com/knowledge/lease-accounting?hsLang=en#importing-data-into-accounting)
    - [Allocations](https://help.occupier.com/knowledge/lease-accounting?hsLang=en#allocations)
    - [Close Books Process](https://help.occupier.com/knowledge/lease-accounting?hsLang=en#close-books-process)
    - [NetSuite Journal Entry Integrations](https://help.occupier.com/knowledge/lease-accounting?hsLang=en#netsuite-journal-entry-integrations)
- [Transaction Management](https://help.occupier.com/knowledge/transaction-management?hsLang=en#main-content)

    - [Task Templates](https://help.occupier.com/knowledge/transaction-management?hsLang=en#task-templates)
    - [Filtering](https://help.occupier.com/knowledge/transaction-management?hsLang=en#filtering)
    - [Custom Categories](https://help.occupier.com/knowledge/transaction-management?hsLang=en#custom-categories)
    - [Deal Column Configurations](https://help.occupier.com/knowledge/transaction-management?hsLang=en#deal-column-configurations)
    - [Documents](https://help.occupier.com/knowledge/transaction-management?hsLang=en#documents)
    - [Comps](https://help.occupier.com/knowledge/transaction-management?hsLang=en#comps)
    - [Deal Stages](https://help.occupier.com/knowledge/transaction-management?hsLang=en#deal-stages)
    - [Creating & Editing a Deal](https://help.occupier.com/knowledge/transaction-management?hsLang=en#creating-editing-a-deal)
    - [Site Selection](https://help.occupier.com/knowledge/transaction-management?hsLang=en#site-selection)
- [Broker Deals CRM](https://help.occupier.com/knowledge/broker-deals-crm?hsLang=en#main-content)

    - [Custom Deal Stages](https://help.occupier.com/knowledge/broker-deals-crm?hsLang=en#custom-deal-stages)
    - [Custom Fields](https://help.occupier.com/knowledge/broker-deals-crm?hsLang=en#custom-fields)
    - [Broker Deal Exports](https://help.occupier.com/knowledge/broker-deals-crm?hsLang=en#broker-deal-exports)
    - [Broker Digest emails](https://help.occupier.com/knowledge/broker-deals-crm?hsLang=en#broker-digest-emails)
    - [Critical Date Columns](https://help.occupier.com/knowledge/broker-deals-crm?hsLang=en#critical-date-columns)
    - [Creating & Editing a Deal](https://help.occupier.com/knowledge/broker-deals-crm?hsLang=en#creating-editing-a-deal)
    - [Comps](https://help.occupier.com/knowledge/broker-deals-crm?hsLang=en#comps)
    - [Site Selection](https://help.occupier.com/knowledge/broker-deals-crm?hsLang=en#site-selection)
    - [Broker Deal Teams](https://help.occupier.com/knowledge/broker-deals-crm?hsLang=en#broker-deal-teams)
    - [Negotiations & Proposals](https://help.occupier.com/knowledge/broker-deals-crm?hsLang=en#negotiations-proposals)
    - [Clients Tab](https://help.occupier.com/knowledge/broker-deals-crm?hsLang=en#clients-tab)
- [Monthly Release Notes](https://help.occupier.com/knowledge/monthly-release-notes?hsLang=en#main-content)

    - [2025 Product Release Notes](https://help.occupier.com/knowledge/monthly-release-notes?hsLang=en#2025-product-release-notes)
    - [2024 Product Release Notes](https://help.occupier.com/knowledge/monthly-release-notes?hsLang=en#2024-product-release-notes)
    - [2026 Product Release Notes](https://help.occupier.com/knowledge/monthly-release-notes?hsLang=en#2026-product-release-notes)

[![](https://help.occupier.com/hs-fs/hubfs/Occupier%20Logo%20Blue%20Horizontal.png?width=200&height=39&name=Occupier%20Logo%20Blue%20Horizontal.png)](https://www.occupier.com)

<https://www.facebook.com/> <https://www.twitter.com/> <https://www.instagram.com/> <https://podcasts.apple.com/> [mailto:email@email.com](mailto:email@email.com)

Copyright © 2026, Occupier