
03 Sep 2026 Simplifying Enterprise Contract Review & Key Terms Extraction with AI
Companies across all sectors spend a great deal of time going through contracts to extract important information buried inside them. A large organisation can manage a sizeable number of contracts, each setting out specific commercial terms. To find the exact terms currently applicable, an analyst has to read the original contract, plus the subsequent amendments that may have added to, changed, or removed those terms; this takes time and effort.
In the case of one of our customers, a single contract and its amendments can take an analyst an hour or more to review carefully. Multiply that by a portfolio of thousands of contracts, and the workload becomes significant. The team knew this was exactly the kind of repetitive, document-heavy task where an AI-driven process could make a meaningful difference, as long as it could be trusted to get the details right.
Design
We designed a multi-layered solution based on the medallion architecture:
- Bronze stores the parsed content returned from each original PDF.
- Silver uses that parsed content to evaluate and extract the individual reimbursement terms for each document.
- Gold reconciles the base contract with all of its amendments into a single view. If an amendment introduces a reimbursement term that wasn’t in the base contract, that term now applies. If a term existed in the base contract but a later amendment explicitly removes or excludes it, it no longer applies. The Gold layer therefore provides the most up-to-date, amendment-aware view for each contract.
- On top of Gold, we added a chatbot so that business users can ask questions instead of navigating tables.
Figure 1. Solution Design Diagram
Solution Overview
On the technical side, both Databricks and Snowflake provide integrated AI functions that handle much of the document parsing and key term extraction.
The pipeline starts when source files (PDFs) are uploaded to a Databricks Volume or a Snowflake Stage, depending on the platform. In Databricks, new files can be detected and ingested incrementally using Auto Loader, while the document content is extracted using ai_parse_document. In Snowflake, documents stored in a Stage can be processed using AI_PARSE_DOCUMENT. In both cases, the parsed content is stored in the Bronze table.
For key term extraction, we defined a single prompt containing the list of reimbursement terms provided by the business team, along with instructions on how to evaluate them. The prompt is run against each document using ai_query in Databricks or AI_COMPLETE in Snowflake, calling a Claude Sonnet model. The results are stored in Silver as one row per key term per file, so a single document with 27 terms, for instance, produces 27 rows, each with its own value.
Gold then builds two tables from that Silver data:
- A history table that pivots the key term rows so that each term becomes its own column, with one row per file, providing a clean, per-document snapshot.
- A summary table that reconciles the base contract and its amendments following the logic described above, producing one row per contract, with columns representing the current key terms that apply to the contract.
We keep source metadata for both tables alongside every key term value, including the page and paragraph where the relevant evidence was found.
AI Layer
The key to our solution was to ensure that the AI behaved in a controlled and predictable way, rather than simply asking a model to read each contract and decide what information might be relevant. The business had already defined the terms that analysts needed to identify, so we translated that knowledge into a clear set of instructions describing what each term meant and how it should be evaluated.
For every key term, the model was asked to return a structured output containing not only the extracted value, but also an explanation for the decision, its location in the source document, and a confidence score. This additional context makes each extracted value easier to verify: a business user can understand why the AI reached its conclusion and quickly trace the supporting evidence back to the relevant part of the contract, instead of treating the model as a black box. The confidence score can then be used to filter the results or identify cases that deserve additional attention, creating a natural path towards a human-in-the-loop process.
Overall, this approach has several advantages compared with just asking an AI model to analyse a document and return whatever it considers relevant:
- Consistency: The model evaluates the same predefined key terms using the same instructions across every document.
- Traceability: Every extracted value can be linked back to the relevant location in the source document, together with the basis for the decision.
- Structured outputs: A predefined output structure keeps the AI focused on the information the business actually needs and makes the results easier to process.
- Confidence-based review: Confidence scores help to identify uncertain cases so they can be flagged or prioritised for human review.
- Business validation: Because the AI is instructed using the analysts’ own evaluation criteria, business users can more easily understand, review, and challenge its conclusions.
Our objective was not only to automate the extraction process, but to do so in a way that is transparent, auditable, and straightforward to validate.
Chatbot Overview
Built on top of both Gold tables, the chatbot lets business users ask questions in natural language about current contracts or individual files (base contracts and amendments), without writing a single query. Instead of developing the conversational layer from scratch, we can use native capabilities in either platform: the Genie Agent conversational interface in Databricks or Cortex Analyst for natural-language querying in Snowflake.
Examples of what it can answer include:
- “Which key terms are present in this contract?”
- “Why is this key term present?”
- “Which contracts have this key term?”
- “Where is this key term mentioned in the document?”
- “Did any amendment change this term compared with the original contract?”
- “How many contracts in the portfolio don’t address this term?”
Because every answer is linked to the relevant page and paragraph and includes supporting context, users can quickly verify the result rather than simply accepting the AI output.
Conclusion
The improvement in processing time for our customer was substantial: a single contract used to take an analyst about an hour to review, but now an entire batch of over 2,000 documents can be processed in around two hours, with key term extraction accuracy above 90% when compared with human-reviewed results. This represents a major shift in scale, moving the main constraint from analyst capacity to the throughput and cost of the automated pipeline.
The clear next step is to build a human-in-the-loop process that identifies ambiguous or low-confidence cases and routes them to business experts for review. This would maintain the speed and scale of the automated process whilst ensuring that the most difficult judgement calls remain subject to human evaluation.
If your organisation has similar document-heavy processes where analysts spend considerable time reviewing contracts, extracting key information, or reconciling changes, AI could help to reduce the manual workload whilst improving speed and consistency, so don’t hesitate to contact us!


