# Policies

URL: /code/file-conventions/policies · Id: `page:code/file-conventions/policies`

> The policies file holds the Policies a Startup declares on how its numbers are computed and its choices made.

`policies.mdx` holds the [Policies](/business/nouns/policy) a [Startup](/business/nouns/startup) declares: rulings on how its numbers are computed, such as when revenue counts.

```text
leaseline/
└── policies.mdx      how the numbers are computed
```

## Reference
MDX, frontmatter only. Each key is one Policy, and its value is the rule.

| Key | Type | Holds |
| --- | --- | --- |
| `revenue` | `onPayment \| onDelivery \| ratably` | When a charge counts as revenue |
| `refunds` | `reverse \| expense` | How a refund posts against revenue |
| `currency` | ISO 4217 code | The currency every report converts to |
| `fiscalYearStart` | month | The first month of the fiscal year |

## Examples
### Minimal
```mdx title="policies.mdx"
---
revenue: ratably
---
```

### Leaseline
```mdx title="policies.mdx"
---
revenue: ratably
refunds: reverse
currency: USD
fiscalYearStart: January
---
```

## What it builds
The [StartupBuilder](/code/builders/startup) compiles each key into one Policy on the Startup.

- a `Policy` per key
- every [Metric](/business/nouns/metric) and every [finance report](/systems/finance) computed under it
- a [Change](/business/nouns/change) when a Policy moves; reports before the merge keep the Policy they ran under

## Good to know
- A Policy is a ruling. A choice, such as a trial length, is a [Setting](/business/nouns/setting), in the [settings file](/code/file-conventions/settings).
- A Policy change never rewrites a closed [Period](/business/nouns/period).