> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wizflow.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Pension Policies Input

> Show a customer their pension policies and let them review, add, or edit the details

The Pension Policies Input entity shows a customer their pension policies — how much is saved, what's contributed monthly, and what coverages are included. Customers can open any policy for details, and (if you allow it) add a policy manually or edit an existing one.

<Note>
  **This entity doesn't fetch anything.**\
  It only displays a list of policies that already exists in the flow. Pair it with the **Pension Data Collection** entity, whose output (`policies`) is exactly the list this entity expects.
</Note>

<Note>
  **No label needs to be set.** Every label field is optional — leave them all blank and sensible defaults are shown automatically. Only fill one in if you want different wording.
</Note>

***

## What the customer sees

1. A list of policies — provider name/icon, total value, and monthly contribution for each
2. Tapping a policy opens either a **read-only details view** (coverage breakdown) or an **editor**, depending on your settings
3. Optionally, a button to add a policy that isn't in the list yet

***

## Settings you can configure

<CardGroup cols={2}>
  <Card title="Heading & labels" icon="text">
    Page heading, total label, and button text — see labels below
  </Card>

  <Card title="Allow adding a policy" icon="plus">
    `allowNewPolicy` — lets the customer manually add a policy not returned by the fetch
  </Card>

  <Card title="Allow editing" icon="pencil">
    `allowEdit` — lets the customer edit an auto-fetched policy's details
  </Card>

  <Card title="P41 recommendation" icon="triangle-exclamation">
    `enableP41Recommendation` exists in settings but isn't live yet — turning it on has no visible effect today
  </Card>
</CardGroup>

***

## Things to know

* **Manually added policies always sort to the bottom** of the list, no matter when they were added.
* **Editing rules differ by how a policy got there.** `allowNewPolicy` controls whether a manually-added policy can be edited/deleted. `allowEdit` controls whether an auto-fetched policy can be edited. If `allowEdit` is off, auto-fetched policies open the read-only details view instead.
* **Editing an auto-fetched policy doesn't reclassify it.** It keeps its original source, so it stays sorted with the other fetched policies — it won't get treated as manually-added or move to the bottom of the list.
* **If a policy has any coverage with its own value**, the total/contribution fields in the editor become read-only ("calculated from your coverages") — the customer can't manually override them once coverage data exists.
* **A manually-added risk coverage with no type selected** shows up under "other coverage" in the details view, rather than being left out.
* **`enableP41Recommendation` is a placeholder** for a feature that hasn't been built yet. It's safe to leave off.
* **A policy's total value** uses the sum of positive pension coverage values; otherwise it falls back to `policyDepotValue`. Its contribution uses the sum of coverage contributions when that sum is positive; otherwise it falls back to `policyContribution`.

***

## Labels

**No label needs to be set** — leave any of them blank and a sensible default is shown automatically. Only fill one in if you specifically want different wording.

<Note>
  Only the **most important** labels can be changed. The detailed coverage breakdown uses fixed system text so the numbers stay consistent no matter how the entity is configured.
</Note>

**Editable:**

| Where        | Labels                                                                                                                                                          |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Main list    | `heading`, `totalLabel`, `addPolicyButtonLabel`, `nextStepButtonLabel`, `seePensionDetailsButtonLabel`                                                          |
| Details view | `title`, `monthlyContributionLabel`, `pensionSavingsTotalLabel`, `deathCoverageLabel`, `lossOfWorkingCapacityLabel`                                             |
| Editor       | `addTitle`, `editTitle`, `policyNameLabel`, `monthlyContributionLabel`, `pensionSavingsTotalLabel`, `saveButtonLabel`, `cancelButtonLabel`, `deletePolicyLabel` |

**Not editable** (fixed system text): the empty-state message when there are no policies, the "last fetched" note, the other three coverage categories in the details view (critical illness, accident, other coverage), and everything inside the coverage editor sub-drawer (field names, payout type options, validation messages).

***

## Pairing with Pension Data Collection

This entity is built to display the output of the **Pension Data Collection** entity (`pension-data-collection`) — point its `policies` field at that entity's response and it'll just work. It also accepts a `policies` array from any other variable or data model of the same shape.
