Real Estate AI agent · Expense recovery
Operating-Expense Reconciliation AI Agent
Build the expense pool from the ledger, cite the clause behind the line, hold the pack for the asset manager who issues a statement a tenant audits, not a price for a buyer.
- Typical delivery
- 4–6 weeks
- Deployment
- Your stack
- Manager issues
- Pre-issuance
- After launch
- Agent Care
What this agent does
Builds the pack, not the decision to charge
In
- 01
A cost is coded in the ledger, and the pool is drawn from the trial balance an auditor will later be shown.
- 02
A line is tested against that lease clause, because the same account is recoverable next door and excluded here.
Reason
- 03
A line no clause covers stays unclassified and is raised for a person, never defaulted into the recoverable pool.
- 04
A gross-up runs on the variable components the clause names, and on the base year too where the lease has one.
- 05
A cap is run on its own convention — compounded or not, rolling or base-year — and never on a house convention.
Decide
- 06
A share is computed on the denominator the clause names; ANSI/BOMA Z65.1-2024 measures area, never the pool.
- 07
A statement falls due on that lease's own date, and the objection, inspection and billing-bar clocks run apart.
Out
- 08
A statement is not a tenant letter: this proves what may be charged, and a commercial lease has no approved form.
- 09
Execute write actions only inside the approval boundaries agreed during implementation.
Product statement
The agent assembles the pool, the allocation and the pack; a named asset manager issues the statement, and the tenant tests it against the clause.
Example workflow
One tenant, ledger to statement pack
- 1Reconciliation year closesGeneral ledger, lease abstracts, estimate billings and the prior-year statement
- 2Pool assembledInclusions, exclusions, amortisations and gross-ups, each with its lease citation
- 3Pack draftedShare, estimate-to-actual bridge, unclassified lines and confidence
- 4Controls appliedClause-citation checks, cap and gross-up arithmetic, clock checks and confidence threshold
No human action required
Stages 1 to 4 run unaided, and nothing is issued or billed at any of them — the agent is assembling, and the asset manager's lane opens at the confidence gate.
Goes to the asset manager to approve.
Adds a lease-counsel read first.
Manager approval
The pack is held with its clause citations, its unclassified lines and the confidence.
Approve · Correct · Send to counsel review
Approved — released for issue
- 6Billing systems updatedOnly where write access and approval policy allow it
- 7Outcome evaluatedCitation coverage, corrections, on-time delivery and audit outcomes
Corrections
Every manager correction is counted in the evaluation.
What should not run autonomously
Human approval stays in control
Outside the boundary — human approval required
8 items
- Issuing or certifying the reconciliation statement.
- Deciding that a cost is recoverable under a clause.
- Resolving or settling a tenant audit claim.
- Signing the California attestation under § 1950.9.
Automation boundary
Agent acts unaided
- ✓Build the expense pool from the ledger, one coded line at a time.
- ✓Carry the lease clause with the line it puts there.
- ✓Compute the share, the cap and the bridge on the clause.
- ✓Run the lease clocks and assemble the file behind an audit request.
Any write happens inside the boundaries agreed at implementation, never ahead of the manager.
- Re-billing a year already invoiced or closed.
- Changing the allocation method for a tenant.
- Granting an audit right the clause does not give.
- Changes to clause, cap or gross-up rules.
Example output
One pool line, annotated
Everything the agent assembles is attached to the invoice and the clause behind it.
Reconciliation output · single tenant
Illustrative example- Tenant
- Neighbourhood retail
- Pool line
- Management fee billed on the property, not the common area
- Amount in pool
- $41,860.00
- Clause of record
- Lease § 4.4.1
- Confidence
- 84%
- Who issues
- Named asset manager
As received
Taken from the vendor invoice and the lease exclusion clause — nothing on this side is assumed by the agent.
Sources used
- Vendor invoice on file
- Lease exclusion clause
- Prior-year statement
Why it is raised
Clear Lake Center (18 July 2013) held a fee like this limited to the common area.
What the score decides
Below the configured threshold the pack picks up a counsel read before the manager sees it.
Action
ApproveCorrectSend to counsel reviewValue
Where AI adds value
The same four claims, placed at the point in the workflow where each one applies.
Where the value lands
Value 01 – 04
Every tenant
From the ledger and the lease
Work from the clause
Draw on the clause as written — reported case law on late billing and gross-ups is thinner than assumed.
The clause decides, not custom
Routine pools, shares and packs arrive already assembled.
Send review to the contested lines
Uncited lines and unusual gross-ups are marked, so the counsel read starts where the exposure concentrates.
Build an evidence trail
The cost, the clause it was tested against and the manager who issued stay on the statement.
Integrations
Typical integrations
Five system groups connect to the same agent. Which of them are in scope is decided in discovery.
General ledger
- Sage Intacct
- NetSuite
- Oracle
- SAP exports
Property accounting
- Yardi Voyager
- MRI
- RealPage
- Entrata
Lease data
- Lease abstract libraries
- Clause and exclusion records
Agent
Reconciliation assembly
- Reads the ledger
- Cites the clause
- Holds for issue
Tenant billing
- Yardi CAM
- MRI recovery
- Billing and AR exports
Observability & evaluation
- OpenTelemetry
- Langfuse
- Supported monitoring/evaluation sources
Integration availability depends on the client's existing systems and API access.
Agent controls
Six layers between the model and the statement
Six bands, each inside the last. Anything that survives them is drawn in the map below.
L6 · Outermost — last line of defence
Inward → L1 · closest to the model
- L1 – L2
- Test whether a line may stand
- L3
- Puts the release in the manager's hands
- L4 – L5
- Keep the cost and the clause behind it
- L6
- Narrows to pool assembly when signals degrade
How Nestack evaluates it
Evaluate the assembled pack — not only the total at the bottom.
Coverage runs the whole depth of the workflow, and every layer is cut by slice.
Surface — the statement the tenant receives
- E1Final-output evaluationDid each pool line match the invoice and the clause it came from?
- E2Step-level evaluationDid the agent use the right lease, cap convention and gross-up rule?
- E3Tool evaluationDid it read the correct tenant and the correct reconciliation year?
- E4Confidence calibrationDo low-confidence packs actually attract more manager corrections?
- E5Slice evaluationHow does performance change across specific lease and tenant types?
- E6Business outcomeHow many lines were corrected or contested after the statement went out?
Floor — the money the landlord gives back
Failure modes
Where each failure originates in the agent
Seven failure modes, set at the point the statement pack first breaks.
Agent lifecycle
Direction of processing →
01 · Retrieval
1 mode
- FS-03
Stale trial balance
A post-close reclassification lands after the pool was drawn.
Stage gathers
Ledger lines, lease clauses, estimates and areas
02 · Reasoning
2 modes
- FS-04
Fee billed on the property
A management fee is charged on the whole property, not the common area.
- FS-06
Cap run on house convention
A non-compounded cap is run as compounding and widens each year.
Stage proposes
Pool, exclusions, share, bridge and confidence
03 · Tool / write
2 modes
- FS-02
Unclassified line defaulted
A line no clause covers is placed in the pool rather than raised.
- FS-05
Base year not grossed up
Gross-up runs on the comparison year alone and compounds.
Stage writes
Only where write access and approval policy allow it
04 · Output
1 mode
- FS-01
Statement lands late
The pack goes out on the house calendar, not the lease date.
Stage returns
The statement the manager issues and the tenant tests
05 · Change / Version
1 mode
- FS-07
Silent clause drift
A rule change widens what the agent treats as recoverable.
Stage tracks
Model, prompt, clause rules and property config
- Sev-1 · a charge leaves the boundary
- Sev-2 · a wrong line reaches the manager
- Sev-3 · source degrades, pack to review
Affected slices
A property figure can hide one tenant
A property-level clause-citation figure can look sound while a few tenants absorb nearly all of the lines no clause covers. Nestack reports the uncited-line rate by slice, not only in total.
Slice performance — reported separately, not only in aggregate
Illustrative example| Slice | Failure rate | Lift | Lift vs. threshold | Status |
|---|---|---|---|---|
| Base-year office leases | 6.8% | 3.7× | Review | |
| Capped controllable expenses | 4.6% | 2.5× | Review | |
| Ground-floor retail tenants | 2.9% | 1.6× | Watch | |
| Single-tenant net leases | 1.7% | 0.9× | Normal |
Bar: uncited-line-rate lift vs. single-tenant net lease baseline · scale 0–4.0× · tick marks the 2.0× review threshold
2 of 4 slices over threshold
Evidence-linked improvement
The season closes into the regression suite
The loop shuts when the disputed charge is a regression case. That suite is what the next statement issued is measured against.
Improvement cycle · five stages
Switchback — the path turns at Improve and returns at Learn
- 01
Detect
Uncited lines rise in one lease type.
- 02
Diagnose
The management fee that was billed on the property, not the common area, is read back until the cause narrows to one.
- 03
Improve
Any change ships numbered, with the statements that caused it attached.
- 04
Verify
One statement case still failing is enough to hold the release.
- 05
Learn
One case joins the suite, one line joins the recovery record.
Learn → Detect
The return edge. Next season's detection meets a suite one case longer.
Typical build scope
Twelve workstreams across six weeks
The build scope read against the delivery timeline. Week structure follows the six-week plan — discovery, sources, reconciliation workflow, evaluation, integration, then production validation and handover.
Workstream
Week 1Week 2Week 3Week 4Week 5Week 6
- 01Recovery workflow discovery and boundary setting.Week 1
- 02Ledger and lease source assessment.Week 1, Week 2
- 03Lease clause, exclusion and gross-up rule mapping.Week 1, Week 2
- 04Ledger extraction and pool assembly.Week 2
- 05Allocation, gross-up and cap arithmetic.Week 2, Week 3
- 06Confidence scoring and exception routing.Week 3
- 07Manager approval workflow.Week 3, Week 4
- 08Ledger and billing integration.Week 5
- 09Exclusion and gross-up cases.Week 4, Week 5
- 10Guardrails and issuance controls.Week 4
- 11Statement-trail instrumentation.Week 5, Week 6
- 12Deployment, documentation and Agent Care handover.Week 6
12 workstreams · 6 weeks · bar shows the weeks a workstream is active — several run in parallel
Final scope and sequence confirmed in discovery
Engagement tiers
What each tier includes
Rows are the capabilities named in each tier's scope. Higher tiers include everything below them.
| Capability✓ in scope · — not at this tier | PilotOne property, one season | ProductionProduction billing systems | AdvancedMultiple properties / states |
|---|---|---|---|
| Introduced at Pilot | |||
| Assembly to your clause set | ✓ | ✓ | ✓ |
| Manager approval | ✓ | ✓ | ✓ |
| Clause-citation baseline | ✓ | ✓ | ✓ |
| Introduced at Production | |||
| Reporting by tenant | — | ✓ | ✓ |
| Approval workflow in your systems | — | ✓ | ✓ |
| Approved write-back | — | ✓ | ✓ |
| Ledger-and-lease integration | — | ✓ | ✓ |
| Introduced at Advanced | |||
| Multi-clause and multi-state rules | — | — | ✓ |
| Multi-stage landlord approvals | — | — | ✓ |
| Large tenant rosters | — | — | ✓ |
| Multi-property recovery controls | — | — | ✓ |
| Build price | From $5,000 | From $8,000 | Custom quote |
- Final build price
- Confirmed after discovery based on integrations, workflow complexity, transaction volume, approval controls and deployment requirements.
- Separate from build
- Build pricing is separate from recurring Agent Care, which covers managed monitoring, evaluations, incidents and verified improvements after launch.
What we need from you
What you bring, and what we build with it
Each input maps to a piece of build scope and a week in the delivery timeline.
You bring
We build with it
01Your lease abstracts and the clauses they carry
→Ledger and lease ingestion and clause binding
Week 102The statement issued last year for each tenant
→Pool-assembly baseline and the uncited-line register
Week 203Your cap, gross-up and amortisation conventions
→Lease clause, exclusion and gross-up rule mapping
Week 104Access to relevant APIs, feeds or exports
→Ledger, lease and billing assessment, then integration setup
Week 205Statements you would not want audited
→Audit cases and the evaluation suite
Week 406What no statement may bury
→Confidence scoring, exception routing, guardrails and approval controls
Week 307Named asset managers to review packs
→Manager approval workflow, then pilot and production validation
Weeks 5–6
Nothing else is required
Deployment, documentation and Agent Care handover are ours.
Delivery timeline
Four phases across six weeks
The plan is measured in worked weeks and not in slide space, and so week five carries two bands.
Phase
W1
W2
W3
W4
W5
W6
- DiscoveryW1
- BuildW2 – W3
- EvaluateW4 – W5
- Pilot & LaunchW5 – W6
Week focus
W1Recovery workflow discovery, clause mapping and the automation boundary
W2Ledger and lease integration and the pool-assembly baseline
W3Reconciliation workflow, confidence logic and approval controls
W4Evaluation suite, clause-citation checks and failure-mode testing
W5Billing integration, pilot tenants and targeted corrections
W6One reconciliation season run under the asset manager, then Agent Care handover
- Reading the band
- A bar covers the weeks its work is named in, and nothing else. The week 5 overlap is real, not padding.
- At the end of W6
- Once the season clears, Agent Care takes over the running agent.
- Duration
- Six-week plan shown · typical delivery 4–6 weeks depending on scope confirmed in discovery.
Next step · Real Estate AI agent
Build a reconciliation agent around the clauses your own leases set.
Show us the leases, the ledger and the clocks each clause sets. Your asset manager is the person who signs the statement and then defends it to a tenant auditor holding the invoices. Underwriting reads an operating statement to price a building; this builds one a tenant can audit — and we found no error statistic for this workflow with a published sample, method or date, so the case is the contract, line by line.
- Typical delivery
- 4–6 weeks
- Deployment
- Your leases and ledger
- Manager issues
- Pre-issuance
- After launch
- Agent Care available
Nestack Agents · Expense recovery
AGT-RE-20 · Agent Care available after launch
