fundregtracker.
Last verified 2026-10-28

Side-letter obligation extraction

Can AI extract side-letter obligations into a register? Yes — this is a genuine AI-shaped job, turning prose promises into a structured register and lining up equivalent clauses for a most-favoured-nation comparison. No for the election itself: whether two differently-worded clauses are "the same term" is a legal call with money attached.

The pain
  • A fund closes with dozens of side letters, each granting a different investor different rights.
  • Every obligation has to be extracted into a register with its deadline.
  • Each new letter means re-running the most-favoured-nation comparison.
The rights differ by investor: fee terms, reporting frequencies, most-favoured-nation elections, notification triggers, co-invest rights. They must be honoured for the life of the fund, but they live as prose in separate signed PDFs. The most-favoured-nation re-run checks whether an earlier investor now qualifies for the better term.
What AI does todayExtract the obligations from each letter into a structured register — clause, investor, obligation type, trigger, deadline — and support the most-favoured-nation comparison by lining up equivalent clauses across letters for a human to decide who elects what. The extracted register can then feed a deadline calendar. The boundary: AI reads prose into structure; the interpretation of what a clause means, and the election, are legal work.
Proof it's realVendor-claimed. Specialist tooling built for exactly the most-favoured-nation election workflow is marketed as in production across managers by Ontra, whose contract-automation business is established in private markets. The claim and the client numbers are the vendor's own; law firms' internal use of legal AI on side letters is widely reported but rarely named per matter. Newest evidence: 2025.
What it can't doIt cannot make the legal call — that is where the human sits: fund counsel decides whether two differently-worded clauses are "the same term" for election purposes, because that judgment carries money. It also cannot be trusted on a clause it half-read — a missed carve-out or a misread threshold becomes a compliance breach that surfaces years later.
The real alternatives
  • The law firm's obligation matrix — the classic route: fund counsel abstracts every side letter into a compliance matrix at close. Accurate and defensible; expensive at hourly rates, and static — it decays as new letters are signed unless someone pays to refresh it.
  • An obligation-management platform (Ontra-class, tech plus lawyer review) — wins on ongoing elections and living registers across funds.
  • An in-house extraction on approved tools — where the group runs an internal LLM gateway, legal-ops teams increasingly do their own extraction into the compliance register; wins when confidentiality rules keep the letters inside the firewall.
  • A paralegal and an Excel register — the in-house baseline; fine for a small letter count, fragile at scale.
  • AI's edge over all of these is cost and freshness of the extraction — the legal review on top is common to every route.
What you need in placeThe executed side-letter set and the LPA (context changes meaning); a legal-review gate before any extracted obligation is relied on; and an owner — in practice compliance or the fund counsel's office owns the register, IR consumes it. Confidentiality matters: side letters are commercially sensitive, so where the documents go for processing needs the same care as the data room. In a group that usually means the internal gateway or the approved-vendor list — the confidentiality rule often decides the tool before any comparison does.
Effort & cost
  • Weekend script — an LLM reading one side letter into an obligations table; free, and the right way to calibrate trust on letters you can eyeball.
  • Off-the-shelf — obligation platforms, typically subscription plus per-document; five figures a year at manager scale.
  • Real project — extraction feeding an obligation register and deadline feed with legal review; five figures plus counsel time.
  • Under a couple of dozen letters, the paralegal-plus-Excel register (or the matrix your lawyers already built at close) is the honest answer.
What to watchVerify against the source letter, not the summary — the failure mode is a clean-looking register that silently dropped a clause or a carve-out. Spot-check the obligations that carry a deadline or a payment, because those are the ones with consequences.

Prompt to try: extract side-letter obligations into a register

The prompt reads a fund's side letters into an obligations register, lines up equivalent clauses for the MFN review, and cites the clause behind every row.

  1. 1Map the sourcesSide letters, LPA, investor list
  2. 2Trace the preparationAmendments, elections, superseded terms
  3. 3Match and reconcileInvestor names, clause types
  4. 4Build the linked workbookObligations register, clause cited

5. Controls (must pass)Every clause classifiedWording in force, amendments appliedDeadlines and triggers capturedMFN size screen, election left to counselFour-eyes sign-off

6. Measured over timeBack-test finds every known difference0 corrections after sign-offCycle time vs manualRolls forward with 0 manual edits

