Skip to main content

Comparing versions

What this page is — finding exactly what changed between two versions of a document, whether the other side sent it back or a colleague edited it.

What it is for — so a returned document is reviewed for what changed, not re-read from page one.

The problem it solves — the other side's "few small tweaks" are found by reading forty pages, and the one that reverses a liability is the one missed.

Route: the Version history panel on /org/papers/documents/<document> · Permission: View this project's documents.


1. What it is​

Every meaningful moment in a document's life creates an immutable version. A version is a snapshot of the content blocks and field values. Comparing two versions can be done two ways, and they answer different questions:

Version history diffVersion diff (AI)
ReportsExactly which blocks and fields changed, with old and new valuesWhat the changes mean
CostFreeAI credits
Misses nothing textualYesNo — it summarises
Tells you a one-word change reverses liabilityNo — it shows the wordYes
Use it toCheck precisely, or evidence a changeTriage a long return quickly

Use both on an important return: the AI diff to find what matters, and the exact diff to confirm it.

Kinds of version​

KindCreated when
draftAuthor checkpoints, and a new draft after accepting a redline
finalizedThe document is sealed
counterparty roundThe counterparty sends it back from the portal
amendedAn amendment is sealed

2. Why you would use it​

  • "A few small tweaks" gets checked, not trusted. A forty-page agreement returned with an unmarked change to a notice period is the classic expensive miss.
  • Reviews take minutes instead of an afternoon. Reading ten changed blocks instead of forty pages keeps the review honest because it stays short.
  • Field changes are unambiguous. contract_value: 40000 → 45000 cannot be misread the way a changed paragraph can.
  • You can prove what was in force. Make effective records which version legally applies, and the verification page uses that record.

3. Step by step​

  1. Open the document's Version history panel. Versions are listed newest first, with kind, label, author and time. Changes made by automation show System — no signed-in user.
  2. Expand a version. Its diff against the previous version loads.
  3. Read the two sections:
    • Content blocks — each marked added, removed or modified, with from and to text.
    • Fields — each changed field with its old and new value.
  4. To keep a snapshot before risky edits, click Checkpoint and add a note. You will see "Checkpoint saved".
  5. To go back, Restore an earlier version. Restoring copies it forward as new content, so history is never rewritten.
  6. To record which version is legally in force, choose Make effective. As the confirmation says: "This records which version is currently in force. It does not change any content."

4. Field reference — the diff​

PartMatching ruleShows
Block changeBlocks matched by block id, recursing into nested blocksadded, removed or modified, with from and to text
Field changeFields matched by keyOld and new raw values; a field missing on one side shows as null
Header—The from and to version labels

What the matching rules mean in practice​

You didThe diff shows
Edited words inside a clauseOne modified block with old and new text
Deleted a clause and wrote a new one in its placeOne removed plus one added — not a modification
Moved a block to another section, keeping its idIts content is unchanged, so no text change is reported. Read the structure yourself if order matters
Changed a number field from 45000 to the text "45000"A change — values are compared exactly as stored
Cleared a fieldNew value null

5. Choosing which versions to compare​

QuestionCompare
What did the counterparty change this round?The latest counterparty round with the version you sent
What changed since legal approved it?Current with the version approval saw
What did the amendment change?amended with the original finalized
Which clause text applied on a given date?The version made effective at that date

Both tools compare adjacent versions only: the panel's expand action compares with the previous version, and the AI Version diff always compares current with immediately prior. To see everything since the version you sent three rounds ago, expand each round in turn. Or ask for each round to be diffed as it arrives, so changes never stack up unread.


6. Worked example​

Kestrel Foods returns Distribution Agreement DA-2026-012 as round 2, saying "minor clarifications".

  1. The owner expands counterparty round 2. The diff against v1.3, the version sent, shows:

    ChangeDetail
    Modified — clause 6.1"within 30 days of invoice" → "within 60 days of invoice"
    Modified — clause 14.2"either party may terminate" → "the Distributor may terminate"
    Fieldexclusivity_territory: "South India" → "India"
    AddedClause 14.5 Termination for convenience
  2. The AI version diff confirms clause 14.2 now gives only Kestrel a termination right. That is a material shift worded as a clarification.

  3. The owner runs Fairness / balance, which now leans towards Kestrel, and raises all four points in round 3.

  4. After signature, the owner makes the signed version effective. Old copies of v1.3 now show superseded when checked.


7. The admin contract​

What must be configuredOtherwise
Allows versioning on the type (on by default)No history accumulates to compare
Templates built from blocks with stable idsEdits appear as remove-and-add pairs
Structured fields for key commercial termsChanges to values are buried in paragraph text
AI enabled with credits, for the AI diffOnly the exact diff is available

8. Downstream​

  • Make effective decides what the verification page calls current. A copy of any other version reads as superseded.
  • Restores and checkpoints appear in Activity.
  • Rounds feed negotiation analytics.

9. Don't confuse this with…​

Redlines and roundsProposals not yet applied. A diff shows what was applied
Cross-document consistencyCompares different documents in a family
Preview and versionsThe author's view of versions while drafting

10. Troubleshooting​

SymptomCause
Only one version, nothing to expandVersioning is off on the type, or nothing has been checkpointed or sent
"Failed to compute diff"One of the versions could not be loaded — refresh; if it persists, the version may predate its type's current structure
A small edit shows as a whole clause removed and addedThe block was deleted and recreated, so its id changed
The diff is empty but the PDF looks differentOnly layout or branding changed — the diff compares content and fields
Verification says superseded for a version you consider currentAnother version was made effective