All solutions

Solutions

A lease portfolio you can query, not just file

Master leases, amendments, supplementary agreements and renewals read end to end, mapped to your schema field by field, and reconciled against the records you already hold — with anything the agreement does not state marked as not stated rather than guessed.

Scanned and native PDFsRent schedules from the termsField-level audit trail

~3,000

Lease agreements in scope

Master leases, amendments, supplementary agreements and renewals across a national retail chain.

90–95%

Extracted with no manual touch

The remainder is routed to a reviewer with the source page open beside the extracted field.

Minutes

Per agreement, end to end

From the document arriving to reconciled fields waiting for approval.

Contracts & documents
RetailReal estateOCR & extractionERP write-backAudit trail
01

The challenge

A national retail chain held around 3,000 lease documents — master leases, amendments, supplementary agreements and renewals — and a large share of them were scans rather than native PDFs. The structured records meant to represent that portfolio were incomplete and inconsistent: rent, escalation, term, security deposit and renewal options were missing in some records and wrong in others. Everything downstream inherited those gaps. Rent schedules were re-keyed from summaries rather than derived from the agreements, expiry planning ran off dates nobody could trace back to a clause, and answering a question about the portfolio meant opening documents one at a time.

02

What we built

A pipeline that reads every agreement, classifies it as a master lease, an amendment or a renewal, links it to the store it belongs to, and maps it to the target schema field by field. Month-by-month rent schedules are computed from the lease terms themselves, with compound escalation and partial-month handling rather than a flat annual figure. Reviewers work in a split-screen view — the source document on one side, the extracted fields on the other — so a value is confirmed against the page it came from, and approved values are written back through the API.

03

The result

The portfolio becomes queryable rather than merely filed. Rent schedules derive from the agreements instead of re-keyed summaries, mismatches against the existing records surface field by field rather than as a vague sense that the data is unreliable, and anything a lease does not state is marked not stated rather than guessed. Every write-back carries an audit trail back to the document, the page and the reviewer who approved it.

Process

How it works

Four stages. Each one hands the next a record that is more structured than the one it received, and every value keeps a pointer back to the page it came from.

  1. 01

    Ingest & classify

    Every document in the portfolio is read and classified as a master lease, an amendment, a supplementary agreement or a renewal, then linked to the store it belongs to. An amendment is only meaningful against the agreement it amends, so the link is established before anything is extracted.

  2. 02

    Extract

    OCR handles the scanned pages; the schema mapping handles the rest. Dates are parsed into a single format, amounts are standardised across the different ways an agreement can express them, and landlords are resolved to a single party — including co-owned properties, where one lease names several owners with a share each.

  3. 03

    Compute

    Rent schedules are computed month by month from the terms rather than copied from a summary: compound escalation applied on the anniversary the lease actually specifies, partial months prorated, and rent that commences later than the lease start handled as its own case instead of being averaged away.

  4. 04

    Reconcile & write back

    Extracted values are compared field by field against the existing records. Matches pass. Mismatches go to a reviewer with the source page open beside them, so the decision is made against the agreement rather than against a spreadsheet. Approved values are written back through the API with a full audit log.

What it does

Inside the solution

Scanned pages, not just native PDFs

A large share of a long-lived lease portfolio is scans, photocopies of scans and pages signed by hand. OCR runs where the text layer is missing, and the confidence on each extracted field travels with it, so a low-confidence value is reviewed rather than trusted.

Document classification and linking

Master lease, amendment, supplementary agreement or renewal, linked to the store and to the agreement it modifies. The chain matters: the rent in force is the rent after the last amendment, not the rent in the original document.

Field-by-field schema mapping

Rent, escalation, term, lock-in, notice period, security deposit and renewal options mapped into the target schema rather than left as extracted text, so the portfolio can be queried as data.

Date parsing and amount standardisation

Agreements written over many years express dates and amounts in many ways. Both are normalised on the way in, so a comparison between two leases is a comparison of values rather than of formats.

Landlord resolution, including co-ownership

Where a property is co-owned, one lease names several landlords with a share each, and payments split accordingly. The parties are resolved and the shares carried through to the schedule rather than collapsed into a single name.

Computed rent schedules

Month-by-month schedules derived from the lease terms, with compound escalation, partial months and a rent commencement date later than the lease start all handled explicitly.

Not stated, never guessed

Where an agreement is silent on a field, the record says so. A blank that means the lease does not state it is a different fact from a blank that means nobody has looked, and the two are never merged.

Split-screen review and write-back

Reviewers see the source document and the extracted fields side by side, resolve mismatches against the page, and approve. Approved values are written back through the API, and every write carries the document, the field and the approver.

DESIGN PRINCIPLE

The hard part is not reading the document

Extraction is the visible part of the work and the smaller part of the problem. What makes a lease portfolio hard is that the answer to a question is spread across several documents, expressed inconsistently, and sometimes absent altogether.

The current term lives in the amendments
A master lease from a decade ago is rarely the agreement in force. Reading it alone gives a confident, wrong answer, so the chain of amendments and renewals is resolved before any figure is treated as current.
Escalation is a rule, not a number
A percentage on an anniversary, compounding, is a different schedule from the same percentage applied flat — and the difference grows every year. Schedules are computed from the rule the lease states rather than from a single headline figure.
A mismatch is a question, not a correction
Where an extracted value disagrees with the existing record, neither is assumed right. The pair is put in front of a reviewer with the source page, and the resolution — whichever way it goes — is recorded.

Questions

Frequently asked

Does this work on scanned leases, or only native PDFs?
Both. A portfolio built up over years is largely scans, so OCR is part of the standard path rather than an add-on. Where a page is poor enough that confidence drops, the field is routed to a reviewer with that page open rather than being filled in with a best guess.
What happens when an agreement does not state something?
The field is marked as not stated. That is deliberately different from an empty field, which means nobody has looked yet. Guessing a security deposit or a notice period because most leases have one is how a portfolio becomes confidently wrong, and it is the one thing this pipeline will not do.
How are amendments and renewals handled?
Each document is classified and linked to the agreement it modifies, and the terms in force are resolved along that chain. A rent figure is only reported as current once the amendments after it have been read.
Do the rent schedules replace what we already have?
Not automatically. Computed schedules are reconciled against your existing records field by field, and the differences are shown to a reviewer against the source page. Nothing is written back until it is approved, and every write-back is logged.
Can this run against our own document store and lease system?
Yes. Documents are read from where they already sit and approved values are written back through the API of the system of record, under your access controls. There is no separate lease database to keep in step.
Is this only for retail property?
It was built on a retail estate, where the volume and the amendment chains are hardest, but nothing in it is retail-specific. Any organisation holding a few hundred leases or more with rent, escalation and renewal terms scattered across documents has the same problem.

Want the same outcome?

Send us a sample of your own agreements — scans included — and we will show you the extracted fields, the computed schedule and the mismatches against your current records before you commit to anything.

Last reviewed

Essential cookies are required for the site to function and cannot be switched off. Everything else is off until you switch it on, and you can change or withdraw your choice at any time from the Cookie settings link in the footer. The Cookie Policy lists the cookies we set and how long each one lasts.

No choice recorded yet