River
Y CombinatorBacked by Y Combinator

Business & Revenue OpsFree

Contract Summary One-Pager and Obligations

One contract in, one page out, where every right carries the deadline and the form that make it collectible, and every obligation carries a date.

Start here

River reads the executed contract and returns two things: a one-page summary of what it says, and a register of what it obliges you to do. Every right on the summary carries the condition attached to it, meaning the deadline, the form the notice has to take, and what is forfeited by missing either. Every obligation carries a trigger, a due date and an owner. Both cite the clause they came from, so a cell can be checked rather than trusted.

The published one-pager templates are field lists, and the fields are almost entirely rights and facts: parties, term, value, liability cap, termination rights, dispute forum. Obligations appear as a single line asking for each party's responsibilities, which produces a paragraph rather than a dated register. A liability cap you can recite and a credit you cannot claim is the wrong half of the document to have memorised. This page pairs them, and the same discipline across a whole signed portfolio is the vendor renewal pack.

Built for the operations or procurement lead who inherited the contract and now has to rely on it, and for the finance owner signing off on the renewal. Reach for it when a vendor has missed something and nobody knows what the agreement lets you do about it. Negotiating an inbound draft against settled positions is a contract review pack, and a portfolio of executed agreements keyed to the last notice date is the abstraction register.

The credit exists. Collecting it has three conditions

Take the most familiar right in a vendor agreement, the service credit. Amazon's S3 terms award ten percent of the affected charges below 99.9 percent uptime, and a hundred percent below 95. Then they set out what you owe. A case has to be opened in the support centre and received by the end of the second billing cycle after the incident. It has to carry the words SLA Credit Request in the subject line, the affected region, the dates and times of every incident, and your own request logs.

Miss any of those and the terms are explicit: failure to provide the request as required disqualifies you from the credit. Google Cloud Storage sets a different clock for the same right. Notification has to reach technical support within 30 days of becoming eligible, and failure to comply forfeits the right outright. Two vendors, one apparently identical entitlement, two deadlines that do not resemble each other. A summary that records the uptime percentage has captured the half nobody needs.

Some obligations are not in an obligations clause at all. Google's back-off requirement lives in the definitions: after an error your application waits a second, then doubles the interval up to thirty-two seconds, and repeated identical requests are excluded from the error rate unless they comply. Your own code has to behave a certain way before the outage counts as an outage. No field list surfaces that, because it is not a field. Reading for what you owe finds it.

How it works

  1. Hand over the contract

    The executed agreement plus any order form, appendix or side letter attached to it.

  2. Read for rights

    Every entitlement gets pulled with the clause behind it, and the condition attached to using it.

  3. Read for duties

    River sweeps the whole document, definitions included, for anything the agreement obliges you to do.

  4. Date every row

    Each obligation gets a trigger, a due date, an owner and the forfeiture for missing it.

What you get

  • A one-page summary where every right carries the condition that makes it collectible
  • One register row per obligation you owe, with a trigger, a due date and an owner
  • The forfeiture consequence on each deadline, quoted from the clause that imposes it
  • Obligations found outside the obligations clause, including the ones hidden in definitions
  • Every extracted term with its clause reference, so an empty cell means absent
  • The notice mechanics: the address, the method and the recipient a valid notice needs

Common questions

How is this different from a normal contract summary?

A normal summary is a field list, and the fields record what you get. This adds the condition to each one, so the liability cap sits next to the notice requirement that has to be met before it is argued, and the credit sits next to its claim deadline. The obligation register is the second artifact and has no equivalent on a one-pager.

Where do obligations hide, if not in the obligations clause?

In definitions, in the SLA, in exhibits and in exclusion lists. Google Cloud Storage puts an engineering requirement on your own application inside a definition, and its credits are only available if the customer meets its obligations under the SLA. River sweeps the whole document rather than the headings a template expects, and reports which section each obligation came from.

What happens when a term is not in the contract at all?

It is recorded as absent with the clause range that was read to establish it. An absent liability cap and a cap nobody looked for produce the same blank cell, and only one of those is a finding. The register distinguishes them, which is what lets somebody else rely on the page without re-reading the agreement.

Does it handle an order form and a master agreement together?

Yes, and that pairing is where the answer usually is. The order form carries the dates and the price, the master agreement carries the notice period and the remedies, and one of them says which governs on conflict. River reads them as one instrument and names the precedence clause it relied on. Before signature, resolving every duration against a signing date is the version you want.

What does the obligation register look like in practice?

One row per obligation, carrying what it is, what triggers it, the date it falls due, the form it has to take, the owner and the consequence of missing it. On the worked example the register has eleven rows and three of them were already past due when the contract was handed over, which is the finding an inherited agreement usually produces.

How do I keep the register current after the contract is read?

The dated rows become a calendar, which is what a register is for. Recurring obligations such as insurance certificates and annual re-attestations carry their own cadence, and the ones triggered by an event carry the event instead of a date. When the re-attestation is a security questionnaire, answering it is its own job with a response pack.

Contract Summary One-Pager and Obligations

Fill in the form and your workspace opens with the work already underway.