# Period.closed

URL: /business/events/Period.closed · Id: `event:Period.closed`

> Emitted each time a Period is closed.

[Period.close](/business/nouns/period/close) emits `Period.closed` when it completes on a [Period](/business/nouns/period).

| Property | Value |
| --- | --- |
| Emitted by | [Period.close](/business/nouns/period/close) |
| Noun | [Period](/business/nouns/period) |
| Wakes | [Monthly budget](/workflows/processes/budget/monthly-budget) |

### Payload
Each delivery is an [Event](/business/nouns/event) record. `data` holds what [Period.close](/business/nouns/period/close) returns.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | `string` | Yes | `Period.closed`. |
| `at` | `datetime` | Yes | When it happened. |
| `seq` | `integer` | No | Its position in the namespace, one more than the Event before; any seq is a cursor into the history. |
| `data` | `json` | Yes | The Thing as the Action left it. |
| `data.period` | [Period](/business/nouns/period) | Yes | The closed Period. |
| `data.period.month` | `date` | Yes | The first day of the month it covers. |
| `data.period.status` | `string` | Yes | One of `Open`, `Closed`, or `Locked`. |

### Example
```json
{
  "$id": "https://api.sb/routewise.dev/events/event_1",
  "$type": "Event",
  "name": "Period.closed",
  "at": "2026-10-22T12:00:00Z",
  "data": {
    "period": {
      "$id": "https://api.sb/routewise.dev/periods/period_1",
      "$type": "Period",
      "month": "2026-10-22",
      "status": "Open"
    }
  },
  "seq": 1
}
```