Fix some remaining bugs in tax computation.
authorRobert Sesek <rsesek@bluestatic.org>
Wed, 18 Mar 2020 05:32:03 +0000 (01:32 -0400)
committerRobert Sesek <rsesek@bluestatic.org>
Wed, 18 Mar 2020 05:32:03 +0000 (01:32 -0400)
src/fed2019/Form1040.ts
src/fed2019/Form8960.ts

index 95bf92e9e41e1d207d51d97658aa748eae671d99..7d1a98619292f3fc352b610005a8ecfe77e2dde0 100644 (file)
@@ -259,7 +259,7 @@ export class QDCGTaxWorksheet extends Form<QDCGTaxWorksheet['_lines']> {
     '3': new ComputedLine((tr): number => {
       const schedD = tr.findForm(ScheduleD);
       if (schedD)
-        return Math.min(schedD.getValue(tr, '15'), schedD.getValue(tr, '16'));
+        return clampToZero(Math.min(schedD.getValue(tr, '15'), schedD.getValue(tr, '16')));
       return tr.getForm(Form1040).getValue(tr, '6');
     }),
     '4': new ComputedLine((tr): number => this.getValue(tr, '2') + this.getValue(tr, '3')),
index 0373aea6db46d24b06b13fe6bfc2732aada06d40..46f45a81b6e05b93a1f9717728f932fa8d39bdfb 100644 (file)
@@ -5,7 +5,7 @@
 
 import { Form, TaxReturn } from '../core';
 import { ComputedLine, ReferenceLine } from '../core/Line';
-import { clampToZero } from '../core/Math';
+import { clampToZero, undefinedToZero } from '../core/Math';
 
 import Form1040, { FilingStatus } from './Form1040';
 import Schedule1 from './Schedule1';
@@ -24,7 +24,7 @@ export default class Form8960 extends Form<Form8960['_lines']> {
     // 4c not supported - 4a+4b
     '5a': new ComputedLine((tr): number => {
       return (new ReferenceLine(Form1040, '6')).value(tr) +
-             (new ReferenceLine(Schedule1, '4', undefined, 0)).value(tr);
+             undefinedToZero(new ReferenceLine(Schedule1, '4', undefined, 0).value(tr));
     }, 'Net gain or loss'),
     // 5b not supported - Net gain or loss from disposition of property that is not subject to net investment income tax
     // 5c not supported - Adjustment from disposition of partnership interest or S corporation stock