---
key: create-a-statement-schedule
title: Create a statement schedule
audience: staff
section: statement-operations
routes: ["/statements/schedules", "/statements/schedules/new"]
permissions: ["billing.statement_schedules.read"]
features: ["billing.statements"]
since: 0.0.1
updated: 0.0.1
status: published
summary: "Set up statements to generate themselves on a cadence for chosen customers, payers or segments, and optionally lock and send them without anyone pressing a button."
keywords: [automatic statements, monthly statements, recurring statements, statement automation, schedule statements, month end statements]
related: [generate-a-statement, send-a-statement, pause-or-cancel-a-statement-schedule, monitor-statement-runs]
---

In the sidebar, open **Sales & Billing**, then **Statements**, then **Statement Schedules**. The page address is `/statements/schedules`. A new schedule opens at `/statements/schedules/new`.

## Before you start

- Know who should get statements: specific customer accounts, the accounts that pay on behalf of others, or a saved audience segment.
- Generate one statement by hand first so you know the result looks right; see [[generate-a-statement]].
- Your role needs permission to read statement schedules to see the page and permission to create them to add one.

## Steps

1. Press **New schedule**. The **Create schedule** drawer opens.
2. Type a **Schedule name**, for example Monthly payer statements.
3. Under **Branch scope**, leave **All branches** or pick one branch.
4. Under **Cadence**, choose **Monthly**, **Weekly** or **Every N days**. Then set the matching field: **Day of month**, **Day of week**, or **Interval days**. Set **Run hour** and **Run minute** for the time of day, and the **Time zone** if it differs from the organization's.
5. Under **Period window**, choose what each statement covers: **Previous calendar month** (monthly only) or **Rolling days** with a number under **Lookback days**.
6. Under **Targeting**, choose **Source accounts**, **Payer accounts** or **Audience segments**. Then, under **Targets**, search for each account or segment and press **Add**. Each one becomes a chip; click a chip to remove it.
7. Under **Delivery channel**, leave **Auto from account delivery policy** so each customer gets it the way their account says, or force **Email**, **SMS**, **Portal only** or **Manual / offline**. **Recipient override** and **Subject override** are optional.
8. Tick **Lock automatically** to lock each statement as soon as it is generated, and **Auto send after generation** to send it too. Leave both unticked to review each run by hand.
9. Press **Create schedule**. Nova confirms and the schedule appears in the list with its next run.

## What you see

- The list shows each schedule's name, **Status**, **Cadence**, **Targeting**, **Branch**, **Next run**, **Last run** and **Resolved**, the count of accounts the targets currently resolve to out of those set.
- The cards above the list count schedules that are **Active**, **Paused** and those that show **Needs attention**.
- Opening a schedule shows **Run history** underneath, listing the recent runs it started; see [[monitor-statement-runs]].
- **Next run override** lets you set an exact date and time for the next run without changing the cadence.

## If something looks different

- The page is missing from the sidebar: the statement pages other than **Statements** only show there when your company's menu size is **Everything** (see [[choose-your-menu-size]]). Type the page address instead, or search for its name at the top of Nova.
- **New schedule** is missing: your role cannot create schedules.
- Saving refuses with Select at least one source account (or payer account, or audience segment): the **Targets** list is empty for the targeting you chose.
- Saving refuses with a message about the day or interval: the cadence field for the chosen **Cadence** is blank or below 1.
- The drawer shows a message that schedules cannot be created or edited: the organization's currency settings are incomplete. Existing schedules can still be paused or canceled.
- **Reset** puts the form back to what is saved.

[[route:/statements/schedules/new|New statement schedule]]
