Most of what goes wrong on the expense side of a CRE budget is not a wrong number. It is a right number that stayed too long: a recovery schedule left on last year’s label, a capital add-back that outlived the lease clause behind it, a December invoice booked in January. None of them trips an error, and the roll-forward carries all three into 2027. This piece covers how each one happens and how to catch it this budget season.
The revenue side of a CRE budget gets attention because it changes: leases roll, tenants move, assumptions get argued over. The expense side mostly repeats. A landscaping contract renews at a few percent more, the utility accounts follow last year, and the recovery schedules that turn those expenses into tenant charges come along with the file. That is what makes it efficient, and it is also the problem. A CRE budget is built in dependency order: rent roll, then expenses and capital, then recoveries. Anything wrong in the middle step reaches every tenant’s estimate without anyone touching it.
We have written about the five recovery settings to check before the budget is locked and about where CAM reconciliation errors come from. This piece sits one step upstream of both: the expense schedules, the capital adjustments and the accruals that recoveries are calculated from. All three are correct entries that nobody retired.
In Kardin, every recovery schedule carries a year and a type, such as 2026 Budget or 2026 Reforecast, so the file knows which set of expenses it is calculating from. When a budget is rolled to a reforecast, the schedules come along with it, which is what you want. What they do not do is relabel themselves. A schedule still marked 2026 Budget inside a 2026 reforecast is pointing at a set of numbers that is no longer the working one, and the file will tell you so with an error the moment you try to calculate.
Kardin Support calls this one of the most common errors they see after a roll. It is a two-minute fix in the expense schedules list, moving each schedule forward to the current year and type, and it is worth doing as a step of the roll rather than waiting for the error. The same review catches two related problems. An expense code that was created but never got a schedule behind it will trigger an error on any tenant it is assigned to, because there is nothing to calculate. And a schedule that was built and never assigned to a tenant calculates nothing at all; it shows up on the recoverable expense leakage report as recoverable dollars that are not being recovered, which is usually the first sign that a schedule is sitting unused.
The retirement rule is short. If a schedule is on the current year and type and attached to at least one tenant, keep it. If it is a prior year’s schedule, keep it only when a base-year tenant needs to reference that year’s expenses, which is the one reason Kardin gives for holding historic schedules. Otherwise it is clutter that will be copied forward again next fall, and a cluttered list is how the wrong schedule gets picked from a dropdown.
Some capital is recoverable from tenants over several years rather than expensed in the year it was paid. The standard example is a parking lot slurry seal: $60,000 paid from a capital account in one year, recoverable over three. Without interest, that is a $20,000 adjustment to the recoverable pool in each of three years.
The mistake is how the $20,000 goes in. If it is a plain adjustment on an expense account, the roll-forward treats it like any other line: it copies it into next year’s budget, and the year after. Kathy Lim, a CRE practitioner speaking at a BOMA session on reconciliation best practices, described exactly this with a slurry seal that had been added to a recovery pool:
“It is going to keep that twenty thousand dollars in here until you remove it.”
Kathy Lim, BOMA Power Hour on CAM reconciliation best practices
Her own practice is to write the project, the term and the final year into the adjustment’s note, so that whoever opens the file in year four sees that the recovery ended in year three. Jobs come and go: a chiller replaced and amortized over five years joins the list while the slurry seal drops off, so the list changes every year and has to be reviewed every year.
Kardin can hold the schedule itself. The Amortization Schedules module (sign-in required) takes the total cost, the date acquired and the life in months and produces the monthly amount; current-year tenant improvements and leasing commissions can be amortized from the rent roll automatically. Two conditions apply, both from Kathy’s session and Kardin’s own documentation: the amortization has to be linked to an account, and because you are probably not budgeting the capital spend in an operating budget, the entry needs to net to zero there. Kardin does not charge interest, so if the lease allows it, factor it in yourself.
The third is an expense booked in the year it was paid rather than the year it belongs to. The classic case is weather. A snow event between Christmas and New Year’s clears the parking lot for $5,000, the invoice arrives in January, nobody accrued for it in December, and it lands in the new year’s actuals. The old year is $5,000 light, the new year is $5,000 heavy, and both years’ tenant estimates are a little wrong in opposite directions.
“I wouldn’t worry about which year it was paid. I would worry about whether or not you had twelve months. If it’s quarterly, I would worry about the quarterlies. What you’re looking for are the anomalies.”
Kathy Lim, BOMA Power Hour on CAM reconciliation best practices
The method is just that. For every recurring contract in the pool, count the charges in the year. Twelve means the year is whole, whichever side of the line the individual checks fell on. Eleven or thirteen means a one-time event is in the wrong year and needs an adjustment: add December’s plowing back to the old year, take it out of the new one, and write the note. The reverse case matters too. If a prior-year event was recovered from tenants in the prior year, do not recover it again when the invoice shows up in this year’s actuals.
In budget season this is a review of last year’s actuals before they become this year’s baseline. The expense that was overstated by a late invoice will otherwise be budgeted at the overstated level, recovered at the overstated level, and corrected only when a tenant’s auditor asks why the snow line doubled.
All three take about an hour on most properties if they are done together, in the order above.
If your expense schedules, amortization and accrual adjustments live in a spreadsheet that gets copied forward each fall, the copy is the problem: a spreadsheet has no idea what a term is. See how Kardin builds the expense side, or ask us to walk through your pools before the 2027 budget is locked. Kardin works alongside Yardi, MRI, RealPage and other accounting systems; the actuals import in and the recoveries export back out for billing.
A recovery schedule that no longer matches the file it sits in: it still carries last year’s year and type after the budget was rolled to a reforecast, it belongs to an expense code no tenant uses any more, or it was built and never assigned to a tenant. The schedule still exists, so nothing looks missing, but either it calculates nothing or it calculates against the wrong year.
As a schedule with a start, a term and an end, not as a flat add-back typed into an expense account. A $60,000 project recovered over three years is $20,000 a year for exactly three years. If the add-back is a plain adjustment, the roll-forward copies it into year four and beyond until someone removes it. Note the project, the term and the final year on the adjustment, and review the list every budget season.
A recurring expense should show the number of charges the contract implies: twelve for a monthly contract, four for a quarterly one. Whether a given check cleared in December or January matters less than whether the year has its full set. A one-time event that was paid in the wrong year and never accrued is the anomaly to add back or take out, with a note.
Because the budget is what gets rolled forward. A reconciliation in March compares one year’s actuals to one year’s estimates and then closes. A budget built in October becomes the reforecast, the estimate letters and the baseline for next year’s variance reports. A stale setting made now travels with it for a year.
Partly. A purpose-built tool can refuse to run a reforecast on a schedule whose year and type were never updated, flag an expense code with no schedule behind it, hold an amortization schedule with a defined term, and show on a leakage report when recoverable expenses are not being recovered. It cannot know that a lease allowed three years and not four, or that a check in January was really December’s. Those are reviews a person does, and the software makes them quicker.