Contract data extraction

docRefinery pulls the facts legal and commercial teams track out of agreements: parties, effective and expiry dates, renewal and notice periods, payment terms, liability caps and governing law. It works best on contracts written on repeated paper, such as your own templates or a counterparty's MSA and its order forms. Bespoke negotiated agreements are a weaker fit, and this page says why.

Updated

What contract data extraction is for

Contract extraction builds the register a team should have and usually does not: every agreement with its parties, dates, renewal terms and key commercial values in one table. That register drives the renewal calendar and answers questions like which suppliers can change their prices on 90 days' notice. docRefinery fills it with values and citations to the pages they came from. It does not give legal advice, score clause risk or redline drafts.

What goes into the contract register

Contract documents and the fields teams extract from them
DocumentFields teams need
Master services agreementParties, effective date, initial term, renewal mechanism, notice period, payment terms, liability cap, governing law, assignment and change-of-control clauses
Order formCustomer, order number, the agreement it sits under, products or services, quantities, fees, start and end dates
AmendmentAgreement amended, amendment date, clauses changed, new values
Non-disclosure agreementParties, mutual or one-way, effective date, term, confidentiality period, governing law
Statement of workDeliverables, milestones, fees, acceptance terms, dates
Employment contractEmployer, employee, start date, role, salary, notice period

Employment contracts are in the 20-type catalogue. MSAs, order forms, amendments, NDAs and statements of work are set up as a workflow or a custom type, trained at no charge.

Your paper, and your largest suppliers' paper

A counterparty's paper is their paper. Your sales team's order forms come off one template; a large supplier sends every customer the same MSA; amendments are usually drafted on a standard form. Once one of those templates is learned, every agreement on it follows, and values sit where the template puts them. A team that mostly signs on its own paper or a few major suppliers' paper has exactly the repetition docRefinery depends on.

Bespoke agreements get no head start

A bespoke agreement drafted from scratch is not a repeating layout. docRefinery still extracts it, and long agreements are segmented so schedules and exhibits are read as their own documents. But every bespoke contract is a first sight, so memory gives no advantage. What remains is governance: your organisation decides which fields may be extracted, so the register is consistent from one contract to the next, and by default every value carries a confidence it had to earn. If most of your contracts are one-off, weigh that before you buy. Comparing tools for that case is what compare is for.

Values that need a lawyer's eye

Contract values are often not simple. A liability cap may be written as fees paid in the twelve months before a claim; a renewal may be automatic unless notice is given 60 days before the end of the term. docRefinery returns these as the text printed, with the clause's location, rather than inventing a number. Set strict confidence thresholds on dates and notice periods, and anything below them goes to a reviewer, who sees the source page beside the value and corrects it. Every change is kept on the run. A field the agreement does not contain, such as an NDA with no governing law clause, comes back null. A gap in the register is a finding in itself.

What a contract register gains

A register is only useful if every row means the same thing. These strengths serve that aim, and most of them don't depend on layouts repeating.

  • Long agreements. An MSA with schedules and exhibits is segmented, and the whole file is read rather than its first pages.
  • Register columns you name. A Return as alias sets each output key, so a notice period comes back as notice_days_text or whatever your register calls it.
  • Plain-language field instructions. Each field states what to extract, so "the notice period for non-renewal" means the same across every agreement.
  • One format for every agreement type, so an NDA and an order form fill the same register without separate parsing.
  • Fee tables as rows, for order forms and statements of work.
  • Citations behind the entries. A page and box take a lawyer straight to the clause.
  • Types of your own. MSAs and NDAs become custom types, trained, hosted and re-trained at no charge, and a workflow starts from one sample of your template.
  • Confidential paper stays put. Enterprise runs in a private VPC or fully air-gapped on premises, a deployment capability rather than a compliance certificate.

Filling the register from the API

Files are accepted as PDF, PNG, JPEG or TIFF up to 100 MB, plus spreadsheets (.xlsx, .ods, .csv) on the API where enabled, so agreements kept as Word files need converting to PDF first. Your code writes each agreement's fields to the register (quickstart), or someone exports a CSV with one row per agreement, headed with your own field names. There are no webhooks and no contract-management connector today; integrations are in design on the roadmap. Workflow rules can check values within one agreement, such as an expiry date falling after the effective date.

Legal work it will not do

  • Most of your agreements are bespoke and negotiated, so layouts rarely repeat.
  • You need clause risk analysis, playbook checks or redlining. docRefinery extracts values; it does not review drafts.
  • You want to search or ask questions across a whole contract archive. docRefinery is not a retrieval pipeline today; one is planned on the roadmap.
  • Your contracts live in Word and you will not convert them to PDF.

Common questions

What contract data can docRefinery extract?

Parties, effective and expiry dates, initial term, renewal mechanism, notice periods, payment terms, liability caps, governing law, and assignment and change-of-control clauses, plus order form fees and quantities. Values come with a confidence score and a citation to the page they were read from. Fields an agreement does not contain come back null.

Does docRefinery work on bespoke negotiated contracts?

It extracts them, but they are its weakest fit. Layout memory depends on repetition, as with your own templates or a counterparty's standard MSA, and a bespoke agreement is always a first sight. What remains is still useful: a governed field set, your Return as column names, one output format, segmentation of long files, per-field confidence and page citations on extracted values.

Does docRefinery give legal advice or score contract risk?

No. docRefinery extracts the values written in an agreement and shows where each was found. Interpreting clauses, scoring risk and redlining stay with your lawyers. Complex values like a formula-based liability cap come back as the printed text for a person to read.

Related

Bring the documents your team handles.

Upload a real file and see each field with its confidence score, ready to check.

100 pages a month free. No credit card, no sales call.