Before you start:

You are helping a fund legal or compliance analyst extract the obligations in the side letters for [fund]. A human reviewer checks everything you produce. You do not interpret a clause's legal meaning and you do not make MFN elections.

I attach:
- Side letters: [each executed side letter and amendment]
- LPA: [the limited partnership agreement]
- Investor list: [investor names and commitment sizes]

Work through the six steps below. Show the result of each step before you move on.

STEP 1. MAP THE SOURCES
For each file, record: who produced it; the as-at date it states (not the date it was sent); the currency; what one row or section represents; the fields that identify an investor and a clause; the value fields and how each is labelled; and any subtotals, hidden rows, merged cells or footnotes that change how it should be read. Where the files differ in as-at date, period or currency, list each difference and say how you will handle it: convert at an FX rate from the Inputs tab with its source, or compare like periods only. Stop and ask me only if a difference means two figures cannot validly be compared.

STEP 2. TRACE THE PREPARATION
For each letter, say whether it was amended or superseded, which clauses refer to the LPA or another letter, and which obligations depend on an election, a threshold or an investor type.
Label each statement "stated in the file" or "my inference".

STEP 3. MATCH AND RECONCILE
3a. Keys. List investor identifiers in the letters and the investor list.
3b. Names. Describe how each letter names the investor (legal name, fund vehicle, nominee) and how clauses are titled.
3c. Standardise. Write numbered rules for investor names and for obligation types (reporting, fees, transfers, ESG, excuse rights, MFN, notices).
3d. Map. Link each letter to an investor on the list, with match method and reason. A suggested link is never confirmed.

STEP 4. BUILD THE LINKED WORKBOOK
Build an .xlsx file with these tabs, in this order:
- Index: a link to each tab, one line on what it holds, the as-at date, and the steps to refresh the workbook next period.
- Inputs: fund, as-at date, MFN commitment size thresholds as the LPA or each MFN clause sets them; plus the as-at date of each source file, with any differences between them and how each is handled; any FX rates needed, with their source and date, and the tolerance for agreement with documents (0.00 wherever exact agreement is required). Each value carries its source beside it, and every formula that needs one points here.
- _Source tabs: each file exactly as received, one tab per file. Never edit these tabs.
- Map: one row per letter linked to an investor on the list, with the match method ("shared ID", "standardised name" or "suggested, needs review"), the reason, and for each suggested match who confirmed it and when.
- Register: one row per obligation, with investor, letter, clause number, page, obligation type, trigger, deadline, the clause text quoted, the executed letter it comes from (letter, date, clause and page), the wording currently in force and, where the letter was amended, the amendment (letter, date, clause and page) that sets that wording, or "not amended" where it was not; plus one row per clause that is not an obligation, with type "not an obligation" and the reason; plus one row per letter with no obligations, with type "no obligations" and the reason. Each row carries its source document and the page, cell or row reference for each figure.
- MFN: one row per obligation, with its investor, letter and clause number, equivalent clauses lined up by obligation type, the investor's commitment size looked up from the investor list _Source tab, and the commitment size that qualifies from the Inputs tab; the obligation fields are looked up from the Register.
- Exceptions: one row per failed control, untraced or disagreeing figure, unconfirmed match and open query. Each row carries its type ("failed control", "untraced or disagrees", "unconfirmed match", "query" or "timing difference"), a short name for the item, its owner, status ("open" or "closed"), expected clearing date and the approver's sign-off (name and date).
- Checks: the controls in step 5.
- KPIs: the measures in step 6.
- _Log: the audit trail in step 6.
Every derived number is a formula that leads back to a _Source tab or the Inputs tab. Nothing is typed in as a value. Use Excel tables and XLOOKUP or INDEX/MATCH. Wrap lookups in IFERROR and show "Not found", never zero. Dates as yyyy-mmm-dd, negatives in brackets, units in every value header, header rows frozen, no decorative formatting.

