CAM reconciliation for Stiles — a Stiles Platform
Faster. Clearer. More trusted — with people still in charge.
Or, something else
Pick up any saved CAM reconciliation. Search by property or tenant name to filter the list.
One guided path from the rent roll to an approved reconciliation.
What the app means by the words it uses about leases and their documents.
Add a property to begin a CAM reconciliation.
Uploads, approvals and packets are desk work.
Pick a project, enter the year's actual expenses, and the app computes each tenant's share. You review, add a note, and approve — the app never finalizes on its own.
Add the Tenant Charges Report and General Ledger exported from accounting (Yardi, Sage, Kardin). The app reads them together with the Rent Roll from Step 1 and prefills the tenants, leased SF, billed estimates, and the year's expenses for you to review.
Export Excel (.xlsx) or CSV when you can — the figures are read exactly from the cells, the files are small, and there's nothing to compress. A PDF works too, but it's read by AI vision: larger to upload and worth double-checking. If a scanned PDF is oversized, re-export it or use your scanner's "reduce file size" — but keep the numbers crisp; heavy compression can make figures misread.
Reconciliation period:
Have last year's finished CAM reconciliation workbook? It already carries the tenant roster, what each tenant was billed, and the year's general ledger — so you can build from it instead of the reports above. The file is read in your browser and never uploaded. Every figure it fills in stays editable, and nothing is approved.
Your reports stay private. They're held in a private, access-controlled store under an anonymous key and used only to build this reconciliation — never shared or made public.
No rent roll yet? Build a working tenant roster straight from the leases you've already analyzed in the Lease Reader, and review each tenant and its CAM terms now. Leases won't show the full picture, though — there are no leases for vacant spaces. A stacking plan shows every space, so use one (even an outdated one) to fill the gaps and cross-check the roster for errors. Then lock the pro-rata denominator from the Rent Roll before you compute. (A lease-built roster omits vacant space, so the total leasable SF is provisional until the Rent Roll confirms it.)
Have a stacking plan? Upload it (Excel, CSV, or PDF) to see every space — occupied and vacant. Leases don't cover vacant space, so this fills the gap: review the full roster and, if a lease-built denominator is still provisional, use the stacking-plan total to lock it. A stacking plan can be outdated, so the Rent Roll stays authoritative — review the spaces before you lock.
Excel or CSV is read exactly from the cells — instant, no upload. A PDF or image floor diagram is read by AI vision (a minute or so) — confirm the figures, since a PDF can be mis-read.
Upload the Rent Roll — the app reads it to build the Tenant Roster — every tenant space and vacant space across the project — before you start uploading leases.
The Rent Roll is the authoritative tenant list and the pro-rata denominator. The app reads it and abstracts the tenant names into a roster — tenant spaces and vacant spaces — and reads the project name from it, so there's nothing to enter first. (Tenant Charges and the General Ledger come later, in Step 4.) Excel (.xlsx) or CSV is preferred — the figures are read straight from the cells, instantly and exactly. A PDF works too, but it's read by AI vision and takes longer.
Your reports stay private. They're held in a private, access-controlled store under an anonymous key and used only to build this roster — never shared or made public.
We read the project name from the Rent Roll — confirm it, correct it, or pick one you already manage. It groups all of this project's tenants together.
Upload each tenant's lease (and any amendments) from the roster — the app pulls out the CAM pool language for review.
A lease is one bundle — the lease plus everything filed with it. Add the commencement letter, a delivery letter, an estoppel, and every amendment or addendum alongside it (up to 10) — they’re read together, with the most recent controlling document overriding the base lease where they differ.
Starting from your leases? Upload them here — your roster builds from them, and you’ll lock the pro-rata denominator from the Rent Roll (Step 1) before computing. Or build the roster from the Rent Roll first.
Your documents stay private. They're held in a private, access-controlled store under an anonymous key — the filename is never recorded — and used only to analyze the CAM language for this review. They are never shared or made publicly visible.
Upload many leases at once. Stage a folder or a set of files, then say what each PDF is (lease, amendment, commencement letter…) and which tenant it belongs to — a tenant's documents become one lease, analyzed on our servers. Nothing uploads until you review the list and confirm.
Add the leases. Use any of these, as many times as you like — every pick adds to the list, so leases sitting in different folders (or different SharePoint sites) all end up in one batch. Nothing is uploaded until you review the list and confirm.
Several documents per lease — a lease with its commencement letter or amendments? Group by tenant reads them first and puts each tenant's documents into one lease for you to confirm. Exactly one PDF per lease? Skip straight to Review & confirm.
Every lease attached to a property, in one place — add an amendment, replace the abstracted lease, or fix a tenant's name, suite, or square footage. Nothing is re-analyzed until you ask.
Reads inside the lease documents themselves and opens the page it found.
Line up extracted leases side by side to spot where the CAM methodology diverges.
The reconciliation delivery deadline for each tenant's lease — the date the landlord must deliver the CAM statement (missing it can bar recovery) — pulled from every extracted lease and counted down from today, soonest first.
Occupancy and lease rollover across the project — a project can hold several buildings, and each is shown as its own stack. It builds itself from the leases you've already uploaded: every suite is a block, sized by leased area and colored by time to lease expiry. Drag the timeline to see who's rolling and when.
Build a rent roll straight from your lease documents — one step at a time, so there's less on screen at once. Add your leases, optionally attach a stacking plan and accounting reports, then generate the rent roll.
Upload lease PDFs to analyze now, or pick from leases you've already analyzed in the Lease Reader. Base rent, square footage, suites and dates are read from each lease.
Bought a property and inherited the seller’s completed CAM reconciliation? Upload their workbook and we’ll re-run the math independently, tie out the workbook’s own totals, and cross-check each tenant’s caps, base year, and gross-up against the leases — so you know whether it was reconciled correctly before you rely on it. Read-only; nothing is approved.
Upload the prior owner’s CAM reconciliation from an Excel
(.xlsx) workbook. It’s read privately in your browser. We check the math
to make sure it was calculated correctly. To see whether it followed the lease language, upload the
leases in the Lease Reader first.
Shown at the top of the exported findings report.
Your executed leases, abstracted into a searchable, cited database — with a portfolio risk score and prioritized findings. Every term links to its lease language, and nothing is treated as reviewed until you confirm it.
Leases
Select a lease to review its abstracted terms and citations.
Prioritized by severity and estimated financial impact. Acknowledge, resolve, or dismiss each as you work it.
Settings and back-office work that isn’t part of running a reconciliation.
Create a secure invite for an owner to accept the NDA and upload their leases. Nothing is analyzed automatically — you run extraction when you’re ready to review, and it lands in Lease Intelligence.
Create an intake invite
All-time, across every analyzed lease and accounting bundle.
Loading…
Calibrating what the app assumes. Reviewed periodically — when we change a behaviour, the answers about it come back for a second look.
The app never refuses to reconcile. When a number is missing it substitutes something sensible-looking and carries on, so a reconciliation with a gap in it looks exactly like a complete one. For each number below: when it’s missing, is what we do what you would do? Answers save as you go and are shared with the team.
What the lease library actually contains, and how much of it is solid enough to rely on. Read-only — nothing here changes a reconciliation.