

A contract body is one sentence about an exhibit: "as set forth in Exhibit A." That sentence gets read closely. What's actually inside Exhibit A, and whether it's the version anyone on your team last looked at, gets a lot less attention. That's where a signed contract stops matching what legal approved.
This matters more as volume goes up. When a legal ops team is moving through dozens of vendor agreements, MSAs, and order forms a month, the body is the part everyone treats as the review. The attachments feel like paperwork. But the attachments are usually where the actual scope, pricing, service levels, and deliverables live, and they're often finished by a different team, on a different schedule, than the body they're attached to.
Here's the pattern. Legal reviews and clears the master agreement. Procurement or sales ops is still finalizing the statement of work, the pricing schedule, or the data exhibit while that review is happening, sometimes for days afterward. By the time the full packet goes out for signature, the exhibit attached is a later draft than the one legal saw, and nobody re-checks it because the body already got a stamp of approval.
Master services agreements make this worse by design. An MSA sets the general terms once and leaves room for individual statements of work to get attached later as new work comes in. As Nolo's guide to contract attachments explains, MSAs frequently use addendums in the form of work orders, sometimes called statements of work, for new projects, with the main agreement indicating that the parties will attach the terms of each new project later on. That's a reasonable way to structure a long relationship. It also means the SOW your team is checking might reference definitions or caps in an MSA that's since been amended, and nobody flags it because the SOW and the MSA rarely get read side by side.
The other failure mode is plainer: the exhibit named in the body just isn't there. Someone forgot to attach Schedule 2, or attached an earlier draft under the same file name, and the reviewer who read the body assumed the reference was fine because the sentence was fine.
The fix isn't reading the whole packet more carefully. It's treating every reference to an attachment as something that has to resolve, the same way you'd check that a link doesn't 404.
Before a contract clears review, pull a short list of every schedule, exhibit, addendum, and SOW the body actually names. For each one, confirm three things: it's physically attached, it's dated at or after the version legal last reviewed, and it uses the same defined terms as the body. One longtime contract drafting resource points out that schedules and exhibits often carry their own section numbering that overlaps with the main agreement's, which is exactly why a cross-reference to material outside the current document needs to name the other document specifically rather than just a section number. If your reviewers lean on a number alone to know what a clause is pointing to, that's a place mismatches hide.
It's also a naming problem. A body that defines "Services" in Section 1 and an exhibit that describes "Deliverables" in Schedule B are supposed to be talking about the same thing, but nothing forces them to use the same word, and a reviewer moving fast tends to assume they do.
Comparing a defined term in the body against the language in an attached exhibit, and flagging attachments that are referenced but missing or undated, is a comparison task, and comparison is the part AI handles reasonably well on a first pass. It won't tell you whether a mismatch is worth pushing back on before signature. That call still belongs to whoever owns the deal. But running that check on every contract, instead of hoping someone catches it on the fifteenth agreement of the week, covers ground a rushed reviewer won't. If you're already running an AI first pass on incoming contracts, this is a natural thing to add to it: pull the list of referenced attachments, confirm each one is present, and flag any that use different terms than the body does.
Construction teams run into a version of this same problem when a subcontract has to match terms an owner set in the prime contract, and the fix there is the same shape: build the short list once, then check documents against it instead of against memory. The job list approach we described for subcontract review works for exhibits too, just built at the contract level instead of the project level.
Pull ten signed contracts a quarter and check whether every exhibit named in the body is actually attached, current, and consistent on terms. If you're finding gaps, that's the number telling you the check needs to move earlier in the process, not just get added at the end.
Try goHeather free and run a contract with its exhibits through a first pass to see what it catches.
This is legal information, not legal advice; consult a lawyer for legal advice.
Jeff Dutton is a lawyer who advises on technology, corporate, privacy, commercial, employment and real estate law.
Jeff founded his own small law firm, Dutton Law, in 2016 (and merged it with a larger firm in 2019). Before that, Jeff was a prosecutor and a commercial law lawyer at a national boutique law firm.
Jeffrey is a frequent lecturer on legal matters and has been published in newspapers and trade journals. In addition, Jeff was the editor and co-author of a leading employment law text for lawyers for many years.
Education:
Western University, BA (2009)
University of Ottawa, Faculty of Law, JD (2012)

Get the latest contract tips, updates, and exclusive content straight to your inbox. Subscribe now and never miss out on what's new in contract law or at goHeather!
Our AI sifts through each clause, identifying potential risks. This enables us to provide quick yet comprehensive contract reviews, equipping you with the legal information you need to make informed decisions.