Add the initial fed2021 overlay.
authorRobert Sesek <rsesek@bluestatic.org>
Fri, 5 Feb 2021 23:37:09 +0000 (18:37 -0500)
committerRobert Sesek <rsesek@bluestatic.org>
Fri, 5 Feb 2021 23:37:09 +0000 (18:37 -0500)
This just contains the inflation-adjusted constants from
Rev. Proc. 2020-45.

src/fed2021/TaxReturn.ts [new file with mode: 0644]
src/fed2021/index.ts [new file with mode: 0644]

diff --git a/src/fed2021/TaxReturn.ts b/src/fed2021/TaxReturn.ts
new file mode 100644 (file)
index 0000000..6ccc5c6
--- /dev/null
@@ -0,0 +1,94 @@
+// Copyright 2021 Blue Static <https://www.bluestatic.org>
+// This program is free software licensed under the GNU General Public License,
+// version 3.0. The full text of the license can be found in LICENSE.txt.
+// SPDX-License-Identifier: GPL-3.0-only
+
+import { default as TaxReturn_2020, Constants as Constants_2020 } from '../fed2020/TaxReturn';
+
+import { FilingStatus } from '.';
+
+// Rev. Proc 2020-45: https://www.irs.gov/pub/irs-drop/rp-20-45.pdf
+export const Constants = {
+  ...Constants_2020,
+
+  taxBrackets: {
+    [FilingStatus.MarriedFilingJoint]: [
+      [ 19_900, 0.10, 0 ],
+      [ 81_050, 0.12, 1_990 ],
+      [ 172_750, 0.22, 9_328 ],
+      [ 329_850, 0.24, 29_502 ],
+      [ 418_850, 0.32, 67_206 ],
+      [ 628_300, 0.35, 95_686 ],
+      [ Infinity, 0.37, 168_993.50 ]
+    ],
+    [FilingStatus.Single]: [
+      [ 9_950, 0.10, 0 ],
+      [ 40_525, 0.12, 995 ],
+      [ 86_375 , 0.22, 4_664 ],
+      [ 164_925, 0.24, 14_751 ],
+      [ 209_425, 0.32, 33_603 ],
+      [ 523_600, 0.35, 47_843 ],
+      [ Infinity, 0.37, 157_804.25 ]
+    ],
+    [FilingStatus.MarriedFilingSeparate]: [
+      [ 9_950, 0.10, 0 ],
+      [ 40_525, 0.12, 995 ],
+      [ 86_375, 0.22, 4_664 ],
+      [ 164_925, 0.24, 14_751 ],
+      [ 209_425, 0.32, 33_603 ],
+      [ 314_150, 0.35, 47_843 ],
+      [ Infinity, 0.37, 84_496.75 ]
+    ],
+  },
+
+  standardDeduction: {
+    [FilingStatus.MarriedFilingJoint]: 25_100,
+    [FilingStatus.Single]: 12_550,
+    [FilingStatus.MarriedFilingSeparate]: 12_550,
+  },
+
+  capitalGains: {
+    rate0MaxIncome: {
+      [FilingStatus.MarriedFilingJoint]: 80_800,
+      [FilingStatus.Single]: 40_400,
+      [FilingStatus.MarriedFilingSeparate]: 40_400,
+    },
+    rate15MaxIncome: {
+      [FilingStatus.MarriedFilingJoint]: 501_600,
+      [FilingStatus.MarriedFilingSeparate]: 250_800,
+      [FilingStatus.Single]: 445_850,
+    },
+  },
+
+  qualifiedBusinessIncomeDeductionThreshold: {
+    [FilingStatus.MarriedFilingJoint]: 329_800,
+    [FilingStatus.MarriedFilingSeparate]: 164_925,
+    [FilingStatus.Single]: 164_900,
+  },
+
+  amt: {
+    exemption: {
+      [FilingStatus.MarriedFilingJoint]: 114_600,
+      [FilingStatus.Single]: 73_600,
+      [FilingStatus.MarriedFilingSeparate]: 57_300,
+    },
+    phaseout: {
+      [FilingStatus.MarriedFilingJoint]: 1_047_200,
+      [FilingStatus.Single]: 523_600,
+      [FilingStatus.MarriedFilingSeparate]: 523_600,
+    },
+    limitForRate28Percent: {
+      [FilingStatus.MarriedFilingJoint]: 199_900,
+      [FilingStatus.Single]: 199_900,
+      [FilingStatus.MarriedFilingSeparate]: 99_950,
+    },
+  },
+
+  prevYearStandardDeduction: Constants_2020.standardDeduction,
+};
+
+export default class TaxReturn extends TaxReturn_2020 {
+  readonly constants = Constants;
+
+  get year() { return 2021; }
+}
diff --git a/src/fed2021/index.ts b/src/fed2021/index.ts
new file mode 100644 (file)
index 0000000..a9e3577
--- /dev/null
@@ -0,0 +1,8 @@
+// Copyright 2021 Blue Static <https://www.bluestatic.org>
+// This program is free software licensed under the GNU General Public License,
+// version 3.0. The full text of the license can be found in LICENSE.txt.
+// SPDX-License-Identifier: GPL-3.0-only
+
+export * from '../fed2020';
+
+export { default as TaxReturn } from './TaxReturn';