Skip to main content
DoneThat

AI Adoption GuidePropertyBill

CAM & Service Charge Audit

ML audits common area maintenance charges against lease caps, exclusions, and gross-up provisions, surfacing over-billing exposures before statements are issued.

Property processAcquireLeaseOccupyMaintainBillRenewVacateDispose

By Don, DoneThat’s AI coach · updated

What this use case covers

Common area maintenance (CAM) and service charge recoveries sit at the intersection of operating expense ledgers and lease economics. A property accountant must allocate shared costs to tenants according to each lease’s share formula, then apply caps, exclusions, base years, and gross-up rules before a statement is final. Errors compound across suites and fiscal periods: an excluded expense coded into the recoverable pool, a missed cap, or an incorrect gross-up denominator can overstate what tenants owe.

This page describes how machine learning supports that audit. Models compare proposed recoveries to lease provisions and source actuals, then surface over-billing exposures for human review. The accountant still decides what appears on the statement. The system does not auto-issue or auto-correct billings.

Inputs the model needs

Useful audits start with structured lease economics and complete CAM actuals for the period under review. Typical inputs include:

  • Lease abstracts or extracted terms: pro-rata share method, expense stops or base years, caps (absolute or percentage), excluded categories, administration fees, and gross-up language (occupancy threshold and which costs are subject to gross-up).
  • Period actuals: general-ledger or CAM-pool detail with vendor, account, amount, and period coding that match how the property defines recoverable costs.
  • Proposed recovery schedule: tenant-level draft charges before statements are released, including any prior-year true-ups already queued.
  • Occupancy and square-footage facts used in share and gross-up calculations for the same period.

When lease caps, exclusion lists, or CAM actuals are missing or incomplete, the model produces empty output for that asset or suite rather than inventing terms or filling gaps from similar leases. Partial abstracts are not treated as complete rules. Accountants should treat a blank result as a data-readiness signal, not as a clean bill.

How the audit works

The workflow is comparative, not generative. First, the model normalizes lease rules into checkable constraints: which GL accounts map into the recoverable pool, which amounts are excluded, how the tenant’s share is computed, whether a cap applies after share or to the pool, and how gross-up adjusts the denominator when occupancy falls below the lease threshold.

Second, it recomputes an expected recoverable amount from the period actuals under those rules, then compares that expectation to the draft recovery line for each tenant. Material variances are ranked by dollar exposure and by rule type (cap breach, excluded cost in pool, share misapplication, gross-up omitted or applied when occupancy did not warrant it, admin fee above lease allowance).

Third, each flag carries a short rationale tied to the lease clause and the source actuals that drove the difference. The accountant reviews the flag queue, accepts or rejects findings, and edits the statement package only after that review. Nothing in the model path replaces statement issuance, landlord approval workflows, or tenant dispute handling.

Over-billing patterns the model surfaces

Practitioners see recurring failure modes that dollar totals alone do not reveal:

Excluded costs in the recoverable pool. Marketing, capital projects below the lease’s capitalization threshold, or landlord-only insurance lines sometimes land in CAM because of coding habits. The model matches account and vendor signals to exclusion language and flags amounts that should leave the pool before share is applied.

Cap and stop mishandling. Controllable-expense caps, year-over-year percentage caps, and expense stops each apply at different points in the stack. A draft that ignores a cap, applies it to the wrong cost bucket, or fails to honor a base-year stop will show as over-recovery relative to the recomputed expectation.

Gross-up errors. When occupancy is below the lease threshold, recoverable costs that are subject to gross-up should be adjusted; when occupancy clears the threshold, gross-up should not inflate the bill. Wrong occupancy inputs or applying gross-up to costs the lease excludes from that treatment create systematic overstatements across vacant-suite periods.

Share and true-up drift. Incorrect rentable area, wrong numerator/denominator, or stacking a prior-period true-up on top of an already capped recovery can push a tenant above what the lease allows for the period. The model treats true-ups as part of the period economics when they appear on the draft schedule.

Flags are exposures, not invoices. The accountant confirms the lease interpretation, corrects coding or calculation inputs, and only then issues or revises the statement.

Where humans stay in control

CAM disputes are relationship and legal issues as much as math issues. Lease language is often negotiated and ambiguous; two reasonable readings of “controllable expenses” or “capital vs. operating” can diverge. The model’s job is to highlight where the draft recovery exceeds a literal reading of the extracted rules and the posted actuals. The property accountant (and, when needed, asset manager or counsel) decides which reading governs the statement.

Recommended operating practice:

  1. Run the audit on the draft recovery file before tenant packages leave the system of record.
  2. Work the flag list by exposure size; clear data defects (wrong SF, missing GL) before debating clause interpretation.
  3. Document accepted exceptions (for example, a negotiated waiver that is not yet in the abstract) so the same variance is not re-flagged as unexplained next period.
  4. Re-run after corrections; empty or reduced flag volume confirms the statement math, not that tenants will agree with every line.

Issuance, PDF packages, portal posting, and follow-up remain human-owned. Related collection and reminder workflows sit downstream of a clean bill, not inside this audit.

Limits and failure modes

The audit is only as strong as the lease extract and the CAM actuals. Ambiguous clauses, side letters not in the abstract, and multi-building portfolios with inconsistent pool definitions will produce noisy or incomplete flags. Models do not replace lease counsel on contested interpretations.

They also do not prove under-billing. A draft that is low relative to the recomputed amount may reflect a landlord policy choice, a phased pass-through, or incomplete actuals; under-recovery deserves a separate review path and should not be auto-corrected upward.

Finally, if caps, exclusions, or period actuals are absent, output stays empty for that scope. Do not treat silence as clearance. Load the missing terms and ledgers, then re-run before statements are considered audited.

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first