This matches Schedules.
import Form8606 from './Form8606';
import Form8959 from './Form8959';
import Form8949 from './Form8949';
-import FormW2 from './FormW2';
+import W2 from './W2';
test('w2 wages', () => {
const pa = Person.self('A');
const pb = Person.spouse('B');
const tr = new TaxReturn(2019);
- tr.addForm(new FormW2({
+ tr.addForm(new W2({
employer: 'AA',
employee: pa,
wages: 130000.00,
fedIncomeTax: 0,
medicareWages: 0,
}));
- tr.addForm(new FormW2({
+ tr.addForm(new W2({
employer: 'BB',
employee: pb,
wages: 36.32,
const p = Person.self('A');
const tr = new TaxReturn(2019);
tr.addForm(new Form1040({ filingStatus: FilingStatus.Single }));
- tr.addForm(new FormW2({
+ tr.addForm(new W2({
employer: 'Money',
employee: p,
wages: 150000
test('require Form8959', () => {
const p = Person.self('A');
const tr = new TaxReturn(2019);
- tr.addForm(new FormW2({
+ tr.addForm(new W2({
employer: 'Company',
employee: p,
wages: 400000,
import Form1099INT from './Form1099INT';
import Form1099DIV from './Form1099DIV';
import Form1099R, { Box7Code } from './Form1099R';
-import FormW2 from './FormW2';
+import W2 from './W2';
import Schedule1 from './Schedule1';
import Schedule2 from './Schedule2';
import Schedule3 from './Schedule3';
readonly name = '1040';
protected readonly _lines = {
- '1': new AccumulatorLine(FormW2, '1', 'Wages, salaries, tips, etc.'),
+ '1': new AccumulatorLine(W2, '1', 'Wages, salaries, tips, etc.'),
'2a': new AccumulatorLine(Form1099INT, '8', 'Tax-exempt interest'),
'2b': new AccumulatorLine(Form1099INT, '1', 'Taxable interest'),
'3a': new AccumulatorLine(Form1099DIV, '1b', 'Qualified dividends'),
'17': new ComputedLine((tr): number => {
const fedTaxWithheldBoxes = [
- new AccumulatorLine(FormW2, '2'),
+ new AccumulatorLine(W2, '2'),
new AccumulatorLine(Form1099R, '4'),
new AccumulatorLine(Form1099DIV, '4'),
new AccumulatorLine(Form1099INT, '4'),
import Form1099B, { GainType } from './Form1099B';
import Form1099DIV from './Form1099DIV';
import Form8949 from './Form8949';
-import FormW2 from './FormW2';
+import W2 from './W2';
import ScheduleD from './ScheduleD';
test('supported income category', () => {
tr.addForm(new Form1040({
filingStatus: FilingStatus.MarriedFilingJoint
}));
- tr.addForm(new FormW2({
+ tr.addForm(new W2({
employer: 'ACME',
employee: p,
wages: 697000,
tr.addForm(new Form1040({
filingStatus: FilingStatus.MarriedFilingJoint
}));
- tr.addForm(new FormW2({
+ tr.addForm(new W2({
employer: 'Megacorp',
employee: p,
wages: 200000
import { Person, TaxReturn } from '../core';
-import FormW2 from './FormW2';
+import W2 from './W2';
import Form8959 from './Form8959';
import Form1040, { FilingStatus } from './Form1040';
import Schedule2 from './Schedule2';
const p = Person.self('A');
const tr = new TaxReturn(2019);
tr.addForm(new Form1040({ filingStatus }));
- tr.addForm(new FormW2({
+ tr.addForm(new W2({
employer: 'Acme',
employee: p,
wages: 300000,
const p = Person.self('A');
const tr = new TaxReturn(2019);
tr.addForm(new Form1040({ filingStatus }));
- tr.addForm(new FormW2({
+ tr.addForm(new W2({
employer: 'Acme',
employee: p,
wages: 110000,
import { clampToZero } from '../core/Math';
import Form1040, { FilingStatus } from './Form1040';
-import FormW2 from './FormW2';
+import W2 from './W2';
export default class Form8959 extends Form<Form8959['_lines']> {
readonly name = '8959';
protected readonly _lines = {
- '1': new AccumulatorLine(FormW2, '5', 'Medicare wages'),
+ '1': new AccumulatorLine(W2, '5', 'Medicare wages'),
// 2 is not supported (Unreported tips from Form 4137)
// 3 is not supported (Wages from Form 8919)
'4': new ComputedLine((tr): number => {
return this.getValue(tr, '7');
}),
- '19': new AccumulatorLine(FormW2, '6', 'Medicare tax withheld'),
+ '19': new AccumulatorLine(W2, '6', 'Medicare tax withheld'),
'20': new ReferenceLine(Form8959 as any, '1'),
'21': new ComputedLine((tr): number => {
return this.getValue(tr, '20') * 0.0145;
import { Person, TaxReturn } from '../core';
-import FormW2 from './FormW2';
+import W2 from './W2';
import Form1040, { FilingStatus } from './Form1040';
import Form1099B, { GainType } from './Form1099B';
import Form1099DIV from './Form1099DIV';
}));
tr.addForm(new Form8949);
tr.addForm(new ScheduleD);
- tr.addForm(new FormW2({
+ tr.addForm(new W2({
employer: 'Acme',
employee: p,
wages: 300000,
}));
tr.addForm(new Form8949);
tr.addForm(new ScheduleD);
- tr.addForm(new FormW2({
+ tr.addForm(new W2({
employer: 'Acme',
employee: p,
wages: 70000,
import { Person, TaxReturn } from '../core';
-import W2 from './FormW2';
+import W2 from './W2';
test('input', () => {
const p = Person.self('Bob');
export { default as Schedule2 } from './Schedule2';
export { default as Schedule3 } from './Schedule3';
export { default as ScheduleD } from './ScheduleD';
-export { default as W2 } from './FormW2';
+export { default as W2 } from './W2';
export * from './Form1040';
export * from './Form1099B';
export * from './Form1099R';
export * from './Form1116';
export * from './Form8949';
-export * from './FormW2';
+export * from './W2';