Include exempt interest dividends in 1040-2a.
authorRobert Sesek <rsesek@bluestatic.org>
Tue, 17 Mar 2020 03:22:02 +0000 (23:22 -0400)
committerRobert Sesek <rsesek@bluestatic.org>
Tue, 17 Mar 2020 03:22:02 +0000 (23:22 -0400)
src/fed2019/Form1040.test.ts
src/fed2019/Form1040.ts

index 2826d6240b9adbcf0631e877aa8b9cf513d6bfb9..6bdb0273d40e6b4ddaa8c74a698aaa31889cef08 100644 (file)
@@ -91,6 +91,28 @@ test('dividend income', () => {
   expect(f1040.getValue(tr, '3b')).toBe(200);
 });
 
+test('tax-exempt interest', () => {
+  const p = Person.self('A');
+  const tr = new TaxReturn();
+  tr.addPerson(p);
+  tr.addForm(new Form1099DIV({
+    payer: 'Brokerage',
+    payee: p,
+    exemptInterestDividends: 100,
+  }));
+  tr.addForm(new Form1099INT({
+    payer: 'Bank',
+    payee: p,
+    interest: 0,
+    taxExemptInterest: 50
+  }));
+
+  const f1040 = new Form1040();
+  tr.addForm(f1040);
+
+  expect(f1040.getValue(tr, '2a')).toBe(150);
+});
+
 test('capital gain/loss', () => {
   const p = Person.self('A');
   const tr = new TaxReturn();
index 96627d0c3e5941a847d7f69d8ed4af3cd6d8703a..eacae09fc5703c67d27846f994e15026d8c85c7a 100644 (file)
@@ -34,7 +34,11 @@ export default class Form1040 extends Form<Form1040['_lines'], Form1040Input> {
 
   protected readonly _lines = {
     '1': new AccumulatorLine(W2, '1', 'Wages, salaries, tips, etc.'),
-    '2a': new AccumulatorLine(Form1099INT, '8', 'Tax-exempt interest'),
+    '2a': new ComputedLine((tr): number => {
+      const value = (new AccumulatorLine(Form1099INT, '8')).value(tr) +
+                    (new AccumulatorLine(Form1099DIV, '11')).value(tr);
+      return value;
+    }, 'Tax-exempt interest'),
     '2b': new AccumulatorLine(Form1099INT, '1', 'Taxable interest'),
     '3a': new AccumulatorLine(Form1099DIV, '1b', 'Qualified dividends'),
     '3b': new AccumulatorLine(Form1099DIV, '1a', 'Ordinary dividends'),