Real Estate & Facilities

Lease agreement data extraction

Tavnit abstracts leases into structured records: parties, demised premises, term, rent and review dates, break clauses, service charge basis and repair obligations. A portfolio held as PDFs becomes a table where the next rent review is a filter rather than a reading exercise.

Why this is painful

Lease abstraction is a well-established manual job precisely because the answers are buried in drafting rather than printed in fields. Firms pay for it, repeatedly, and the resulting spreadsheet goes stale the moment a lease is varied.

The cost of not having it is specific and expensive: a missed break date, an unexercised option, a rent review that passed without challenge.

What to extract

FieldWhy it needs care
Landlord, tenant and guarantorLegal entities rather than trading names, and frequently varied by later deeds.
Demised premisesDescribed in prose and by plan reference, rarely as a clean address.
Term, commencement and expiryThe spine of every other date in the document.
Rent and review datesReview basis — open market, indexed, stepped — matters as much as the amount.
Break clauses and conditionsA break right with unmet conditions is not a break right. Extract both.
Service charge and repair obligationsWhere liability actually sits, and usually the longest clauses in the document.

What makes leases & property hard

Dates are defined, not stated

A lease rarely prints the break date. It says the tenant may break on the fifth anniversary of the term commencement, giving six months' notice. Extract the commencement, the anniversary and the notice period as fields, then let a formula Cleaner compute the actual deadline — which is the date you needed.

The operative document is often not the lease

Deeds of variation, licences to alter and side letters change the position, and the original lease still reads as though they do not exist. Process each as its own run with its date captured, so the current position is derived from the full set rather than from whichever PDF someone opened.

A conditional right read as unconditional is a liability

Break clauses are routinely conditional on vacant possession or rent being paid up to date. Capturing the right without the conditions produces a portfolio table that is confidently wrong, which is worse than no table. Extract conditions as their own field and review them.

How the pipeline handles it

  • Flows Extraction hints are essential here — the model needs to know what a break condition is, not just where to look.
  • Cleaners Computes review and break deadlines from commencement dates and notice periods.
  • Buckets The portfolio as a table: which leases break next year, sorted by notice deadline.
  • Human in the Loop Review every abstraction. The cost of a wrong date here is measured in years of rent.

Common questions

Can it compute break and review dates?
Yes. Extract the commencement date, the anniversary the right attaches to and the notice period, then a formula Cleaner derives the actual deadline — which is usually what you wanted rather than the clause itself.
What about deeds of variation?
Process each document as its own run with its date captured as a field. The current position then comes from querying the whole set rather than assuming the newest file is authoritative.
Does it capture the conditions attached to a break clause?
It should, and the page argues it must — a break right recorded without its conditions produces a portfolio table that reads as certain and is not. Extract conditions as their own field and review them.

Other document types

Try it on one document

Build a flow, send a real leases & property through it, and see what comes back. Free credits to start.

Start free