Summary
Create UK-specific tax calculation functions similar to US calculate_donation_effects().
Implementation
Create givecalc/uk/tax.py with:
calculate_uk_donation_effects() - Calculate tax impact across donation range
calculate_uk_donation_metrics() - Calculate metrics at specific donation amount
create_uk_donation_dataframe() - Build DataFrame with analysis results
Key UK Tax Variables
income_tax: Total income tax liability
household_benefits: Total benefits received
household_net_income: Market income + benefits - taxes
gift_aid: Charitable donations via Gift Aid
UK Gift Aid Mechanics
Gift Aid provides tax relief in two ways:
- Charity reclaim: Charity claims 25p per £1 donated (basic rate relief)
- Donor relief: Higher/additional rate taxpayers claim additional relief
For a £100 donation by a 40% taxpayer:
- Charity receives: £100 + £25 (basic rate reclaim) = £125
- Donor claims: £25 (difference between 40% and 20% on £125 gross)
- Net cost to donor: £100 - £25 = £75
- Total charity benefit: £125
- Total government subsidy: £50 (£25 to charity + £25 to donor)
Acceptance Criteria
Part of #59
Summary
Create UK-specific tax calculation functions similar to US
calculate_donation_effects().Implementation
Create
givecalc/uk/tax.pywith:calculate_uk_donation_effects()- Calculate tax impact across donation rangecalculate_uk_donation_metrics()- Calculate metrics at specific donation amountcreate_uk_donation_dataframe()- Build DataFrame with analysis resultsKey UK Tax Variables
income_tax: Total income tax liabilityhousehold_benefits: Total benefits receivedhousehold_net_income: Market income + benefits - taxesgift_aid: Charitable donations via Gift AidUK Gift Aid Mechanics
Gift Aid provides tax relief in two ways:
For a £100 donation by a 40% taxpayer:
Acceptance Criteria
Part of #59