Legal & Procurement

Contract data extraction

Tavnit reads executed contracts and returns the terms that carry obligations — parties, effective and renewal dates, notice periods, payment terms, liability caps — as structured fields. The portfolio becomes a table you can query instead of a folder you have to read.

Why this is painful

Most organisations cannot answer basic questions about their own contracts. Which agreements auto-renew next quarter? What is our aggregate liability exposure? Which suppliers have 90-day notice periods? The answers exist, spread across hundreds of PDFs nobody has time to open.

The cost is not the reading — it is the renewals that pass unnoticed, and the terms that get discovered during a dispute rather than before one.

What to extract

FieldWhy it needs care
Parties and signing entitiesThe legal entity is often not the trading name, and both are worth capturing.
Effective and expiry datesThe pair that drives every renewal question you will want to ask later.
Auto-renewal and notice periodThe two fields that decide whether a renewal is a choice or a surprise.
Payment terms and amountsNet-30, milestones, escalators. Frequently in prose rather than a table.
Liability cap and indemnitiesUsually a clause, not a number. Worth extracting as text plus a parsed value where one exists.
Governing law and jurisdictionShort, easy to extract, and tedious to find manually across a portfolio.
Termination rightsFor convenience, for cause, and the notice each requires.

What makes contract analysis hard

The answer is in prose, not a field

An invoice puts the total in a box. A contract buries the notice period in the middle of a clause, sometimes in words rather than digits. Extraction hints let you tell the flow what the term means and where it tends to appear, rather than hoping a label matches.

Amendments change the answer

The operative terms are frequently in an amendment, not the original. Treat each document as its own run and keep the executed date as a field, so the current position is a query rather than an assumption about which file is newest.

Getting this wrong is expensive, so review is not optional

A misread renewal date is a contract you did not exit in time. This is a use case where review on every run is proportionate, and where the append-only audit trail matters as much as the extraction — you can show who confirmed a term and when.

How the pipeline handles it

  • Flows Extraction hints tell the AI what a term means, which matters far more here than on documents with labelled fields.
  • Human in the Loop Review on every run, with a permanent record of who confirmed each term.
  • Buckets Turns the portfolio into a queryable table — which agreements renew next quarter, sorted by notice period.
  • Cleaners Normalises date formats and can compute a notice deadline from an expiry date and notice period.

Common questions

Can it handle contracts with no consistent structure?
Yes — that is the normal case. There is no template to configure. You describe the terms you want and the flow locates them wherever they appear, which is why extraction hints matter more here than on structured documents.
What about amendments and side letters?
Process each as its own run with the executed date captured as a field. The current position then comes from querying your Bucket rather than from guessing which PDF is most recent.
Is the extracted data queryable?
Yes. Results land in a Bucket as typed columns, so you can filter, sort and chart across the whole portfolio without exporting anything.

Other document types

Try it on one document

Build a flow, send a real contract analysi through it, and see what comes back. Free credits to start.

Start free