Most advice about AI at work is about saving time: summarize this thread, draft that email, clean up a slide. Useful, but hard to put a number on. There is one job where the result is a check, or a rent credit, and almost nobody gives it to their AI yet: checking what the landlord billed you.
If your business leases space in a shopping center or office building, your landlord sends a reconciliation every year that trues up what you paid in estimated common area maintenance (CAM), real estate taxes and insurance against actual costs. Industry estimates put a material error in roughly 4 in 10 of these statements. Most are never caught, because checking one means reading a long lease against a spreadsheet, and the window to object usually closes 90 to 180 days after the statement arrives.
Long documents, precise rules, simple arithmetic, a hard deadline and real money: that is close to the ideal job for a language model, as long as you set it up so it cannot bluff. This is the method we use, written so you can run it yourself in ChatGPT or Claude this afternoon.
- Give the AI the whole lease first and have it pull the terms, with quotes, before it sees the bill.
- Let it judge each line against those terms, but never let it do the final arithmetic.
- Make it prove every quote word for word, then send a letter before the window closes.
What you need before you start
- The full lease, with every amendment. Amendments often change the share, the cap or the fee, and the latest one wins.
- The reconciliation itself, ideally with the expense detail or general ledger behind it. Most leases give you the right to ask for that backup.
- Last year's reconciliation, so jumps stand out.
- A ChatGPT or Claude plan that accepts file uploads. Text-based PDFs work best. If your lease is a scan, check a few numbers by hand first, because reading errors in scans tend to hit digits.
- ExtractPull the terms, with quotes
- CheckJudge every line against them
- CalculateDo the math outside the chat
- VerifyProve every quote
- SendLetter before the deadline
Step oneHave the AI pull the terms that control the math
The most common mistake is uploading the statement and asking "is this right?" The model then judges each line against what leases usually say, not what yours says. Separate the reading from the judging: start a new chat, attach only the lease, and ask for the terms.
You are helping me check my landlord's CAM reconciliation. Attached is my full lease, including every amendment. Read the whole document, then put each of these terms in a table with three columns: the term, what the lease says in plain English, and the exact quote with its section number and page. - My pro-rata share, and exactly how the denominator is defined - Any cap on increases in CAM or controllable costs, and whether it is cumulative - The administrative or management fee: the rate, and which costs it may be charged on - Every category of cost the lease excludes from CAM or operating expenses - Gross-up rules, if any - How long I have to object to or audit a statement, and how notice must be given If an amendment changes a term, use the amended version and name the amendment. If a term is not in the lease, write NOT FOUND. Do not guess or fill gaps with what leases usually say.
You should get a table of six rows, each with a quote. Read it once against the lease yourself. This is the foundation for everything that follows, and ten minutes here saves you from a letter built on the wrong share.
If you want to know what each of these terms means and where it usually hides, our guide on how to audit a CAM reconciliation walks through them one by one.
Step twoCheck every line of the statement against those terms
Now attach the reconciliation in the same chat, so the model works from the table it just built.
Attached is the landlord's reconciliation for [year], and last year's for comparison. Using only the lease terms in your table, go through the statement line by line and flag: - costs the lease excludes (for example capital repairs or replacements, legal fees in disputes with tenants, marketing) - a pro-rata share or denominator that does not match the lease - an admin or management fee charged at the wrong rate, or on costs it may not apply to - controllable costs that rose faster than the cap allows - any line that rose more than 15% from last year (mark it "ask for backup", do not assume it is wrong) Do not calculate dollar amounts yet. Give me a table: statement line, amount billed, issue, lease section.
Expect a mix of clear findings and "ask for backup" items. The clear ones usually fall into a handful of patterns: a share computed on the wrong denominator, capital work billed as repairs, an admin fee on costs the lease excludes from its base, and costs the lease excludes outright. Our list of the most common CAM overcharges covers what each looks like on a statement.
Step threeDo the arithmetic outside the chat
Language models are good at deciding which numbers belong in a calculation and unreliable at doing it, especially across several steps with percentages. A wrong total in a dispute letter hands the landlord an easy reason to dismiss the whole thing. So ask for formulas, not answers.
For each finding in your table, write the formula that gives my overcharge, using only numbers that appear in the statement or the lease. For example: expense pool x (billed share - lease share). Show each number and say exactly where it comes from (statement line or lease section). Do not compute the result. I will do the arithmetic in a spreadsheet.
Paste the formulas into a spreadsheet. Here is what three findings look like on our sample report, a retail lease with a 2.5% share:
Riverside Commons, Suite 104
Operating expense reconciliation, year ending June 30, 2026 (sample lease and statement)
- Pro-rata share inflated$484,500 pool x (3.000% billed - 2.500% per lease)
- $2,422.50
- Parking lot resurfacing billed as maintenance$84,000.00 capital work x 2.500% share
- $2,100.00
- Admin fee at the wrong rate, on the wrong base$2,180.25 billed - ($176,800 - $8,240) x 2.500% x 10% allowed
- $1,758.85
The landlord billed a 3.000% share because it divided by the leased area instead of the center's total area, which the lease names as the denominator. The resurfacing is excluded word for word as a capital cost. The fee was charged at 15% on the whole pool, where the lease allows 10% and keeps taxes, insurance and utilities out of the base. Three more smaller findings bring the sample total to $7,034.85.
Step fourMake it prove every quote
General chatbots will sometimes produce a clause that sounds exactly like your lease and is not in it, or blend two sections into one convincing sentence. In a chat that is a curiosity. In a letter to your landlord it is a credibility problem.
One misquoted clause and the landlord stops trusting every other line in your letter.
For every finding, give me the exact sentence from the lease that supports it, copied character for character, with the page number. If you cannot find an exact sentence that supports a finding, write UNSUPPORTED next to it and remove it from the list. Do not paraphrase a quote and do not combine sentences from different sections.
Then search the PDF for each quote yourself (Ctrl+F or Cmd+F works on text PDFs). It takes a few minutes and it is the step that makes the rest defensible.
Step fiveTurn the findings into a letter, and watch the date
With verified findings and your own arithmetic, the letter is the easy part.
Draft a short, courteous objection letter from me to my landlord. Include: - the property, suite and the statement's date - a sentence saying we object to the reconciliation within the time allowed by Section [x] of the lease - a numbered schedule of each finding: the lease section, the quote, the calculation and the amount - a request for a corrected statement and a credit or refund within 30 days - a request for the invoices behind the lines marked "ask for backup" Keep it firm and factual. No accusations, no legal threats, no adjectives.
Send it the way the lease's notice clause requires, usually by certified mail or courier to a specific address, and keep proof of delivery. Our guide on how to dispute CAM charges has a full letter template, and CAM audit rights and objection windows explains what happens if you miss the date. Put the deadline in your calendar the day the statement arrives; a chatbot will not remind you.
Where general chatbots get CAM audits wrong
None of this means AI is the wrong tool. It means a chat window is missing a few guardrails you have to add by hand.
| Problem | What happens | How to guard against it |
|---|---|---|
| Arithmetic | Percent of the wrong base, rounding drift, double counting two findings on the same dollars | Formulas only, totals in a spreadsheet, one finding per dollar |
| Quotes | Plausible clauses that are paraphrased, merged or invented | Character for character quotes with page numbers, then search the PDF |
| Amendments | The original term is applied after an amendment changed it | Upload every amendment and ask which document each term comes from |
| Scanned PDFs | Misread digits in shares, square footage and totals | Check the key numbers against the paper copy |
| Long leases | Sections past the model's working limit are skimmed or skipped | Ask it to list the section headings it read, and check the exclusions article is there |
| Deadlines | Nothing tracks the objection window once the chat ends | Calendar the deadline from Step 1, with a reminder two weeks before |
The shortcut: run it from inside ChatGPT or Claude
We built Tenantback because we kept running this method by hand. It does the same five steps with the guardrails built in: the model reads the lease and the statement, code computes every dollar, every quote is checked against the page it came from, and nothing reaches your landlord until you approve the letter. It then follows up with the landlord and tracks the window for you.
You can use it without leaving your assistant. In ChatGPT or Claude, add a custom connector (MCP) with this address, no key needed:
https://tenantback.com/mcp
Then attach the two PDFs and ask: "Is my landlord overcharging me on CAM?" Or skip the assistant entirely and forward both files to audit@tenantback.com. The audit is free; if you then recover money through Tenantback, the fee is a share of what actually comes back, and nothing otherwise. Here is what the report looks like.
Five more places AI can get your business money back
The same pattern works anywhere a counterparty bills you against a document you signed: give the AI the agreement first, then the bill, and make it cite and show its work.
- Property tax assessments. Have it compare your assessed value with the comparable properties listed on the assessor's site, and note the appeal deadline. In a triple net lease, a lower assessment flows through to your share.
- Vendor invoices against contract pricing. Upload the price schedule and a quarter of invoices; ask for every line billed above the agreed rate.
- Utility bills. Ask it to check the rate class, estimated reads and any charges that do not match the tariff for your account type.
- Card processing statements. Have it list every fee type and rate month by month, and flag anything that changed without notice.
- Software subscriptions. Give it a list of seats and licenses with last login dates; ask which to cut before the next renewal.
In every case the rules from this article hold: terms first, formulas instead of answers, quotes you can find, and a calendar date for the deadline.
Questions
Is it safe to upload my lease to ChatGPT or Claude?
A lease is a confidential business document. Use a business or team plan, or turn off model training in your data controls, and remove anything you would not want stored. Provider policies change, so read the current one before uploading.
Can ChatGPT replace a lease auditor?
It is good at reading a lease and flagging issues. On its own it is unreliable at multi-step arithmetic and exact quotes, it does not track deadlines, and it will not negotiate with the landlord. Use the guardrails in this article, and have the numbers checked when the amount matters.
How long does this take?
With the prompts above, usually an hour or two for one lease and one statement. Most of that time goes into checking quotes and the spreadsheet, which is the part worth doing carefully.
Will my landlord know I used AI?
The letter comes from you. What matters to a landlord is that every item cites the lease section, quotes it accurately and shows the arithmetic. Documented claims tend to get resolved faster than general complaints.

