Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Common taxes and helpers.
Synopsis
- data TaxTables y a = TaxTables {
- ttIndividualIncomeTax :: Tax (Money a) (Money a)
- ttMedicareLevy :: Tax (Money a) (Money a)
- ttMedicareLevySurcharge :: Tax (Money a) (Money a)
- ttHelp :: Tax (Money a) (Money a)
- ttSfss :: Tax (Money a) (Money a)
- ttAdditional :: Tax (Money a) (Money a)
- ttPHIRebateRates :: PrivateHealthInsuranceRebateRates a
- class HasIncome a b c where
- medicareLevy :: (Fractional a, Ord a) => Money a -> Tax (Money a) (Money a)
- medicareLevySurcharge :: (Fractional a, Ord a) => Tax (Money a) (Money a)
- lowIncomeTaxOffset :: (Fractional a, Ord a) => Tax (Money a) (Money a)
- lowIncomeTaxOffset2021 :: (Fractional a, Ord a) => Tax (Money a) (Money a)
- lamito :: (Fractional a, Ord a) => Tax (Money a) (Money a)
- corporateTax :: Fractional a => Tax (Money a) (Money a)
- thresholds' :: (Fractional a, Ord a) => [(a, a)] -> Tax (Money a) (Money a)
- marginal' :: (Fractional a, Ord a) => [(a, a)] -> Tax (Money a) (Money a)
Tax tables
A set of tax tables for a particular financial year
TaxTables | |
|
Classes
class HasIncome a b c where Source #
Types that have an income value.
Instances
RealFrac a => HasIncome Dividend (a :: Type) a Source # | Attributable income |
Num a => HasIncome ESSStatement (a :: Type) a Source # | Note: does not implement the reduction of taxed up front amounts eligible for reduction. |
Defined in Data.Tax.ATO | |
HasIncome GrossAndWithheld (a :: Type) a Source # | |
Defined in Data.Tax.ATO | |
HasIncome PaymentSummary (a :: Type) a Source # | Gross income |
Defined in Data.Tax.ATO | |
HasIncome TaxAssessment (a :: Type) a Source # | Taxable income |
Defined in Data.Tax.ATO | |
RealFrac a => HasIncome (TaxReturnInfo y :: Type -> Type) (a :: Type) a Source # | Taxable income |
Defined in Data.Tax.ATO | |
(Foldable t, HasIncome x a a, Num a) => HasIncome (t :: TYPE LiftedRep -> Type) (x a :: TYPE LiftedRep) a Source # | |
Common taxes and helpers
medicareLevy :: (Fractional a, Ord a) => Money a -> Tax (Money a) (Money a) Source #
The Medicare levy, incorporating the Medicare levy reduction. The rate is 10% of the income above the given shade-in threshold or 2% of the total income, whichever is less.
medicareLevySurcharge :: (Fractional a, Ord a) => Tax (Money a) (Money a) Source #
Medicare levy surcharge (MLS). Certain exemptions are available.
Known issues: the MLS is levied on taxable income + fringe benefits, but this is not implemented properly yet. The thresholds are affected by family income and number of dependents; this also is not implemented.
lowIncomeTaxOffset :: (Fractional a, Ord a) => Tax (Money a) (Money a) Source #
Low income tax offset (LITO). $445, reduced by 1.5c for every dollar earned over $37,000. The lump amount may change in the future.
lowIncomeTaxOffset2021 :: (Fractional a, Ord a) => Tax (Money a) (Money a) Source #
Low income tax offset, 2020–21 version.
lamito :: (Fractional a, Ord a) => Tax (Money a) (Money a) Source #
Low and middle income tax offset. FY2019, 2020, 2021.
corporateTax :: Fractional a => Tax (Money a) (Money a) Source #
The corporate tax rate of 30%. In the future, different rates may be levied depending on business turnover/income.
Convenience functions
thresholds' :: (Fractional a, Ord a) => [(a, a)] -> Tax (Money a) (Money a) Source #
Convenience wrapper for thresholds
. Turns the thresholds into Money