Cash Commutation Function - End User
Overview
This module contains functions for calculating pension cash commutation at retirement, allowing members to exchange pension for a tax-free lump sum. The functions handle both scheme-specific and HMRC regulatory limits.
Function: comm_total_cash
Purpose: Calculates the total cash payment available to a member from both AVC funds and pension commutation.
Inputs
-
Date of Birth - Member's date of birth
-
Sex - Member's gender (male/female)
-
Date of Retirement - Retirement date (used for age-based factor lookups)
-
Pension net of GMP group - Group of pension slices excluding GMP
-
GMP group - Guaranteed Minimum Pension amounts (cannot be commuted)
-
Total AVC fund - Additional Voluntary Contributions available
-
Apply plan maximum - Whether to apply scheme-specific maximum cash limit
-
Plan maximum - Scheme-specific maximum cash amount
-
Apply A-Day maximum - Whether to apply HMRC A-Day limits
-
Commute in order- Method of commutation:
- TRUE: Commute pension slices in priority order
- FALSE: Spread commutation proportionally across all slices
-
Date of Calculation - Date for factor selection
-
Dynamised protected A-Day cash - Protected cash amount from pre-2006 rights
-
Use average CCF - Whether to use weighted average commutation factor
-
Overriding CCF - Fixed commutation factor for all slices (0 = use slice-specific)
-
Apply LSA limit - Whether to apply Lump Sum Allowance (post-2024)
-
Personal allowance max - Member's personal lifetime allowance
-
HMRC pension value multiple - Multiplier for pension valuation (default 20)
Output
Returns the total cash payment combining:
- Cash from AVC fund
- Cash from pension commutation
Calculation Logic
- Determines maximum cash under HMRC rules:
- Pre-2024: Limited to 25% of Lifetime Allowance (LTA)
- Post-2024: Limited to Lump Sum Allowance (LSA) or 25% of personal allowance
- Takes AVC as cash first (up to limits)
- Commutes pension to reach maximum allowed cash
- Applies scheme maximum if specified
Function: comm_commuted_cash
Purpose: Calculates cash obtained solely from pension commutation (excluding AVC).
Inputs
Same as comm_total_cash
Output
Returns cash from pension commutation only, excluding any AVC taken as cash.
Use Case
Use when you need to separately identify:
- How much cash comes from pension commutation
- How much pension is being given up for cash
Function: comm_avc_cash
Purpose: Calculates cash taken from AVC funds only (excluding pension commutation).
Inputs
Same as comm_total_cash
Output
Returns cash from AVC fund only, before any pension commutation.
Calculation Logic
- Calculates total maximum cash allowed
- Takes AVC first up to the maximum
- Returns the lesser of:
- Total AVC fund value
- Maximum cash allowed
Function: comm_net_pension_total
Purpose: Calculates the total residual pension after commutation.
Inputs
Same as comm_total_cash
Output
Returns total pension remaining after commutation, including:
- Residual pension from all slices after commutation
- GMP (which cannot be commuted)
Use Case
Use to determine the ongoing pension payable after taking cash at retirement.
Function: comm_net_pension_slice
Purpose: Calculates the residual pension from a specific pension slice after commutation.
Inputs
All inputs from comm_total_cash plus:
-
Pension net of GMP item - Specific pension slice to calculate
-
Pension before cash commutation - Gross value of the specific slice
Output
Returns residual pension for the specified slice after its portion of commutation.
Use Case
Use when you need to track how individual pension components are affected by commutation.
Key Concepts
Commutation Methods
Commute in Order
- Pension slices are commuted sequentially by priority
- Each slice is fully commuted before moving to the next
- Useful when certain pension types should be commuted first
Proportional Commutation
- Commutation is spread evenly across all eligible slices
- Each slice contributes proportionally to its size
- Maintains balance between different pension components
HMRC Limits
Pre-April 2024
- Maximum cash = 25% of total benefit value
- Subject to Lifetime Allowance (LTA)
- Formula: min(pension × 20 / 3 + 0.25 × excess_AVC, LTA × 0.25)
Post-April 2024
- Subject to Lump Sum Allowance (LSA)
- Personal allowance may override standard LSA
- Protected rights from pre-2006 are preserved
Cash Commutation Factors (CCF)
- Determines exchange rate between pension and cash
- Can be slice-specific or averaged
- Higher factors = more cash per £1 of pension given up
- Factors vary by age and scheme rules
Important Notes
-
GMP Cannot Be Commuted: Guaranteed Minimum Pension must remain as pension income
-
AVC Priority: AVC funds are used for cash before commuting pension
-
Tax-Free Limit: Cash is normally tax-free up to 25% of total benefits
-
Protected Rights: Pre-A-Day protected amounts may allow higher cash
-
Factor Dependencies: Results depend on commutation factors available at retirement date
Error Conditions
The functions will return zero with an error status if:
- Required commutation factors are not available
- Lifetime Allowance/LSA data is missing when needed
- Invalid dates or parameters are provided
- Pension slice configuration is incorrect