> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shorpay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Milestones

> Pay contractors as they deliver specific outcomes.

Milestones tie payments to outcomes. Instead of paying on a schedule, you pay when a specific deliverable is completed and accepted. This page covers setting up milestones and approving them.

## When to Use Milestones

Milestones work well for:

* Project-based contractor engagements
* Design sprints, product launches, or research projects
* Engagements where you want to reduce risk by paying incrementally
* Freelancers who prefer to work against clear deliverables

They work poorly for:

* Ongoing retainers or fractional roles
* Hourly consulting where scope shifts frequently
* Employee relationships (use salary instead)

## Creating a Milestone Contract

Milestones are set up when you first add the contractor:

<Steps>
  <Step title="Pick Milestone as the Compensation Type">
    In the worker add flow, choose **Milestone** as the compensation.
  </Step>

  <Step title="Define Each Milestone">
    For each milestone, add:

    * A clear title and description
    * The deliverable that must be completed
    * The amount paid on completion
    * An optional target date
  </Step>

  <Step title="Send the Contract">
    Shor bundles all milestones into the contract. The contractor sees the full list of milestones and amounts when they sign.
  </Step>
</Steps>

## Milestone Statuses

| Status        | What it means                                         |
| ------------- | ----------------------------------------------------- |
| **Pending**   | Milestone is defined but work hasn't started          |
| **Submitted** | Contractor has submitted the deliverable for review   |
| **In review** | You're reviewing the submission                       |
| **Approved**  | You've accepted the deliverable; payment is queued    |
| **Completed** | Milestone is done                                     |
| **Paid**      | Payment has landed with the contractor                |
| **Rejected**  | Deliverable was rejected; the contractor can resubmit |

## Reviewing and Approving a Milestone

<Steps>
  <Step title="Contractor Submits">
    When work is done, your contractor opens the milestone and clicks **Submit for review**. They can attach deliverables (files, links, notes).
  </Step>

  <Step title="You Review">
    You get a notification. Open the milestone and review the submission.
  </Step>

  <Step title="Approve or Reject">
    * **Approve**: the milestone moves to approved, and payment is queued.
    * **Reject**: send it back with feedback. The contractor can revise and resubmit.
  </Step>

  <Step title="Payment Released">
    Once approved, the milestone payment is released per the contract's payment terms. You'll see it in **Finance → Payments**.
  </Step>
</Steps>

## Adding Milestones Mid-Contract

If scope expands, you can add new milestones to a live contract. Open the worker's profile, click **Amend contract**, and add the new milestones. Both parties sign the amendment.

## Partial Payments and Holdbacks

For large milestones, some teams pay a percentage upfront and the rest on completion. You can structure this as two milestones (e.g., "Phase 1: 30% upfront" and "Phase 2: 70% on delivery") rather than using a single milestone with a partial payment.

## Next Steps

<CardGroup cols={2}>
  <Card title="Hiring Contractors" icon="handshake" href="/employer/hiring-contractors">
    The full contractor onboarding flow.
  </Card>

  <Card title="One-Off Payments" icon="paper-plane" href="/employer/one-off-payments">
    For payments outside milestones.
  </Card>
</CardGroup>
