> For the complete documentation index, see [llms.txt](https://docs.kick.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kick.co/accountants/schedules/revenue-recognition/milestones.md).

# Milestone-based method

Recognize each share of a contract when you confirm that milestone.

The milestone-based method is coming soon.

A milestone policy recognizes each share of the source when you confirm that milestone. You set the rows on the policy. Kick calculates the amount when you apply the policy.

Straight-line, daily pro rata, and point-in-time entries post when you apply the policy. A milestone entry posts only when you confirm that milestone.

***

### Add milestones to a policy

On **New policy** or **Edit policy**, set **Type** to **Deferred revenue** or **Accrued revenue**, then set recognition to **By milestone**.

Add one row per milestone.

1. Enter the **Name**.
2. Enter the allocation percent. The rows must total 100%.
3. Enter the **Expected date**.

Click **Create policy**. On an existing policy, click **Confirm edit**.

{% hint style="info" %}
The percent is the plan. Kick calculates each row's amount from the source when you apply the policy.
{% endhint %}

{% hint style="info" %}
The expected date adds the recognition schedule to **Review milestone-based revenue recognition**. Confirming the milestone posts the journal entry. You can confirm before that date from the **Recognition schedules** tab.
{% endhint %}

***

### What apply creates

Applying the policy copies the milestone rows onto the recognition schedule and creates one pending journal entry per row. Each amount is that row's percent of the source. Pending entries show on the **Recognition schedules** tab under **Accounting** → **Revenue recognition**.

On a deferred policy, the source moves to the holding account, the same way as any deferred policy. On an accrued policy, apply does not post an opening entry. In both cases the recognition entry stays pending until you confirm the milestone: debit the holding account, credit the revenue account.

{% hint style="info" %}
A later edit to the policy leaves recognition schedules already applied as they are. A change to the source amount recalculates milestones that are still pending. Posted milestones stay as posted.
{% endhint %}

***

### Review milestone-based revenue recognition

Kick opens one task per entity, **Review milestone-based revenue recognition**, when a milestone's expected date is today or earlier. The task stays open until those milestones are confirmed.

1. Open the task. Each row is a recognition schedule with a milestone due.
2. Click **Review**.
3. The header is **Confirm milestone** and the source name. **Recognized** is the amount from apply. **Expected date** and the recognition account stay as applied. Set **Posting date**.
4. Confirm the milestones you select.

Open the row menu and click **See recognition schedule** to open that recognition schedule.

***

### Confirm a milestone

Confirming posts the pending journal entry. You can change **Posting date**. The amount stays as applied.

1. In the task, click **Review**, then confirm.
2. On the **Recognition schedules** tab, open the menu on the pending milestone entry and click **Milestone achieved**.

After the entry is posted, **Milestone achieved** is no longer available.

***

### Locked periods

A **Posting date** in a locked month is blocked.

{% hint style="warning" %}
Go to [Locks](/accountants/close-workflows/locks.md#how-to-unlock-a-period), open the period, then confirm again.
{% endhint %}

Pause, resume, and stop use the same actions as any other recognition schedule. See [Change, pause, stop, or remove a schedule](/accountants/schedules/revenue-recognition/change-a-schedule.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.kick.co/accountants/schedules/revenue-recognition/milestones.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
