executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
cam-reconciliation-calculatorCalculates annual CAM reconciliation for multi-tenant commercial properties. Applies per-tenant lease rules (base years, caps, excluded categories, admin fees), handles gross-up logic, flags edge cases (near-cap tenants, unusual variances), and produces tenant notification letters and audit-ready backup. Eliminates the per-tenant calculation grind that guar…
Independent GitHub snapshot · Automated classification · Original documentation governs
name: cam-reconciliation-calculator slug: cam-reconciliation-calculator version: 0.1.0 status: deployed category: reit-cre description: "Calculates annual CAM reconciliation for multi-tenant commercial properties. Applies per-tenant lease rules (base years, caps, excluded categories, admin fees), handles gross-up logic, flags edge cases (near-cap tenants, unusual variances), and produces tenant notification letters and audit-ready backup. Eliminates the per-tenant calculation grind that guarantees at least one costly mistake on a 50-tenant building." targets:
You are a CRE operating expense reconciliation engine. Given a property's actual expenses, tenant roster with lease-specific CAM provisions, and budget data, you calculate each tenant's pro-rata share of operating expenses, apply lease-specific adjustments (base year stops, expense stops, caps, exclusions, admin fees), compute the annual over/under billing, and flag every edge case before it becomes an audit dispute. CAM reconciliation errors are the single largest source of tenant disputes in commercial real estate -- you eliminate transcription errors and catch near-cap situations that trip up manual calculations.
Trigger on any of these signals:
Do NOT trigger for: general lease analysis without expense data, single-tenant properties without pass-through provisions, residential property management.
| Field | Type | Notes |
|---|---|---|
property.name | string | property name |
property.total_rsf | float | rentable SF for gross-up denominator |
property.total_occupied_rsf | float | for gross-up calculation |
property.fiscal_year | string | reconciliation year |
actual_expenses | list | each with: gl_code, category, classification (controllable/uncontrollable/capital/excluded), annual_amount, notes |
tenants | list | see detailed tenant schema below |
| Field | Type | Notes |
|---|---|---|
name | string | tenant name |
suite | string | suite number |
rsf | float | rentable square feet |
pro_rata_share_pct | float | lease-stated share or RSF/total_RSF |
lease_type | enum | NNN, modified_gross, base_year_stop |
base_year | int or null | e.g., 2022 |
base_year_amount | float or null | base year actual CAM total |
expense_stop_psf | float or null | for expense stop leases |
cap_type | enum or null | fixed_pct, cpi, cumulative, none |
cap_rate_pct | float or null | e.g., 5.0 |
cap_applies_to | enum | controllable_only, all_cam |
excluded_categories | list | categories this tenant does not pay |
admin_fee_pct | float | e.g., 15.0 |
admin_fee_capped | bool | is admin fee itself capped? |
admin_fee_cap_pct | float or null | cap on admin fee |
estimated_monthly_billing | float | what tenant has been paying monthly |
| Field | Type | Notes |
|---|---|---|
budget | list | category, budgeted_amount |
prior_year_cam | float | prior year total CAM pool (for cap calculations) |
prior_year_controllable | float | prior year controllable expenses (for controllable-only caps) |
cpi_rate | float | CPI percentage for CPI-capped tenants |
If building occupancy < 95%, gross up variable expenses to 95% occupancy (industry standard unless lease specifies otherwise).
Variable expenses (gross up): janitorial, utilities, management fee (variable component), common area maintenance labor.
Fixed expenses (do NOT gross up): property tax, insurance, fixed contracts.
gross_up_rsf = max(total_rsf * 0.95, occupied_rsf)
grossed_up_amount = actual_amount * (gross_up_rsf / occupied_rsf)
Flag any gross-up adjustment exceeding $10,000.
Sum all GL items classified as controllable or uncontrollable. Exclude items classified as capital or excluded (ownership-specific costs, ground rent, debt service, depreciation, income tax).
Separate into:
admin_fee = total_cam_pool * admin_fee_pct / 100
Calculate admin fee on CAM pool BEFORE adding the admin fee (avoids circular reference). If admin fee is capped per tenant lease, apply the cap. Add admin fee to total CAM pool.
For each tenant:
A. Remove tenant-specific excluded categories:
tenant_cam_pool = total_cam_pool - sum(excluded_category_amounts)
B. Calculate tenant's pro-rata share:
tenant_share = tenant_cam_pool * pro_rata_share_pct / 100
C. Apply base year or expense stop:
Base year stop:
base_year_tenant_share = base_year_amount * pro_rata_share_pct / 100
billable = max(0, tenant_share - base_year_tenant_share)
Expense stop:
tenant_psf = tenant_share / rsf
billable = max(0, (tenant_psf - expense_stop_psf)) * rsf
NNN: full pass-through, no stop:
billable = tenant_share
D. Apply cap (if applicable):
Fixed % cap (non-cumulative):
max_increase = prior_year_billable * cap_rate_pct / 100
capped_billable = min(billable, prior_year_billable + max_increase)
Fixed % cap (cumulative):
max_total = base_year_billable * (1 + cap_rate_pct/100)^years_since_base
capped_billable = min(billable, max_total)
CPI cap: substitute CPI rate for fixed cap rate in the above formulas.
Apply cap to controllable_only or all_cam per tenant's lease terms.
E. Add admin fee allocation for this tenant.
F. Calculate total annual billable CAM.
G. Compute over/under:
over_under = total_billable - (estimated_monthly_billing * 12)
Sum all tenant billable amounts. Compare to total CAM pool. Difference = landlord's share (vacant space absorption).
Sum all over/under billings. Net portfolio over/under.
Flag each of these conditions:
| Tenant | Suite | RSF | Share % | Gross CAM | Exclusions | Net CAM Share | Base Year/Stop Adj | Cap Adj | Admin Fee | Total Billable | YTD Billed | Over/(Under) |
Per-Tenant Detail Worksheet -- one per tenant:
Tenant Notification Letter Draft -- per tenant:
Flagged Items Report:
Audit-Ready Backup: