Forward-Deployed Engineering · Real estate · Lease administration
Case study: commercial leases, from scanned PDF to a tracked obligation
Illustrative engagement — not a client record. The company, people, volumes and results below are a representative composite, written to show how a forward-deployed engagement runs end to end. The workflow, the architecture, the controls and the method are real and technically valid.
Offering usedReadiness & Scoping SprintTwo weeks inside your systems; one workflow scoped in writing.
Illustrative results, first 90 days after cut-over, in-scope leases only:
94%
Leases with an approved, cited abstract in the property-management system
Before 0% (a stale spreadsheet)
1.3 hours
Median analyst time per lease, including amendments
Before 4.5 hours
99.4%
Critical-field accuracy of approved abstracts, weekly audit sample
Before not measured
100% of abstracted windows
Option and notice windows alerted at least 90 days before they open
Before not tracked
The whole story in about a minute
Nine short scenes, from a pile of scanned leases to the results. Press play, or pick a scene.
Room 01 / 09
Spreadsheet rows
Four lease analysts
2,300lease documents, more than half of them scans
14 assets · about 640 leases
Out of date
Every quarter
Rebuilt by hand
from a spreadsheet and PDFs
- Four lease analysts
- Out of date
- 01About 640 tenant leases
- 02More than half were scans
- 03Billing set up by hand
Room 01Before
The terms that move money were buried in PDFs.
2,300lease documents across fourteen assets
Fourteen assets, about 640 tenant leases and roughly 2,300 documents, more than half of them scans. Billing was set up by hand, and a tenant's break window was once found only after it closed.
Read chapter 1At a glance
- Client
- An owner and manager of office and retail assets, structured like a listed real-estate trust: fourteen assets, around 640 tenant leases, one central lease administration team
- Workflow
- Lease abstraction: read leases, amendments and side letters; reconcile them into the current position; load approved abstracts into the property-management system; build an obligations calendar; reconcile billed rent against abstracted escalations
- Engagement
- Readiness & Scoping Sprint (two weeks), then Integration & Data Onboarding (scoped per system: document store, property-management system, billing ledger)
- Team
- One named senior forward-deployed engineer, with a data engineer for the lease data model. Client side: the Head of Lease Administration (owner), four lease analysts, the property-management system administrator, a finance controller, in-house counsel, a security reviewer
- Where it runs
- The client's own cloud account and region. No data retained outside it
- Handover
- Runbooks executed by the client's engineer in the last two weeks; our access revoked at the gate
| Measure | Before | After |
|---|---|---|
| Leases with an approved, cited abstract in the property-management system | 0% (a stale spreadsheet) | 94% |
| Median analyst time per lease, including amendments | 4.5 hours | 1.3 hours |
| Critical-field accuracy of approved abstracts, weekly audit sample | not measured | 99.4% |
| Option and notice windows alerted at least 90 days before they open | not tracked | 100% of abstracted windows |
| Leases where billed rent differed from the abstracted escalation | unknown | 41 found, each with the clause cited |
FDE / 01Case study
01 / 12
In shortLease terms that set rent and dates sat in thousands of PDFs, and billing depended on memory.
The client owned and managed fourteen office and retail assets, about six million square feet between them. Around 640 tenants held leases, and most of those leases had changed since they were signed. Across the portfolio there were roughly 2,300 documents: leases and leave-and-licence agreements, amendments, addenda, side letters, and letters exercising or waiving options. More than half were scans. Some were scans of photocopies.
The lease terms that mattered were the ones that move money or dates:
base rent and the escalation, often a percentage every three years, and sometimes compounded "on the prevailing rent" rather than the original;
common-area maintenance charges, their basis and their cap;
lock-in periods, renewal options, break options and the notice periods that attach to each;
rent-free periods and fit-out contributions;
security deposits, their multiple of monthly rent and when they are reviewed;
use restrictions, exclusivity clauses in retail, signage and parking.
The cost showed up in three places:
Revenue. Billing was set up by hand in the ERP when a lease began. When an amendment changed an escalation, the billing change depended on someone remembering to make it.
Dates. A tenant's break window was once discovered after it had closed, by the tenant's lawyer rather than the asset manager. Renewal conversations started when a tenant raised them, not when the lease said.
Reporting. Finance needed lease terms, rent-free periods and escalations to recognise rental income on a straight-line basis under Ind AS 116, and for the handful of ground leases where the client was itself a lessee. Every quarter a controller rebuilt that schedule from the spreadsheet and a pile of PDFs.
FDE / 02Case study
02 / 12
In shortA spreadsheet abstraction had no citations and no owner, so it went stale and nobody trusted it.
Two years earlier, ahead of a financing, the client had paid an outsourced team to abstract every lease into a spreadsheet. The spreadsheet was good on the day it was delivered. It did not survive.
It had no citations. A value in the spreadsheet did not say which clause or page it came from. When an analyst doubted a value, she went back to the PDF and started again.
It flattened the amendments. Where an amendment changed a term, the spreadsheet held one of the two values, and did not say which document had won or why.
It never reached the system of record. The property-management system still held the terms keyed at lease start. Two sources disagreed, and neither was trusted.
Nobody owned keeping it current. New amendments were filed as PDFs. Within a year a fifth of the rows were out of date, and no one could say which fifth.
The abstraction had been treated as a document. The gap was an integration: cited data, reconciled across documents, in the system people already use, with an owner and a way to check it.
FDE / 03Case study
03 / 12
In shortTwo weeks with the analysts and the systems, ending in a signed one-page scope and a written precedence rule.
The engineer spent the first week with the lease analysts and two asset managers, and the second reading the document store, the property-management system and the billing ledger.
What was found:
FIG. 3.1- The property-management system had an approved import for lease terms, charges and critical dates, used when the client acquired an asset. It could be the write-back path, under the analysts' own approval rules.
- The billing ledger could be read from a reporting replica. It could not, and should not, be written to by anything but the billing team.
- The document store held what the analysts believed was every document. A sample of forty tenants suggested otherwise: six side letters existed only as email attachments. That finding went into the scope as a risk, not as an engineering task.
- Analysts disagreed about which document governs when an amendment and a later side letter both touch the same clause. There was no written rule.
The one-page scope, signed by the Head of Lease Administration:
- WorkflowOffice and retail leases across the fourteen assets: abstract, reconcile amendments, analyst approval, load to the property-management system, obligations calendar, rent reconciliation against the billing ledger
- SystemsThree, each scoped on its own: the document store (read), the property-management system (write through its import), the billing ledger (read from replica)
- Out of scopeCommon-area maintenance expense reconciliation, residential units, lease negotiation, accounting judgements such as whether an option is reasonably certain to be exercised
- MetricShare of in-scope leases with an approved abstract in the property-management system, at or above 99% accuracy on critical fields in the golden set
- OwnerHead of Lease Administration; the finance controller for the reconciliation outputs
- GuardrailsEvery abstracted value cites document, clause and page. A lease analyst approves every abstract before it is loaded. Conflicting amendments always go to a person. The system never changes a bill
- Exit gateShadow comparison on two assets, then all fourteen; runbook executed by the client's engineer in the last two weeks
Before signing, counsel wrote the precedence rule down: later signed documents govern the clauses they expressly amend; a side letter governs only if it is signed by both parties and refers to the lease; anything else is a conflict for a person. That half-page later settled more disagreements than the model did.
The engagement, stage by stage
Nine stages on one clock, from the old spreadsheet to ninety days after cut-over. Press play, or pick a stage.
Corridor09 doors
- Passed
- Here
- Ahead
01Before
The terms that move money were buried in PDFs.
Fourteen assets, about 640 tenant leases and roughly 2,300 documents, more than half of them scans. Billing was set up by hand, and a tenant's break window was once found only after it closed.
- About 640 tenant leases
- More than half were scans
- Billing set up by hand
01 / 09
2,300
lease documents across fourteen assets
FDE / 04Case study
04 / 12
In shortTwelve weeks, one system at a time, with a paused system not billed for waiting.
Integration & Data Onboarding is scoped per system rather than to a fixed calendar. This engagement's three systems ran in sequence over twelve weeks, the last two of which were handover.
W1Document store
What happened
Read access granted through the client's identity provider; repository created; first pull request merged in the first week
What existed at the end
Every lease document indexed with its folder permissions, a content hash and its tenant
What happened
Read access granted through the client's identity provider; repository created; first pull request merged in the first week
What existed at the end
Every lease document indexed with its folder permissions, a content hash and its tenant
What happened
Abstraction and citation running on real leases behind a flag. Golden set agreed with analysts. The page-number fault found (see section 6)
What existed at the end
A golden set of 180 leases with 3,900 approved fields, and an abstraction pipeline scored against it
What happened
Amendment chains, precedence rules, conflict queue and analyst review screen. The missing side-letter search ran in parallel, led by asset managers
What existed at the end
Current-position abstracts for two assets, every value cited
What happened
Import access requested in W1 was still not granted; the system was paused, as the scope provides, and the work moved to the obligations calendar
What existed at the end
A calendar and alert rules built against the data model, not yet loaded
What happened
Import access arrived; write-back of approved abstracts and critical dates; shadow comparison on two assets
What existed at the end
Approved abstracts loading for two assets, reversible in the system
What happened
Rent schedule computed from abstracted escalations and compared with billed rent; variance report for finance; rollout to all fourteen assets
What existed at the end
Every in-scope lease abstracted or in an analyst's queue; variance list with clauses cited
What happened
Handover & Enablement: runbooks, dry run by the client's engineer, keys rotated
What existed at the end
Signed runbooks, decision record, revoked access
The two weeks without import access were written down on the day they started and ended. No engineering time was billed against a system that could not be reached.
FDE / 05Case study
05 / 12
In shortA model proposes cited values, rules check them, and an analyst approves before anything is loaded.
Try a lease05 / 08
Pick a document. Watch where it goes.
The same system reads every lease document. What is in it decides whether it becomes an approved abstract or goes to a person.
08 / 08
Abstract approved and loaded
The term shows its full history, and every date it sets is on the obligations calendar.
Lease log01
- 01IntakeRead from the document store with its folder permissions
- 02Read pagesEvery page read; PDF page and printed page both recorded
- 03ClassifyTyped as an amendment, with its date and parties
- 04AbstractNew escalation proposed, with clause, page and quoted text
- 05ValidateEscalation dates fall inside the lease term
- 06Amendment chainLater signed document governs the clause it amends
- 07Analyst approvesAnalyst checks the cited text and approves
- 08LoadedWritten through the property system's import; alerts set
Lease status
- Bills changed by the system
- None
- Every value cites
- Document, clause, page
- Runs in
- The client's region
Abstract approved and loaded
Intake. Documents are read from the document store with their folder permissions and a content hash. Exact duplicates are caught at the door; near duplicates, such as a signed and an unsigned copy of the same amendment, are paired and shown to the analyst.
Read pages. A layout-aware document model reads each page, keeping tables, headings, clause numbers, stamps and signature blocks. It records two page numbers for every page: its position in the PDF and the page number printed on it.
Classify. Each document is typed as a lease, leave-and-licence agreement, amendment, addendum, side letter, option notice or other, and given its execution date and parties. An unsigned document is labelled unsigned and never governs anything.
Abstract with citations. A language model, reached through a private endpoint in the client's region with no data retention, fills a strict lease schema of about ninety fields. Every value carries the document, clause number, PDF page, printed page and the quoted text it came from. A value without a citation is not a value; it is shown as "not found".
Validate. Deterministic checks: rent schedules that add up, escalation dates that fall inside the lease term, notice periods shorter than the window they give notice of, deposits stated as a multiple of the rent they multiply, areas that agree with the asset's area register. A failed check sends the field to the analyst with the reason.
Amendment chain and precedence. A rules engine, not a model, orders the documents for each lease and applies counsel's precedence rule, clause by clause. The current position shows each term with its full history: original value, each change, and the document that made it. Where two documents change the same clause and the rule does not settle it, or where an amendment refers to a clause that does not exist, the lease goes to the conflict queue. The system never picks a side.
Analyst review and approval. The analyst sees the abstract beside the page images, with the cited text highlighted. She accepts, corrects or marks each critical field, then approves the abstract. Corrections are recorded and feed the golden set. Nothing reaches the property-management system without an analyst's approval under her own identity.
Load. Approved abstracts are written through the property-management system's import, as a service account with the same permissions as a lease analyst. Each load is reversible in that system in the usual way.
Obligations calendar. Rules compute every dated obligation from the approved abstract: lock-in expiry, break and renewal windows and the last day to serve notice, escalation dates, rent-free period ends, deposit reviews, insurance certificate renewals. Alerts go to the asset manager and the analyst at 180, 90 and 30 days, and each alert links to the cited clause.
Rent reconciliation. A rent schedule is computed from the approved escalation terms and compared, month by month, with what the billing ledger shows was invoiced. Differences above a threshold become a variance with the clause, the expected figure, the billed figure and the month it began. The report goes to finance. The system does not change a bill, raise a credit note or write to a tenant.
Where the decisions sit. A model reads and proposes values with their citations. Rules validate, order amendments and compute dates and schedules. A lease analyst approves every abstract; a person resolves every conflict; finance decides what to do with every variance.
Audit and monitoring. Every extraction, rule result, correction, approval and load goes to the client's log store with the model version. Dashboards show abstracts by status, conflicts waiting, alerts due and variances open. Thresholds page the client's engineer when the correction rate on critical fields rises above the agreed level.
How the pieces connect
Documents, systems, people and checks, lit one scene at a time. Press play, or pick an event.
Timeline
01 / 09 events
PausedOntologyLease abstractionLease pile
- DocumentRunbookssigned
- PersonClient engineer
- DatasetGolden set180 leases
- CheckCI gate99% critical fields
- DocumentOld spreadsheeta fifth out of date
- SystemDocument storeabout 2,300 documents
- ModelAbstraction modelcites every value
- ServiceRules engineprecedence
- PersonLease analystapproves
- SystemProperty systemimport
- CalendarObligations calendar180, 90, 30 days
- DocumentTenant leasesabout 640, 14 assets
- DocumentOne-page scopesigned
- QueueConflict queuea person decides
- ControlRollback flagtested week 8
- SystemBilling ledgerread only
- TeamLease analystsfour
- PersonCounselprecedence rule
- PersonFinance controllerdecides variances
- ReportVariance report41 leases
Zoom01:0301
Object
BeforeThe terms that move money were buried in PDFs.
Description
Fourteen assets, about 640 tenant leases and roughly 2,300 documents, more than half of them scans. Billing was set up by hand, and a tenant's break window was once found only after it closed.
Metric
2,300lease documents across fourteen assets
Properties
- 01.1
- About 640 tenant leases
- 01.2
- More than half were scans
- 01.3
- Billing set up by hand
Linked objects
- Document storeSystem
- Lease analystsTeam
FDE / 06Case study
06 / 12
In shortA golden set of 180 leases that every build must pass, citations included.
The golden set was built by the analysts, from leases they had already abstracted by hand and argued over.
180 leases, sampled across every asset, office and retail, clean digital documents and poor scans, short leases and leases with seven or more amendments.
3,900 approved fields, each with the citation an analyst agreed was correct.
Critical fields scored separately: rent, escalation basis and dates, lock-in, break and renewal options with their notice periods, deposit, term dates. These carried a 99% threshold; descriptive fields such as permitted use carried a lower one.
Citations scored as well as values. A correct rent with the wrong clause counts as wrong, because the analyst cannot check it.
A red-team slice: an unsigned amendment, a side letter that contradicts a later amendment, a compounded escalation written in words, a lease whose schedule and body disagree, and a page with a handwritten change initialled in the margin.
The suite runs in the client's CI and fails the build if any critical field or citation rate drops below its threshold.
- IF any critical field or citation rate drops below its thresholdBLOCKS
fails the build
The setback. In week three, the harness failed a build that looked harmless: re-scanned documents had been added to the store. The re-scans had a blank cover page, so every PDF page number was one off from the printed page. Values stayed right; citations went wrong for 300 leases at once. An analyst following a citation would have landed on the wrong page and lost trust in the system in an afternoon. The fix was to record both page numbers and to score citations against the printed page. The harness caught it before any analyst saw it.
FDE / 07Case study
07 / 12
In shortIt runs in the client's own cloud, sees only what each person could see, and never changes a bill.
Perimeter. Everything runs in the client's cloud account and region. Egress is limited to the private model endpoint, which retains nothing.
Access walls. Documents are indexed with the permissions of the folder they came from. An asset manager sees abstracts for her assets only, as she did before. Tenant commercial terms are confidential, and the retrieval index respects that.
Identity. The service account can import lease terms and critical dates to the property-management system, and nothing else. It cannot touch the billing ledger except to read. Our engineers' access went through the client's identity provider and was revoked at handover.
Can
- import lease terms and critical dates to the property-management system
Cannot
- touch the billing ledger except to read
Autonomy is bounded. The model proposes cited values; rules validate and compute; an analyst approves each abstract; a person decides every conflict; finance decides every variance. Accounting judgements, such as whether an extension option is reasonably certain to be exercised, stay with the finance controller. The abstract gives her the clause; it does not give her the answer.
Review. The security team reviewed the design in week two and the property-management write-back in week seven. Counsel reviewed the precedence rules and the conflict queue. Findings and how each was closed are in the decision record.
FDE / 08Case study
08 / 12
In shortSwitched on asset by asset after clean weeks, with a rollback flag that was never needed.
The shadow comparison was the gate. For two assets, the analysts' existing abstracts were compared, field by field, with the system's approved output. Disagreements went into three piles: the system was wrong, the old abstract was wrong, and the documents genuinely conflicted. The second pile was the largest. The third went to counsel.
For two assets
the system was wrong
the old abstract was wrong
the documents genuinely conflicted
went to counsel
Rollout went by asset, not by date: two assets, then six, then all fourteen. Each step needed a clean week of audit samples on critical fields. Rollback was a flag that stopped loads to the property-management system and returned leases to manual abstraction; loads already made could be reversed in that system. It was tested in week eight and not needed.
01two assets
02then six
03then all fourteen
EACH STEP · a clean week of audit samples on critical fields
The billing reconciliation went live last, and read-only from the start. The first variance report was walked through with the finance controller line by line before it was sent anywhere else.
FDE / 09Case study
09 / 12
In shortThe client's engineer proved they could extend, release and roll back the system before we left.
The engagement ended on the manifest, not on the calendar.
In the dry run, the client's engineer added a new document type (a licence for a telecom installation on a roof), extended the schema and the golden set, released it, and rolled it back, with our engineer in the room and off the keyboard. The runbooks were signed after that.
The story in nine numbers
One number for each scene, from 2,300 documents to 94% of leases with a cited abstract. Press play, or pick a number.
Terms
01 / 09Term 01Before
2,300
lease documents across fourteen assets
The terms that move money were buried in PDFs.
Fourteen assets, about 640 tenant leases and roughly 2,300 documents, more than half of them scans. Billing was set up by hand, and a tenant's break window was once found only after it closed.
- 01.1
- About 640 tenant leases
- 01.2
- More than half were scans
- 01.3
- Billing set up by hand
FDE / 10Case study
10 / 12
In shortMost leases now have a cited abstract, analysts spend far less time per lease, and rent differences surfaced.
Figures are illustrative, measured on in-scope leases over the first 90 days after cut-over.
94% of in-scope leases have an approved, cited abstract in the property-management system. The remainder are waiting on a conflict decision or a missing document.
BEFORE0%AFTER94%Median analyst time per lease fell from 4.5 hours to 1.3. The time moved from reading to checking.
99.4% accuracy on critical fields in the weekly audit sample, against a 99% threshold, with citations checked as well as values.
AFTER99.4%Every abstracted option and notice window alerted at least 90 days before it opened. None was missed in the period.
AFTER100%41 leases where billed rent differed from the abstracted escalation. Most were escalations not applied after an amendment; a few were over-billed. Finance decided each one. The system corrected none.
The analyst team was not reduced. One analyst now owns the conflict queue and works directly with counsel.
What did not improve, and was never promised:
FIG. 10.2Common-area maintenance reconciliation. The abstract now holds the CAM basis and cap for each lease, but pooling actual expenses and recovering them is still done in spreadsheets. It was out of scope.
Missing documents. Around one tenant in twelve still had a side letter or amendment that could not be found in the store. The system flags the gap; it cannot create the document. Asset managers are still searching.
Handwritten margin changes are read, but always sent to an analyst. That did not get faster.
FDE / 11Case study
11 / 12
In shortSix rules for anyone turning leases into data a team can trust.
- Write the precedence rule before abstracting anything.
Half a page from counsel settled more than any model.
- A value without a citation is not data.
It is what made analysts trust the output enough to approve it.
- Test the page numbers.
A citation that lands on the wrong page loses more trust than a wrong value.
- Count your documents before you count your fields.
The missing side letters were a search, not an engineering task.
- Keep billing read-only.
A variance a person decides is an improvement; a bill a system changes is an incident.
- Scope each system on its own.
When one system's access stalled, the others kept moving and nothing was charged for waiting.
FDE / 12Case study
12 / 12
In shortThe client extended it to a new asset themselves and came back for the next scope.
The client runs the system in-house. Two months after handover, their engineer extended it to a newly acquired asset of 38 leases, using the same harness and runbooks, and the analysts approved every abstract inside three weeks. The client came back for a separate scope on common-area maintenance reconciliation, which will read the approved CAM terms from the lease data model this engagement built.

