Closed ChrisCScott closed 6 years ago
The spousal tax credit amount differs between provincial and federal jurisdictions. See this CRA explainer for more on spousal tax credit rules.
TaxSource
is set up to assume that tax_credit
and tax_deduction
return Money
objects, and not (e.g.) dicts of {jurisdiction: Money}
pairs. This makes it hard to deal with credits and deductions that differ between jurisdictions in TaxSource
subclasses like Person
or CanadianResident
.
For now, rather than redesign TaxSource
, implement the relevant logic in TaxCanada
and/or TaxCanadaJurisdiction
, as described in #41.
Subclass
Person
intoCanadianResident
, overridetax_credit
to provide the spousal tax credit, and replace thetax_treatment
arg with aprovince
(str) arg that's passed through toTaxCanada
(built byCanadianResident
at init time).