Rent that rises over a term, either by a stated percentage or with the Consumer Price Index. The product works out each increase and waits for somebody to approve it, because nothing about a rent increase should happen while nobody is looking.
Each escalating lease carries its own rule, set once on the lease beside its charges.
Every anniversary, which is most leases. Set it once and the raises work themselves out for the rest of the term.
CPI in practice. The raise is whatever the index did, and nobody knows the figure until it publishes.
Which scheduled charge rises, normally base rent. Every twelve months is almost always right, and a lease can escalate more than one charge on its own clock.
Greater of 3% or CPI, capped at 5% is a floor of 3 and a cap of 5. Leave the floor blank and a falling index lowers the rent, which is what the clause says when it says nothing.
Measuring against the last escalation compounds: each raise applies to the rent the one before it produced. Measuring against the original rent compares every raise to what the lease started at. Over ten years those diverge badly, so the clause decides and the lease records which.
How far before the escalation date the comparison figure is read. A month’s index publishes about two weeks into the next month, so a January 1 raise on a lag of 2 reads November. Two is the usual safe reading of a clause that is not specific.
Some leases say that when CPI comes in under the floor, the difference carries to next year. That needs its own running balance, and getting it wrong misstates rent for the rest of a term, so it is left out rather than approximated. Work those leases out by hand.
Skip this entirely if every escalating lease is a fixed percentage. A CPI lease needs it first.
CPI-U and CPI-W are different. A metro series and the US City Average are different. A lease names one specifically, and picking the obvious one instead makes every escalation on that lease wrong by a real margin for the rest of the term.
CPI-U, Houston-The Woodlands-Sugar Land, All Items, NSA. Spelled out in full, because this is what somebody matches against the clause years later.
1982-84=100, as printed on the table. Two series can name the same city on different bases, and a ratio only means anything within one base.
One figure a month. Paste a block out of the published release and it takes the rows it understands and lists back the ones it does not, because a copied table always carries a header. Fill in the BLS series id and it will fetch a span of years directly instead.
The download runs when somebody presses it. Billing does not depend on a government endpoint being up.
Several metro series come out every other month, and an escalation whose lag lands on a month they skip waits for a figure that never arrives. Checking the series id reports that before a lease depends on it.
It comes back as a dash with the reason, and nothing is stored. An escalation reading a month like that waits, which is the right answer.
BLS revises. One of those figures may already be sitting underneath a rent increase somebody has billed, so a revision is offered rather than applied.
Months with nothing on file are filled in. Months where BLS disagrees are recorded as a difference and the stored figure is left exactly where it was.
Somebody correcting a number they entered is making a decision. A feed repeating itself is not, and the two are treated differently on purpose.
Increases already billed off that month, with what they came to and what they would come to on the new figure, and escalations priced but not yet approved.
Taking it corrects the figure and re-prices anything still waiting. Leaving it keeps what is on file, which is what a lease naming a particular vintage of the index needs.
Every escalation keeps the index figures it was computed from. What a tenant was billed stays answerable months later, even after the table underneath it has changed. If a revision means a billed increase was wrong, that is a rent change in its own right, decided by a person and recorded as one.
Every row shows its own arithmetic before you commit to it.
An index escalation prints both figures, the base month and its value and the comparison month and its value, so the ratio can be checked against the published table without leaving the screen.
Where a floor or a cap moved the number, the change column shows the raw index movement underneath it. A capped increase does not hide the figure it was capped from.
The current rent charge closes the day before the effective date and a new one opens at the higher amount, same charge code, so it posts exactly where the old one did.
The next escalation measures from the skipped one’s comparison month, so a waived year stays waived. It is not billed back later. Worth a note saying why.
A fixed percentage surfaces early enough to approve before the billing run, so there are no arrears to clean up afterward.
A January 1 escalation reading December CPI cannot be priced until mid-January. It appears on its date anyway, marked as waiting on the index, and the row names the month it needs. A lease that should have escalated and has not is exactly the thing nobody notices unaided.
Applying a late escalation adds the difference as a separate one-time catch-up charge. Invoices that already went out are not touched, because a period somebody has already reported does not change underneath them.
The months in it come from invoices actually issued against the old charge. A lease billed late is not charged for months nobody sent, and a voided invoice is not a period anybody was billed for.
The nightly pass works out what each escalation is worth and then stops. Approving one is what writes the new rent charge. A rent increase is the most expensive thing in this product to get wrong, so it does not happen while nobody is looking.