> For the complete documentation index, see [llms.txt](https://help.resouris.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.resouris.com/job-planning/quarterly-reconciliation.md).

# Quarterly reconciliation

## What it is

ReSouris compares each staff member's **planned** Programmed Activities (PAs) against their **delivered** PAs every quarter (per NHS *Job Planning for Healthcare Science Staff* Guidelines §5.1.5).

The reconciliation runs automatically on **1 January**, **1 April**, **1 July**, and **1 October** at 02:00 UTC. Each Trust Admin can then sign off on the quarter's snapshot to lock it for Board / CQC reporting.

## Finding the dashboard

**Platform features → Quarterly reconciliation**

The nav item opens today's quarter. To view a different quarter, edit the URL:

```
/ui/admin/job-plan-reconciliation/2026/1
/ui/admin/job-plan-reconciliation/2026/2
/ui/admin/job-plan-reconciliation/2026/3
/ui/admin/job-plan-reconciliation/2026/4
```

## Reading the traffic-light colours

Each row is colour-coded by the absolute percentage difference between planned and delivered PAs:

| Colour    | Threshold      | Meaning                                                                               |
| --------- | -------------- | ------------------------------------------------------------------------------------- |
| **Green** | ≤ 5% variance  | On plan. No further action needed.                                                    |
| **Amber** | 5–15% variance | Investigate. Convene a review with the plan-holder.                                   |
| **Red**   | > 15% variance | Escalate. Trust finance / quality should sign off with notes documenting the drivers. |

The **Summary tiles** at the top show the per-colour count and the tenant-wide planned/delivered PA totals.

## Signing off

1. Click **Sign off** (available to holders of `admin.job_plan.reconciliation.signoff` — default `tenant_admin`).
2. Review the unsigned-row count on the confirmation page.
3. Add optional signoff notes (up to 2000 characters — recorded on every row signed in the batch).
4. Click **Sign off** to lock the quarter.

Once signed, snapshots are **immutable**. The reconciler cron will preserve signed rows on subsequent runs — only unsigned rows are recomputed.

## Exporting to CSV

Every quarter dashboard has a **Export CSV** button. The CSV includes:

* Job plan ID
* Staff name
* Quarter start date
* Planned / delivered / variance PAs
* Variance percent (2 decimals)
* Traffic-light colour
* Signed timestamp (if signed)

Filename convention: `reconciliation-{year}Q{quarter}.csv` (e.g. `reconciliation-2026Q3.csv`).

## Under the hood

* **Fine-grained rows** live in `entitlement_bank` (per plan, per activity, per quarter) — populated by the reconciler cron from `job_plan_ledger` verified rows.
* **Aggregate snapshots** live in `job_plan_quarterly_reconciliation` (per plan, per quarter) — populated by the reconciler after the fine-grained rows land.
* **Signoff** writes `signed_utc + signed_by_user_id + notes` and locks the snapshot at the DB layer.

Distinct from the **per-plan approval-time triple-signoff** (Guidelines §6.2) — that runs when a plan is created / renewed; this runs quarterly against actuals.


---

# 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://help.resouris.com/job-planning/quarterly-reconciliation.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.
