# How to compare two versions of a contract with AI and catch every change (with the page in each)

> Mention both versions, ask for the table of differences, and verify each change on its page. Works for renegotiated contracts, tender documents with addenda, thesis drafts and any document that has passed through several hands.

- Source: https://www.usebrainbox.com/en/blog/compare-two-contract-versions-with-ai
- Author: BrainBox Team
- Published: 2026-09-15
- Language: en
- Tags: legal, tenders, citations

## Summary

To compare two versions of a contract with AI without missing a change, the tool has to read both documents in full, not just passages, and cite the page in each version for every difference. In BrainBox you mention the two files with @, ask for the table of changes, and every row carries the citation to the page in the old version and in the new one. For long contracts, Full Context mode hands the whole documents to the model, and Agent mode can also run an exact text diff.

---
Comparing two versions of a contract by eye is the job where an expensive mistake slips in most easily: a notice period that went from 30 to 90 days on page 41, one word that turns "may" into "shall". An AI tool does this job well if it meets two conditions: it reads both documents in full, and for every change it tells you which page of each version it sits on.

> **Worth remembering**
>
> A difference without the page in both versions is a suspicion. With both pages it is a finding you can check in twenty seconds.

## What does an AI tool need to compare versions without skipping changes?

It has to read both versions completely. The semantic search a normal chat uses retrieves the passages most relevant to a question; for "what changed?" that is not enough, because the change may sit in a clause the search did not consider relevant. The model needs both full texts in front of it, or it has to walk the documents page by page.

It has to cite per version: termination, 30 days' notice in v1 (page 12), 90 days in v2 (page 14). Each half of the difference opens and gets checked on its own.

It has to be able to do both readings: the content reading, which detects that the liability cap went up even if the sentence was rewritten, and the exact-text reading, which detects a moved comma. The first is the model's job; the second is a diff, and the model has to be able to run one.

BrainBox is an AI workspace for documents that answers with citations to the exact page. In a comparison, every difference carries two citations: the page in the previous version and the page in the new one.

## How do you compare the two versions, step by step?

  - **Upload both versions to the same Box** With names that tell them apart: "Contract v1 2023.pdf" and "Contract v2 2025.pdf". They can be in different formats; the signed PDF and the DOCX draft compare the same way.
  - **Mention both with @ in the chat** Type @ and pick each file. With the mentions, the AI focuses the answer on those two documents and not on the rest of the Box.
  - **Pick the mode by size** For contracts up to a few dozen pages, Agent mode reads both documents with its tools. For long contracts, turn on Full Context: it hands the whole files to the model, up to around 900,000 tokens.
  - **Ask for a table with a fixed structure** For example: "Compare @v1 and @v2 clause by clause. Table with: clause, previous text, new text, impact. Cite the page in each version. At the end, list the clauses with no changes."
  - **If you need the exact text, ask for the diff** In Agent mode: "Run a text diff of the two versions and show me only the lines that change". The code interpreter returns the added and removed lines.
  - **Verify and save** Open each citation in both versions. Then ask it to save the table as a file in the Box or export the chat to PDF.

## What does the comparison look like?

A legal team compares the contract signed in 2023 with the renegotiated version that just arrived:

  **Usuario:** Compare @Contract v1 2023.pdf and @Contract v2 2025.pdf clause by clause. Table with clause, before, after and impact, with the page in each version. At the end, what did not change.
  **BrainBox:** I found four substantive changes across 38 clauses.

    | Clause | v1 (2023) | v2 (2025) | Impact |
    |---|---|---|---|
    | 8.1 Liability cap | USD 500,000[1] | USD 2,000,000[2] | Quadruples exposure |
    | 14.2 Termination | 30 days' notice[3] | 90 days' notice[4] | Slower exit |
    | 17 Intellectual property | Joint ownership[5] | Sole ownership by the client[6] | Loss of rights |
    | 21.3 Jurisdiction | Bogotá courts[7] | ICC arbitration, Paris[8] | Change of forum |

    Unchanged: clauses 1 to 7, 9 to 13, 15, 16, 18 to 20 and 22 to 38. Numbering shifts by one from clause 14 onward because v2 adds 14.3.

    
      1. Contract v1 2023.pdf - p. 9
      2. Contract v2 2025.pdf - p. 10
      3. Contract v1 2023.pdf - p. 12
      4. Contract v2 2025.pdf - p. 14
      5. Contract v1 2023.pdf - p. 16
      6. Contract v2 2025.pdf - p. 18
      7. Contract v1 2023.pdf - p. 21
      8. Contract v2 2025.pdf - p. 23
    

