# Outcome contracts

URL: /products/service/outcome-contracts · Id: `page:products/service/outcome-contracts`

> An Outcome Contract makes a Service a checkable promise in typed terms, done, acceptance, assurance, revisions, remedy, and earns, set before the first Order.

An [Outcome Contract](/business/nouns/outcome-contract) is the promise a [Service](/business/nouns/service) keeps, set on its [Offer](/business/nouns/offer) before the first [Order](/business/nouns/order). Its terms are typed fields, so the [Startup](/business/nouns/startup), the [Customer](/business/nouns/customer), and any [Agent](/business/nouns/agent) acting for either check every delivery the same way.

## Six terms
Each term answers what a buyer asks before paying for work that does not exist yet. Take a Startup that copyedits book manuscripts against the author's style sheet.

| Term | Fields | Asks | Copyediting |
| --- | --- | --- | --- |
| Done | `done` | What counts as complete? | Every chapter follows the style sheet, a 500-word sample per chapter has no spelling errors, and every query to the author is flagged |
| Accept | `accept`, `window`, `silence` | Who accepts, by when, and what silence means | The author, within five days of each delivery; silence accepts |
| Assurance | `assurance` | How is done checked? | [Evaluators](/business/nouns/evaluator) for style, spelling, and flagged queries, plus a 5% sample graded by a person |
| Revisions | `revisions` | How often may the Customer send work back? | Once per line |
| Remedy | `remedy` | What happens on a miss? | Re-edit within three days, then refund the line |
| Earns | `earns` | Which [Event](/business/nouns/event) earns the fee? | `Order.confirmed` |

The contract is data on the Offer, so delivery, billing, and the buyer's Agent read the same terms:

```ts
outcome: {
  done: 'Every chapter follows the style sheet; no spelling errors in a 500-word sample per chapter; every author query flagged',
  accept: 'customer',
  window: 'P5D',
  silence: 'accepts',
  assurance: ['style-sheet', 'spelling', 'queries-flagged', { sample: 0.05, by: 'human' }],
  revisions: 1,
  remedy: [{ kind: 'redo', within: 'P3D' }, { kind: 'refund' }],
  earns: 'Order.confirmed',
}
```

## Done is a claim, acceptance is a verdict
Done is the Startup's claim: the work meets its terms and every Evaluator passed. Acceptance is the Customer's verdict, given line by line: they [confirm](/business/nouns/order/confirm) a line, or its window closes without a [dispute](/business/nouns/order/dispute).

Keeping the two apart protects both sides. A Startup that bills on done charges for work nobody has checked. A Startup that waits for an explicit sign-off rarely earns, because most satisfied Customers never reply.

The `window` gives the Customer a fixed time to object, and `silence` says what happens when it passes. Acceptance binds to the exact delivery the Customer saw: a redelivery opens a new window.

## Promise what you control
Warrant the work, not the business result that follows it. The copyeditor promises a clean, consistent manuscript. It does not promise a publishing deal, because no Evaluator can check that before the fee is earned.

A promise the Startup controls is a promise it can price. Every remedy has a cost, and the expected miss rate times that cost belongs in the [Price](/business/nouns/price). A vague `done` raises the miss rate, so sharpening it is the cheapest margin a Service finds.

## Assurance makes done checkable
An Evaluator is a versioned [Function](/business/nouns/function) that grades output against a rubric and returns a verdict. `assurance` names the Evaluators that verify the contract, and [deliver](/business/nouns/order/deliver) runs every one before the Customer sees anything.

The doer is never the checker. An Evaluator never shares the model that did the work, so one blind spot cannot pass its own output. Calibrate each Evaluator against work a person graded, and version it whenever its rubric moves.

Assurance also bounds the remedy. An Offer fails its launch check until the named Evaluators pass on sample work, so no Service publishes a refund promise its checks cannot back.

## Revisions, then remedies
`revisions` counts how often the Customer may [revise](/business/nouns/order/revise) a line before the remedy applies. One revision absorbs a matter of taste, such as a preferred spelling in dialogue, without calling the work a miss. Past the allowance, the line becomes a [Dispute](/business/nouns/dispute) and the remedy starts.

Each remedy is a [Verb](/business/nouns/verb) the Startup runs. It redoes the work, [refunds](/business/nouns/order/refund) the line, grants a [Credit Grant](/business/nouns/credit-grant) on the next Order, or has a person finish the job. A remedy no Verb performs is a sentence, not a contract term.

Order remedies from cheapest to most expensive, and bound each one. The copyeditor re-edits once, then refunds; it never loops on fixes. Refunds run inside the [Limit](/business/nouns/limit) of the [Role](/business/nouns/role) that issues them, and a larger amount waits for an [Approval](/business/nouns/approval).

## Earns and the authorization
`earns` names the Event that turns a payment into revenue. For a Service it is `Order.confirmed`, which fires on a confirmation or when a line's window closes in silence.

Payment is authorized when the Customer accepts the [Quote](/business/nouns/quote) or places the Order. Each line's share is captured on its `earns` Event and posts as revenue then. A refund before that Event releases the authorization, and no revenue was ever counted.

## Terms that never vary
A contract is versioned with its Offer. A new [Version](/business/nouns/version) applies to new Orders, and every placed Order keeps the terms it was bought under.

[Experiments](/business/nouns/experiment) test copy, intake forms, and Evaluators freely. They never vary a buyer's remedy, revisions, refund rights, or window: two Customers buying the same Offer get the same promise.

## Next
- [Quotes and intake](/products/service/quotes-and-intake): pricing one job and checking it against its brief.
- [Delivery and acceptance](/products/service/delivery-and-acceptance): an Order moving through these terms, line by line.
- [Disputes](/products/service/disputes): when the two sides read a term differently.