Why ERPs Still Leak CAM Revenue (And How to Catch It)
Yardi, MRI, and RealPage record transactions accurately. They do not verify that those transactions are correctly applied to lease terms. Here is where the gap shows up.
By Angel Campa, Founder, CapVeri · Updated April 2026
Quick Answer
Property management ERPs are transaction systems — they record what they're told. They do not verify that GL coding matches lease terms, that gross-up is correctly applied, or that capital projects haven't slipped into the operating expense pool. A verification layer that cross-checks ERP output against lease abstracts and calculation rules is the piece that closes the gap.
ERPs Are Necessary. They Are Not Sufficient.
Yardi Voyager, MRI Commercial Management, RealPage, and their competitors are the system of record for commercial real estate operations. They handle lease administration, accounts payable, billing, and financial reporting at scale. They are well-designed for what they do. But their architecture is fundamentally about recording and retrieving transactions — not about verifying that those transactions are correctly applied to the specific terms of each lease in a portfolio. CAM verification is a cross-referencing problem: ERP output on one side, lease abstracts on the other. ERPs solve the first half. No ERP natively solves the second.
The five categories below describe where the gap shows up in practice. Each one is a structural limitation of the ERP data model, not a user error that better training would fix.
Five Categories of ERP Gaps for CAM
Account code flexibility without verification
ERPs allow AP clerks to code an invoice to any account in the chart of accounts. The system has no knowledge of whether an HVAC replacement is a capital asset under the lease's capital exclusion or a recurring maintenance expense. A $38,000 chiller coil replacement coded to account 6215 (HVAC Maintenance) flows directly into the CAM pool. The ERP has done exactly what it was designed to do — record the transaction — but it has no way to flag that the lease excludes capital improvements above $15,000.
This isn't a user error. It's a structural gap: the ERP's data model separates accounting from lease management. Lease terms live in one module; invoice coding lives in another. Unless someone manually cross-references every coding decision against the lease, mismatches are invisible until a tenant auditor finds them.
Gross-up requires manual configuration per lease
Gross-up — the adjustment that normalizes variable expenses to a defined occupancy threshold — is typically set up as a per-lease configuration in Yardi and MRI. When a lease is executed, someone must enter the gross-up threshold (90% or 95% is most common), the variable expense account codes to be grossed up, and the calculation method.
Problems accumulate over time. When a lease is amended and the gross-up threshold changes from 90% to 95%, the ERP configuration is often not updated. When variable expense account codes are reorganized during a chart of accounts restructuring, the gross-up configuration may point to old codes that no longer exist or to new codes that shouldn't be included. The system continues calculating — just on the wrong inputs.
The result is systematic underbilling. If a building runs at 78% occupancy and the gross-up threshold should be 95% but the ERP is configured to 90%, the difference in grossed-up expenses on a $500,000 variable expense pool is approximately $30,000 — across all tenants, every year.
Pro-rata denominators are entered, not verified
The building denominator used in pro-rata calculations is entered by a data entry operator when a lease is set up. The ERP calculates pro-rata correctly given whatever denominator is in the system — but it cannot verify that the denominator matches the current lease abstract.
After a lease amendment that adds or removes square footage, the denominator needs to be updated. After an anchor tenant vacates and their exclusion from the denominator is negotiated out of subsequent leases, the denominators for those leases need to be updated. After a building expansion adds rentable area, all affected leases need new denominators.
These updates require manual intervention. When they don't happen, tenants in the same building run on different denominators that no longer reflect the same building. One tenant's pro-rata might be calculated on 48,500 SF; another's on 50,200 SF. Neither is necessarily wrong by the terms of their specific lease, but the inconsistency raises audit flags and signals that at least one denominator has drifted from its lease definition.
No cross-tenant consistency checks
ERPs calculate each tenant's CAM obligation independently. This is correct for billing purposes — each lease has its own terms. But it creates a blind spot: there is no system that asks whether two tenants in the same building are being calculated on consistent assumptions.
Tenant A's lease was abstracted in 2019 with a 50,000 SF denominator. Tenant B's lease was abstracted in 2023 after a building remeasurement showed 51,200 SF of rentable area. The ERP records both values without flagging the discrepancy. From a billing standpoint, both tenants are billed correctly per their respective lease terms. But in a portfolio audit, an attorney will ask the property manager to explain why Tenant A is being charged CAM on a 50,000 SF building while Tenant B is charged on a 51,200 SF building.
Cross-tenant consistency is a verification problem, not a transaction recording problem. ERPs are not designed to perform it.
Cumulative CAP banks require manual tracking
A cumulative CAM cap allows unused cap capacity to carry forward. If a lease has a 5% annual cap and expenses only increased 2% in year one, the landlord can theoretically recover up to 8% in year two (the 3% unused capacity plus the 5% current cap).
Most ERPs do not automatically track cumulative cap banks. The bank balance is typically maintained in a separate spreadsheet or, in well-implemented setups, in a custom ERP field that someone must update each year. When the spreadsheet is lost, when a property manager transitions off the account, or when the ERP field isn't updated, the cap bank balance is wrong. The tenant is billed using an incorrect base, and the error compounds annually.
In an audit, a tenant can demand the full cap bank history from lease commencement. If the records show that the cap was applied to the wrong base amount in years 2 through 5, the cumulative adjustment can be substantial — and the landlord bears the burden of proof.
What a Verification Layer Does Instead
A verification layer reads your ERP's standard GL and lease export, then cross-checks the output against lease abstract rules for every tenant in the portfolio. It does not replace the ERP — the ERP remains the system of record. It runs alongside the ERP, after the GL export, and before statements are delivered.
The verification loop
- Export GL data and lease abstract from your ERP (CSV or Excel)
- Verification layer classifies expenses against lease exclusion lists
- Gross-up is recalculated from lease terms and compared to ERP output
- Pro-rata denominators are cross-checked across tenants in each building
- CAP bank balances are reconciled against historical billing
- Discrepancy report is generated for human review
- Corrected reconciliation is finalized and statements are delivered
CapVeri works from standard exports from supported systems — no ERP vendor buy-in or API integration project required. See the export-based verification layer guide for a detailed breakdown.
What Can Go Wrong
Gross-up configuration not updated after lease amendment
A tenant's gross-up threshold was changed from 90% to 95% in a 2023 lease amendment. The property manager updated the lease abstract but not the ERP gross-up configuration. For three subsequent reconciliation years, gross-up was calculated at 90% instead of 95%. On a $180,000 variable expense pool with 80% building occupancy, the underbilling per year was approximately $11,250. Across three years and four tenants with similar amendments, the portfolio leakage exceeded $130,000.
Pro-rata denominator frozen after anchor tenant vacated
An anchor tenant vacating a 120,000 SF retail center triggered a lease provision that removed the anchor's SF from the denominator for three in-line tenants. The ERP was not updated to reflect the denominator reduction. Remaining in-line tenants continued to have their CAM calculated on the 120,000 SF denominator rather than the post-anchor 98,000 SF denominator. Each tenant was underbilled by approximately 18.5% of their actual share, representing a recoverable shortfall that the landlord could not pursue because the billing period had closed.
Corporate ERP restructuring orphaned gross-up account configurations
A portfolio owner migrated from MRI to Yardi across 28 properties over an 18-month period. During the migration, gross-up account code mappings were converted using the old chart of accounts. A subsequent chart of accounts standardization renamed 14 operating expense codes. The gross-up configuration in Yardi continued referencing the old codes, which now mapped to zero. Gross-up calculations returned zero for all variable expenses, effectively eliminating gross-up from 28 properties' CAM reconciliations for the full year before the error was detected during a tenant audit.
Frequently Asked Questions
Why do property management ERPs miss CAM billing errors?
ERPs are transaction systems — they record what they're told. They do not verify that account codes match lease terms, that gross-up is calculated correctly, or that capital projects haven't slipped into the operating expense pool. CAM verification requires cross-referencing ERP output against lease abstracts and calculation rules, which no ERP does natively.
What is the most common CAM revenue leak in Yardi or MRI?
Pro-rata share misconfiguration is among the most common. When a lease is amended and the tenant's square footage or the building's denominator changes, the ERP configuration often isn't updated to match. The system continues calculating CAM on the old denominator, producing systematic underbilling or overbilling for every subsequent period.
Can CAM caps be tracked automatically in an ERP?
Most property management ERPs require manual configuration of CAM caps per lease. Cumulative caps — which bank unused cap capacity across years — are especially error-prone because the carry-forward calculation requires either a separate workbook or a custom ERP configuration that many teams do not maintain consistently.
What does a CAM verification layer add beyond what an ERP provides?
A verification layer cross-checks ERP output against lease abstract rules rather than just recording transactions. It flags gross-up configuration mismatches, pro-rata denominator inconsistencies across tenants, cap bank errors, and excluded expenses in the pool. It runs against standard ERP exports — no API integration required.
Related Resources
GL Export QA Checklist
12 pre-reconciliation checks to run on every GL export before calculating CAM.
Export-Based Verification Layer
Why a verification layer beats an ERP integration project for CAM accuracy.
Detecting CapEx in a GL Export
Specific techniques for flagging capital projects miscoded as operating expenses.
CAM Reconciliation Software
How to evaluate software for commercial CAM reconciliation.
Close the ERP Verification Gap
CapVeri runs the cross-checks your ERP can't — gross-up verification, pro-rata consistency, cap bank reconciliation — from your standard GL export.
Get Started Free