Include US debt instrument interest as 1040/2b.
authorRobert Sesek <rsesek@bluestatic.org>
Tue, 17 Mar 2020 23:30:46 +0000 (19:30 -0400)
committerRobert Sesek <rsesek@bluestatic.org>
Tue, 17 Mar 2020 23:30:46 +0000 (19:30 -0400)
src/fed2019/Form1040.test.ts
src/fed2019/Form1040.ts
src/fed2019/Form1099INT.ts

index 6bdb0273d40e6b4ddaa8c74a698aaa31889cef08..7ae22de23cb20d958784fd8de6d172b842213c32 100644 (file)
@@ -54,7 +54,8 @@ test('interest income', () => {
     payer: 'Bank',
     payee: p,
     interest: 100,
-    taxExemptInterest: 0
+    taxExemptInterest: 0,
+    interestOnUsSavingsBondOrTreas: 30
   }));
   tr.addForm(new Form1099INT({
     payer: 'Bank 2',
@@ -67,7 +68,7 @@ test('interest income', () => {
   tr.addForm(f1040);
 
   expect(f1040.getValue(tr, '2a')).toBe(95);
-  expect(f1040.getValue(tr, '2b')).toBe(103.5);
+  expect(f1040.getValue(tr, '2b')).toBe(133.5);
 });
 
 test('dividend income', () => {
index a4ace8723484a41b8797cff89838acfbad50944b..95bf92e9e41e1d207d51d97658aa748eae671d99 100644 (file)
@@ -39,7 +39,11 @@ export default class Form1040 extends Form<Form1040['_lines'], Form1040Input> {
                     (new AccumulatorLine(Form1099DIV, '11')).value(tr);
       return value;
     }, 'Tax-exempt interest'),
-    '2b': new AccumulatorLine(Form1099INT, '1', 'Taxable interest'),
+    '2b': new ComputedLine((tr): number => {
+      const value = (new AccumulatorLine(Form1099INT, '1')).value(tr) +
+                    (new AccumulatorLine(Form1099INT, '3')).value(tr);
+      return value;
+    }, 'Taxable interest'),
     '3a': new AccumulatorLine(Form1099DIV, '1b', 'Qualified dividends'),
     '3b': new AccumulatorLine(Form1099DIV, '1a', 'Ordinary dividends'),
     '4a': new ComputedLine((tr): number => {
index 9e3473387271759749e9ec48b51e79444f16026b..e3390318398088cc5869712a2cfdc80b52c826e0 100644 (file)
@@ -38,7 +38,7 @@ export default class Form1099INT extends Form<Form1099INT['_lines'], Form1099INT
     'recipient': new Input('payee'),
     '1': new Input('interest'),
     '2': new Input('earlyWithdrawalPenalty'),
-    '3': new Input('interestOnUsSavingsBondOrTreas'),
+    '3': new Input('interestOnUsSavingsBondOrTreas', undefined, 0),
     '4': new Input('fedIncomeTax', undefined, 0),
     '5': new Input('investmentExpenses'),
     '6': new Input('foreignTaxPaid', undefined, 0),