Ask a team where their contractual obligations live and most will point at the master agreements. It is a reasonable answer and a costly one. The master agreement is where obligations are negotiated. It is not where most of them end up.

Obligations accumulate. A master agreement sets a baseline, an order form adds service credits, an amendment introduces a quarterly reporting duty, a renewal notice opens a price review window, a side letter grants exclusivity in one region. Each is binding. Only the first is in the document anyone re-reads.

Where obligations actually come from

Contract document types ranked by how often the obligations they introduce are missed, with the master agreement the only one teams reliably check

The pattern is consistent across portfolios, and it is structural rather than a matter of diligence.

The master agreement is long, reviewed by lawyers, and filed carefully. Its obligations are the ones that get tracked. Everything after it is shorter, signed faster, often by a different team, and filed wherever that team files things. The documents that create the least ceremony create the obligations most likely to be missed.

Renewal notices are the sharpest example. A notice is frequently a single page, sometimes just an email, and it can extend a term, reset a rate, restart a price-review clock, or trigger a re-certification requirement. Almost nobody treats it as a source of obligations. It routinely is one.

The four ways an obligation goes missing

It was introduced by a document outside the contract system. The most common cause, and the least interesting: the obligation is perfectly clear, in a PDF, in someone's inbox.

It is conditional, so it was never triggered into view. "If monthly volume exceeds 10,000 units, Supplier shall provide a quarterly assurance report." The obligation existed from signature. It became real when volume crossed the threshold, which nobody was watching for a contractual reason.

It was changed rather than created. The master agreement says thirty days' notice of a security incident. An amendment changed it to seventy-two hours. The obligation is on the tracker. The value on the tracker is wrong, which is worse than absent, because nobody re-checks a field that looks populated.

It is an obligation of the counterparty and nobody claimed it. Service credits, uptime commitments, most-favoured pricing, benchmarking rights. These are things you are owed, and unlike your own obligations, nothing external turns up to remind you. Missing them costs money silently and forever.

Why obligation tracking projects stall

The usual response is a tagging exercise: someone reads the portfolio and records obligations into a register. These projects tend to stall, for reasons worth naming before starting one.

  • The register is a snapshot. It is accurate on the day it is finished and decays from the next document onward, with no signal about which rows are now stale.
  • Entries lose their source. "90 days' notice" in a spreadsheet cell cannot be checked without redoing the work that produced it.
  • Coverage is invisible. A register with 400 obligations gives no indication whether that is most of them or half of them. Nothing shows you the documents that were never read.
  • Conditional obligations flatten badly. A row cannot express "applies only above a volume threshold that we crossed last March".
  • It is nobody's job on Wednesday. The register is maintained during the project and not after, because no routine event forces an update.

None of these are effort problems. They are consequences of treating obligations as a list to be compiled rather than as something derived from the documents, which is why more effort does not fix them.

What a usable approach looks like

The alternative is to derive obligations from the agreement family and keep them attached to it. In practice that means four properties:

Every obligation carries its source. Document, clause, effective date. If someone disputes it, the answer is a link, not an investigation.

Superseded obligations are visibly superseded. When an amendment changes a notice period, the old value does not vanish — it becomes history with a reason. That is what makes the current value trustworthy rather than merely current. The mechanics of resolving which document governs are covered in MSA vs. amendment: which terms govern today?.

Conditions are modelled, not flattened. A conditional obligation should be able to sit in a "not yet triggered" state rather than being recorded as unconditional or dropped.

Coverage is explicit. You should be able to see which documents have been processed, which have not, and where a referenced exhibit was never located. Knowing what you do not know is most of the value.

Where to start

Do not start with the master agreements. They are the part you already have under control.

Start with the document types in the diagram that are marked usually missed — renewal notices and side letters — for your ten largest counterparties. It is a small, bounded exercise, and it is where the surprises are. In most portfolios this surfaces at least one obligation nobody was tracking and at least one counterparty commitment nobody was claiming.

Then work outward: build the agreement family for those accounts using the method in How to identify the current terms of an agreement, and derive obligations from the family rather than from a reading pass.

Agreement Intelligence does this across the portfolio and keeps it current as new documents arrive, with each obligation connected to the clause that created it and the Verification Workspace sitting behind it for the cases that genuinely need a human decision.

The short version

Obligations are not concentrated in the documents you read most carefully. They accumulate across order forms, amendments, renewal notices, and side letters, and they go missing for structural reasons that no amount of diligence in a one-off review will fix.

The measure of an obligation register is not how many rows it has. It is whether you can pick any row, see the clause that created it, and see what the value was before the last amendment changed it.