STEP 5. CONTROLS (EVERY ONE MUST PASS BEFORE SIGN-OFF)
On the Checks tab, write each control as a formula that returns TRUE or FALSE, with the count or difference beside it. A FALSE is not a score to improve: it blocks sign-off until it is resolved, by correcting the entry with a note or by getting the source corrected. An explanation alone does not clear it. The only item that may stay open at sign-off is a timing difference with an expected clearing date: it is listed by name on the Exceptions tab as a reconciling item and re-checked next period. A document tie-out failure is never a timing difference and can never be carried. Show every FALSE at the top of the Index tab under "Checks failing".
a. Complete: every letter attached has at least one Register row or is marked "no obligations" with a reason, and every clause in each letter is either on the Register or listed as "not an obligation". Target: 0 unexplained rows.
b. Counts agree: the obligation count per investor on the MFN tab equals the count of obligation rows per investor on the Register, leaving out the "not an obligation" and "no obligations" rows. Target: a difference of 0.
c. Formula-linked: every calculated cell is a formula (test with ISFORMULA), and there are no #N/A or #REF errors. Target: 100%.
d. Tied to documents: on the Register tab, every Register row quotes the clause and cites the letter, page and clause number. Every quote and figure must be traced (it cites its document and page) and must agree: a quote matches the document word for word, and a figure equals the document within the tolerance on the Inputs tab and no wider. Any item that is untraced or disagrees goes to the Exceptions tab at once. If the document itself looks wrong, for example an amendment that refers to a clause the letter does not contain, raise it as a query; never change the workbook to make it agree. Target: 100%.
e. Matches confirmed: count the rows matched by shared ID, by standardised name and by suggestion. Target: 0 suggested matches left unconfirmed at sign-off.
f. Deadlines: every obligation carries its trigger and its deadline as a date or a named event, and a recurring obligation, for example a quarterly report, shows how often it falls due.
g. MFN size screen: on the MFN tab, every MFN holder's commitment size is compared by formula with the commitment size its own MFN clause sets on the Inputs tab, and reads "passes size screen" or "below size". This is a first screen only: which terms a holder can elect also depends on its clause's exclusions, the other investors' sizes and the election conditions, so the term-by-term result and the election stay with counsel and the investor.
h. Amendments: every obligation cites the executed letter it comes from and shows the wording currently in force. Where the letter was amended, it cites the amendment that sets that wording; where it was not, it reads "not amended" and the wording in force equals the clause text quoted. Every amendment attached is cited on at least one Register row. Target: 0 exceptions.
i. Open exceptions: count the Exceptions rows that are not closed, leaving out only named timing differences with an expected clearing date. Target: 0.
j. Four-eyes: the _Log names the preparer and the approver, who must be different people, and the approver signs off every Exceptions line.

STEP 6. REUSABLE, AUDITABLE AND MEASURED
- Reusable: next period, a person replaces the _Source tabs and updates the Inputs tab, and every other tab recalculates. Keep the Map tab so confirmed matches carry forward.
- Auditable: on the _Log tab, list each source file (name, producer, as-at date, date received, row count, control total), every rule and match you applied with the reason, every assumption, and who prepared and approved. Never overwrite source data. A correction goes in a separate column with a note.
- Measured: add a KPIs tab that the team fills in each period: back-test recall (run on a past period with known answers; share of known differences found; target 100%, and do not adopt the workbook below that); items agreed first time with no manual fix; items flagged that turned out fine; corrections made by the reviewer before sign-off; corrections found after sign-off (target 0); manual edits outside the Inputs and _Source tabs at refresh (target 0); and cycle time in hours from receiving the files to sign-off, against the manual baseline.

If your tool cannot create an .xlsx file, give me each tab as a table plus the exact formula for the first row of every calculated column.

At the end, give me letters read, obligations found, and clauses that need a legal reading, the result of every check, and a list of anything you were unsure about.

What good output looks like:

How to know it worked:

Who signs off: Fund counsel or compliance confirms the register and decides any MFN elections. The workbook is the working file, not the record.

In practice: run it on one fund whose register you trust and compare row by row before using it on a new fund.

Questions operators ask

Can AI run our MFN election?

It can line up equivalent clauses across letters so counsel decides faster — that alignment is the tedious part. The election itself (which terms are "the same", who qualifies) stays a legal judgment; treat any tool that claims to decide it as mispriced risk.

Is software better than the law firm's side-letter matrix?

Different jobs: the firm's matrix is a defensible snapshot at close; a platform (or your own extraction) keeps a living register as letters accumulate. Many managers use both — the matrix as the verified baseline, extraction to keep it current between closes.

Related: the deadline calendar, closing-set consistency review and the Fund AI desk.

↑ Top