---
key: monitor-statement-runs
title: Monitor statement runs and retry failures
audience: staff
section: statement-operations
routes: ["/statements/jobs", "/statements/jobs/:jobUid"]
permissions: ["billing.statements.read"]
features: ["billing.statements"]
since: 0.0.1
updated: 0.0.1
status: published
summary: "Watch each batch of statements being generated or sent, see how far it got and what failed, and queue a retry for the failed ones."
keywords: [statement jobs, batch jobs, statement batch, generation failed, send failed, retry statements, statement progress, queued, running]
related: [generate-a-statement, send-a-statement, create-a-statement-schedule, review-statement-delivery-issues]
---

In the sidebar, open **Sales & Billing**, then **Statements**, then **Statement Runs**. The page address is `/statements/jobs`.

## Before you start

- A run is created every time statements are generated or sent in a batch, whether you started it from the Statements page or a schedule did. Nothing on this page starts a run.
- Your role needs permission to read statements to see the page. Retrying a generate run needs permission to create statements; retrying a send run needs permission to send them.

## Steps

1. Read the cards at the top: **Loaded** runs, **Active** ones that are queued or running, **Retryable** ones that failed or partly failed, and the total of **Failed items** across them.
2. Find the run. Use **Filters** to narrow by **Status** (**Queued**, **Running**, **Completed**, **Partial**, **Failed** or **Canceled**) and **Operation** (**Generate** or **Send**), or search by schedule, statement, worker or error text.
3. Click the row, or choose **Open job** from its actions menu. The **Job detail** panel opens beside the list.
4. Read the cards: **Progress** with how many of the targets were processed, **Succeeded**, **Failed**, and **Retries**.
5. Read **Failure summary** if it shows. It gives the reason the run stopped or the errors it hit.
6. Scroll to **Job items** for the per-customer list. Each item shows its status, and a finished item links with **Open statement** to the statement it produced.
7. If the status is **Failed** or **Partial**, press **Retry failed items**. Nova confirms the retry was queued and creates a new run that only redoes the failed items. The new run notes which run it is a retry of.

## What you see

- The list shows each run's **Job** reference, **Status**, **Period**, **Progress** as a bar with the count processed, **Failures**, and when it was **Requested** and last **Updated**.
- **Execution** in the detail panel shows when the run was created, started, last made progress and completed.
- **Scope** shows whether **Lock automatically** and auto send were on, the **Schedule** it came from or Ad hoc for a manual batch, and how many accounts and statements it covered.
- **Stage history** lists each stage the run went through with its attempt count.
- The list refreshes on its own while a run is active.

## 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.
- **Retry failed items** is missing or greyed out: the run is not failed or partial, it has no failed items, your role lacks the permission for that operation, or the organization's currency settings are incomplete.
- The list is empty and says no runs match this scope yet: nothing has been generated or sent in a batch. Start one from the Statements page (see [[generate-a-statement]]) or a schedule (see [[create-a-statement-schedule]]).
- A send run completed but a customer says nothing arrived: the send may have failed at the email or text provider. See [[review-statement-delivery-issues]].
- **Job items** reads that no item-level progress is available: the run has not started processing yet.

[[route:/statements/jobs|Open Statement Runs]]