The "unchanged" list at the end weighs as much as the table: it is what lets you say you reviewed the whole contract and not only what the AI chose to show. Each footnote opens the document at that page, as in [any cited answer](/en/blog/how-to-verify-an-ai-answer-about-your-documents).

## Which mode should you use for which document?

| Situation | Recommended mode | Why |
|---|---|---|
| Contract up to 30 or 40 pages | Agent | Reads both with its tools and cites by page |
| Long contract or several annexes | Full Context | Hands over the full texts, up to ~900,000 tokens; nothing is left out for not being "relevant" |
| You need the exact text that changed | Agent + diff in the code interpreter | Compares line by line, without interpretation |
| Original tender document vs. several addenda | Agent, mentioning all of them | One column per version; ideal for tracking how a requirement evolved |
| Look up one specific term in both | Find Text | Finds the exact word and the page in each file |

> **Shifted numbering**
>
> When one version inserts a clause, every following clause changes number. A naive comparison flags 20 clauses as "changed" that only moved. Ask the AI to match by content, not by number, and to report the shifts separately, as in the example.

## What else is comparing versions with AI good for?

In tenders, the typical case is the original bid document against each addendum: addenda modify requirements you already read, and a change from "3 years of experience" to "5 years" in addendum 3 can disqualify you. With the three versions mentioned, the table shows which requirement changed and in which addendum.

In research, comparing January's thesis draft with March's returns which hypothesis, sample or method changed, so you can answer your advisor without rereading 180 pages.

In procurement and compliance, comparing the current policy with the proposed one produces the list of changes to take to the committee, with the page for each.

## How is this different from pasting both texts into ChatGPT?

| | Two texts pasted into a general chat | BrainBox |
|---|---|---|
| Size | Limited by what fits in the message | Full Context up to ~900,000 tokens |
| Scanned PDFs | Have to be transcribed first | Automatic OCR on upload |
| Citation per version | No pages | Page in each version for every difference |
| Exact diff | Manual | Code interpreter in Agent mode |
| Afterwards | The comparison is lost | Saved as a Box file or exported |

Tools like Word have a document compare feature that works well for two DOCX files with the same structure; it does not interpret the impact of a change or compare a scanned PDF with a Word draft.

For [legal teams](/en/solutions/legal), this is the review before signing any renegotiation; for [compliance](/en/solutions/compliance), it is how you document what changed between two versions of a policy.

![BrainBox chat comparing two versions of a contract: the user's message mentions both files with @, the answer shows a table of clauses with the previous and new text, each cell with its numbered citation, and the Footnotes list gives the page in each version](/blog/comparar-dos-versiones-de-un-contrato-con-ia/1.png)

{/* TODO capture 1: chat in a Box with two versions of a document (two versions of a test tender or contract are fine); message with both @ mentions visible; answer with a table of differences and Footnotes with pages from both files. If possible, the viewer open on one of the cited pages. No real customer data. Same capture as ES is fine if the UI is in English. */}

A 120-page contract in two versions fits whole in Full Context mode with room to spare: on the order of 150,000 tokens out of the 900,000 available.

## FAQ

### Does the AI compare the exact text or the meaning of the clauses?

Both, depending on what you ask. By default it compares content: it detects that the liability cap went from 500,000 to 2,000,000 even if the wording changed. If you need the exact text (an added word, a moved comma), in Agent mode it can run a text diff in the code interpreter and return the changed lines.

### Which formats can I compare?

Anything BrainBox indexes: PDF (including scans, via OCR), Word, PowerPoint, Excel, text and Markdown. The two versions need not share a format: you can compare the signed PDF with the DOCX draft.

### What if the contract is 200 pages?

Turn on Full Context mode. It hands the entire content of the selected files to the model (up to around 900,000 tokens) instead of searching for passages, so no change is left out for not being retrieved. It takes longer and costs more intelligence units, but that is what a full review calls for.

### How do I know nothing was missed?

Ask it to work by section (clause by clause or annex by annex) and to state explicitly which sections did not change. A list of 'unchanged' is as verifiable as a list of changes. And every difference carries its page in both versions, so checking means opening the two.

### Does it work for more than two versions?

Yes. You can mention three or more files and ask for how a clause evolved across versions, or compare the original tender document with each addendum. The resulting table has one column per version.

### Can I save the table of differences?

Yes. Ask the assistant to write it as a Markdown file in the Box, or export the chat to PDF, Markdown or HTML. In Agent mode it can also generate a designed Word or PDF document with the table.
