private static void AddIncomeTax(decimal payeSalary, decimal privatePension, decimal statePension, RentalIncomeForTax rentalIncome, TaxResult result) { var taxBands = TaxBands.InitialEngland2020(); taxBands.UpdatePersonalAllowance(payeSalary, privatePension, statePension, rentalIncome?.GetIncomeToPayTaxOn() ?? 0); taxBands = UpdateTaxResultWithIncome(result, payeSalary, IncomeType.Salary, taxBands); taxBands = UpdateTaxResultWithIncome(result, privatePension, IncomeType.PrivatePension, taxBands); taxBands = UpdateTaxResultWithIncome(result, statePension, IncomeType.StatePension, taxBands); UpdateTaxResultWithIncome(result, rentalIncome?.GetIncomeToPayTaxOn() ?? 0, IncomeType.RentalIncome, taxBands, rentalIncome?.GetNetIncome(), rentalIncome?.TaxDeductibleFinancingCosts() ?? 0); }
public ITaxResult TaxFor(decimal payeSalary, decimal privatePension = 0, decimal statePension = 0, RentalIncomeForTax rentalIncome = null) { var result = new TaxResult(); AddIncomeTax(payeSalary, privatePension, statePension, rentalIncome, result); AddNationalInsurance(payeSalary, result); return(result); }