1, 'template_page' => 1, 'value' => '940 for ' . $this->year, 'on_background' => true, 'coordinates' => [ 'x' => 53, 'y' => 30, 'h' => 28, 'w' => 99, 'halign' => 'C', 'fill_color' => [ 255, 255, 255 ], ], 'font' => [ 'size' => 16, 'type' => 'B', ], ], [ 'value' => $this->year, //Type of Return section 'on_background' => true, 'coordinates' => [ 'x' => 449, 'y' => 140, 'h' => 8, 'w' => 20, 'halign' => 'C', 'fill_color' => [ 245, 245, 245 ], ], 'font' => [ 'size' => 9, ], ], [ 'value' => '(' . $this->year . ')', //Page Footer 'on_background' => true, 'coordinates' => [ 'x' => 556, 'y' => 757, 'h' => 11, 'w' => 25, 'halign' => 'C', 'fill_color' => [ 255, 255, 255 ], ], 'font' => [ 'size' => 7, ], ], //Finish initializing page 1. 'ein' => [ 'page' => 1, 'template_page' => 1, 'function' => [ 'prefilter' => [ 'stripNonNumeric', 'isNumeric' ], 'draw' => 'drawChars' ], //custom drawing function. 'coordinates' => [ [ 'type' => 'static', //static or relative 'x' => 152, 'y' => 67, 'h' => 18, 'w' => 19, 'halign' => 'C', ], [ 'x' => 180, 'y' => 67, 'h' => 18, 'w' => 19, 'halign' => 'C', ], [ 'x' => 218, 'y' => 67, 'h' => 18, 'w' => 19, 'halign' => 'C', ], [ 'x' => 243, 'y' => 67, 'h' => 18, 'w' => 19, 'halign' => 'C', ], [ 'x' => 268, 'y' => 67, 'h' => 18, 'w' => 19, 'halign' => 'C', ], [ 'x' => 294, 'y' => 67, 'h' => 18, 'w' => 19, 'halign' => 'C', ], [ 'x' => 320, 'y' => 67, 'h' => 18, 'w' => 19, 'halign' => 'C', ], [ 'x' => 345, 'y' => 67, 'h' => 18, 'w' => 19, 'halign' => 'C', ], [ 'x' => 370, 'y' => 67, 'h' => 18, 'w' => 19, 'halign' => 'C', ], ], 'font' => [ 'size' => 12, 'type' => 'B', ], ], 'name' => [ 'coordinates' => [ 'x' => 136, 'y' => 91, 'h' => 18, 'w' => 252, 'halign' => 'L', ], ], 'trade_name' => [ 'coordinates' => [ 'x' => 115, 'y' => 115, 'h' => 18, 'w' => 273, 'halign' => 'L', ], ], 'address' => [ 'coordinates' => [ 'x' => 79, 'y' => 139, 'h' => 18, 'w' => 310, 'halign' => 'L', ], ], 'city' => [ 'coordinates' => [ 'x' => 79, 'y' => 174, 'h' => 18, 'w' => 186, 'halign' => 'L', ], ], 'state' => [ 'coordinates' => [ 'x' => 274, 'y' => 174, 'h' => 18, 'w' => 36, 'halign' => 'C', ], ], 'zip_code' => [ 'coordinates' => [ 'x' => 317, 'y' => 174, 'h' => 18, 'w' => 72, 'halign' => 'C', ], ], 'return_type' => [ 'function' => [ 'draw' => 'drawCheckBox' ], 'coordinates' => [ 'a' => [ 'x' => 426, 'y' => 97, 'h' => 11, 'w' => 12, 'halign' => 'C', ], 'b' => [ 'x' => 426, 'y' => 115, 'h' => 11, 'w' => 12, 'halign' => 'C', ], 'c' => [ 'x' => 426, 'y' => 133, 'h' => 11, 'w' => 12, 'halign' => 'C', ], 'd' => [ 'x' => 426, 'y' => 151, 'h' => 11, 'w' => 12, 'halign' => 'C', ], ], 'font' => [ 'size' => 10, 'type' => 'B', ], ], 'l1a' => [ 'function' => [ 'draw' => 'drawChars' ], 'coordinates' => [ [ 'x' => 455, 'y' => 270, 'h' => 18, 'w' => 22, 'halign' => 'C', ], [ 'x' => 490, 'y' => 270, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l1b' => [ 'function' => [ 'draw' => 'drawCheckbox' ], 'coordinates' => [ [ 'x' => 454, 'y' => 299, 'h' => 8, 'w' => 10, 'halign' => 'C', ], ], 'font' => [ 'size' => 10, 'type' => 'B', ], ], 'l2' => [ 'function' => [ 'draw' => [ 'filterL2', 'drawCheckbox' ] ], 'coordinates' => [ [ 'x' => 454, 'y' => 317, 'h' => 8, 'w' => 10, 'halign' => 'C', ], ], 'font' => [ 'size' => 10, 'type' => 'B', ], ], 'l3' => [ 'function' => [ 'draw' => 'drawSplitDecimalFloat' ], 'coordinates' => [ [ 'x' => 454, 'y' => 354, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 554, 'y' => 354, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l4' => [ 'function' => [ 'draw' => 'drawSplitDecimalFloat' ], 'coordinates' => [ [ 'x' => 310, 'y' => 372, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 410, 'y' => 372, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l4a' => [ 'function' => [ 'draw' => 'drawCheckbox' ], 'coordinates' => [ [ 'x' => 158.5, 'y' => 395.5, 'h' => 8, 'w' => 10, 'halign' => 'C', ], ], 'font' => [ 'size' => 10, 'type' => 'B', ], ], 'l4b' => [ 'function' => [ 'draw' => 'drawCheckbox' ], 'coordinates' => [ [ 'x' => 158.5, 'y' => 406, 'h' => 8, 'w' => 10, 'halign' => 'C', ], ], 'font' => [ 'size' => 10, 'type' => 'B', ], ], 'l4c' => [ 'function' => [ 'draw' => 'drawCheckbox' ], 'coordinates' => [ [ 'x' => 310, 'y' => 395.5, 'h' => 8, 'w' => 10, 'halign' => 'C', ], ], 'font' => [ 'size' => 10, 'type' => 'B', ], ], 'l4d' => [ 'function' => [ 'draw' => 'drawCheckbox' ], 'coordinates' => [ [ 'x' => 310, 'y' => 406, 'h' => 8, 'w' => 10, 'halign' => 'C', ], ], 'font' => [ 'size' => 10, 'type' => 'B', ], ], 'l4e' => [ 'function' => [ 'draw' => 'drawCheckbox' ], 'coordinates' => [ [ 'x' => 432, 'y' => 395.5, 'h' => 8, 'w' => 10, 'halign' => 'C', ], ], 'font' => [ 'size' => 10, 'type' => 'B', ], ], 'l5' => [ 'function' => [ 'draw' => 'drawSplitDecimalFloat' ], 'coordinates' => [ [ 'x' => 310, 'y' => 426, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 410, 'y' => 426, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l6' => [ 'function' => [ 'calc' => 'calcL6', 'draw' => [ 'drawSplitDecimalFloat' ] ], 'coordinates' => [ [ 'x' => 454, 'y' => 444.5, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 554, 'y' => 444.5, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l7' => [ 'function' => [ 'calc' => 'calcL7', 'draw' => [ 'drawSplitDecimalFloat' ] ], 'coordinates' => [ [ 'x' => 454, 'y' => 468, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 554, 'y' => 468, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l8' => [ 'function' => [ 'calc' => 'calcL8', 'draw' => [ 'drawSplitDecimalFloat' ] ], 'coordinates' => [ [ 'x' => 454, 'y' => 492.5, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 554, 'y' => 492.5, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l9' => [ 'function' => [ 'calc' => 'calcL9', 'draw' => [ 'drawSplitDecimalFloat' ] ], 'coordinates' => [ [ 'x' => 454, 'y' => 533, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 554, 'y' => 533, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l10' => [ 'function' => [ 'draw' => [ 'filterL10', 'drawSplitDecimalFloat' ] ], 'coordinates' => [ [ 'x' => 454, 'y' => 564, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 554, 'y' => 564, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l11' => [ 'function' => [ 'draw' => [ 'filterL11', 'drawSplitDecimalFloat' ] ], 'coordinates' => [ [ 'x' => 454, 'y' => 586, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 554, 'y' => 586, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l12' => [ 'function' => [ 'calc' => 'calcL12', 'draw' => [ 'drawSplitDecimalFloat' ] ], 'coordinates' => [ [ 'x' => 454, 'y' => 623, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 554, 'y' => 623, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l13' => [ 'function' => [ 'calc' => 'calcL13', 'draw' => [ 'drawSplitDecimalFloat' ] ], 'draw_zero_value' => true, 'coordinates' => [ [ 'x' => 454, 'y' => 646, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 554, 'y' => 646, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l14' => [ 'function' => [ 'calc' => 'calcL14', 'draw' => [ 'drawSplitDecimalFloat' ] ], 'coordinates' => [ [ 'x' => 454, 'y' => 684, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 554, 'y' => 684, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l15' => [ 'function' => [ 'calc' => 'calcL15', 'draw' => [ 'drawSplitDecimalFloat' ] ], 'coordinates' => [ [ 'x' => 454, 'y' => 708, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 554, 'y' => 708, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l15a' => [ 'function' => [ 'draw' => [ 'filterL15', 'drawCheckbox' ] ], 'coordinates' => [ [ 'x' => 420.5, 'y' => 727, 'h' => 8, 'w' => 10, 'halign' => 'C', ], ], 'font' => [ 'size' => 10, 'type' => 'B', ], ], 'l15b' => [ 'function' => [ 'draw' => [ 'filterL15', 'drawCheckbox' ] ], 'coordinates' => [ [ 'x' => 492, 'y' => 727, 'h' => 8, 'w' => 10, 'halign' => 'C', ], ], 'font' => [ 'size' => 10, 'type' => 'B', ], ], //Initialize Page 2 [ 'page' => 2, 'template_page' => 2, 'value' => $this->name, 'coordinates' => [ 'x' => 37, 'y' => 56, 'h' => 15, 'w' => 355, 'halign' => 'L', ], ], [ 'value' => $this->ein, 'coordinates' => [ 'x' => 400, 'y' => 56, 'h' => 15, 'w' => 175, 'halign' => 'C', ], ], [ 'value' => '(' . $this->year . ')', 'on_background' => true, 'coordinates' => [ 'x' => 554, 'y' => 697, 'h' => 11, 'w' => 25, 'halign' => 'C', 'fill_color' => [ 255, 255, 255 ], ], 'font' => [ 'size' => 7, ], ], //Finish initialize Page 2 'l16a' => [ 'page' => 2, 'template_page' => 2, 'function' => [ 'draw' => [ 'filterL16', 'drawSplitDecimalFloat' ] ], 'coordinates' => [ [ 'x' => 346, 'y' => 120, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 446, 'y' => 120, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l16b' => [ 'function' => [ 'draw' => [ 'filterL16', 'drawSplitDecimalFloat' ] ], 'coordinates' => [ [ 'x' => 346, 'y' => 144, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 446, 'y' => 144, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l16c' => [ 'function' => [ 'draw' => [ 'filterL16', 'drawSplitDecimalFloat' ] ], 'coordinates' => [ [ 'x' => 346, 'y' => 168, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 446, 'y' => 168, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l16d' => [ 'function' => [ 'draw' => [ 'filterL16', 'calcL16d', 'drawSplitDecimalFloat' ] ], 'coordinates' => [ [ 'x' => 346, 'y' => 192, 'h' => 18, 'w' => 95, 'halign' => 'R', ], [ 'x' => 446, 'y' => 192, 'h' => 18, 'w' => 23, 'halign' => 'C', ], ], ], 'l17' => [ 'function' => [ 'calc' => 'calcL17', 'draw' => [ 'drawSplitDecimalFloat', 'showL17MisMatchTotals' ] ], 'coordinates' => [ [ 'x' => 346, 'y' => 216.5, 'h' => 17, 'w' => 95, 'halign' => 'R', ], [ 'x' => 446, 'y' => 216.5, 'h' => 17, 'w' => 22, 'halign' => 'C', ], ], ], //Initialize Page 3 [ 'page' => 3, 'template_page' => 3, 'value' => substr( $this->year, 2, 2 ), 'on_background' => true, 'coordinates' => [ //Large print in payment voucher. 'x' => 536, 'y' => 582.5, 'h' => 0, 'w' => 30, 'halign' => 'L', 'fill_color' => [ 255, 255, 255 ], ], 'font' => [ 'size' => 18, 'type' => 'B', ], ], [ 'value' => $this->year, 'on_background' => true, 'coordinates' => [ 'x' => 258, 'y' => 174.5, 'h' => 11, 'w' => 22, 'halign' => 'C', 'fill_color' => [ 255, 255, 255 ], ], 'font' => [ 'size' => 10, ], ], [ 'value' => $this->year, 'on_background' => true, 'coordinates' => [ 'x' => 397.5, 'y' => 260, 'h' => 11, 'w' => 22, 'halign' => 'C', 'fill_color' => [ 255, 255, 255 ], ], 'font' => [ 'size' => 10, ], ], //Finish initialize Page 3 [ 'page' => 3, 'template_page' => 3, 'value' => $this->ein, //'function' => 'drawPage3EIN', 'coordinates' => [ 'x' => 95, 'y' => 620, 'h' => 15, 'w' => 100, 'halign' => 'C', ], 'font' => [ 'size' => 10, ], ], [ 'function' => [ 'calc' => 'calcL14', 'draw' => [ 'drawSplitDecimalFloat' ] ], 'coordinates' => [ [ 'x' => 440, 'y' => 613, 'h' => 15, 'w' => 95, 'halign' => 'R', ], [ 'x' => 542, 'y' => 613, 'h' => 15, 'w' => 32, 'halign' => 'C', ], ], 'font' => [ 'size' => 22, ], ], [ 'value' => $this->trade_name, 'coordinates' => [ 'x' => 229, 'y' => 651, 'h' => 15, 'w' => 250, 'halign' => 'L', ], 'font' => [ 'size' => 10, ], ], [ 'value' => $this->address, 'coordinates' => [ 'x' => 229, 'y' => 674, 'h' => 15, 'w' => 250, 'halign' => 'L', ], 'font' => [ 'size' => 10, ], ], [ 'value' => $this->city . ', ' . $this->state . ', ' . $this->zip_code, 'coordinates' => [ 'x' => 229, 'y' => 698, 'h' => 15, 'w' => 250, 'halign' => 'L', ], 'font' => [ 'size' => 10, ], ], ]; if ( isset( $template_schema[$name] ) ) { return $name; } else { return $template_schema; } } function filterL2( $value ) { if ( $this->l11 > 0 ) { return true; } return false; } function filterL10( $value ) { if ( $this->l9 > 0 ) { //If L9 is specified, L10 does not apply. return false; } return $value; } function filterL11( $value ) { if ( $this->l9 > 0 ) { //If L9 is specified, L11 does not apply. return false; } return $value; } function calcL13( $value, $schema ) { if ( $this->l13 != '' ) { return $value; } else { $this->l13 = $this->l12; //If no deposit amount is specified, assume they deposit the amount calculated. return $this->l13; } } function filterL15( $value ) { if ( $this->l15 > 0 ) { return $value; } return false; } function filterL16( $value ) { if ( $this->l12 > $this->line_16_cutoff_amount ) { return $value; } return false; } function calcL6( $value, $schema ) { //Subtotal: Line 4 + Line 5 $this->l6 = bcadd( $this->l4, $this->l5 ); return $this->l6; } function calcL7( $value, $schema ) { //Total Taxable FUTA wages: Line 3 - Line 6 $this->l7 = bcsub( $this->l3, $this->l6 ); return $this->l7; } function calcL8( $value, $schema ) { //FUTA tax before adjustments $this->l8 = round( bcmul( $this->l7, $this->futa_tax_before_adjustment_rate ), 2 ); return $this->l8; } function calcL9( $value, $schema ) { //If line 9 is specified, line 10 and 11 don't apply. if ( $this->l9 == true ) { $this->l9 = round( bcmul( $this->l7, $this->futa_tax_rate ), 2 ); $this->l10 = null; $this->l11 = null; return $this->l9; } return false; } function calcL12( $value, $schema ) { //Total FUTA tax after adjustments $this->l12 = bcadd( $this->l8, bcadd( $this->l9, bcadd( $this->l10, $this->l11 ) ) ); return $this->l12; } function calcL14( $value, $schema ) { //Balance Due if ( $this->l12 > $this->l13 ) { $this->l14 = bcsub( $this->l12, $this->l13 ); return $this->l14; } return false; } function calcL15( $value, $schema ) { //Overpayment if ( $this->l13 > $this->l12 ) { $this->l15 = bcsub( $this->l13, $this->l12 ); return $this->l15; } return false; } //Calculate the 4th quarter amount by taking Line 12 and working backwards. function calcL16d( $value, $schema ) { //The proper way to handle this is as per the 940 instructions Part 5: "To figure your FUTA tax liability for the fourth quarter, complete Form 940 through line 12. Then copy the amount from line 12 onto line 17. Lastly, subtract the sum of lines 16a through 16c from line 17 and enter the result on line 16d." if ( $this->l12 > $this->line_16_cutoff_amount ) { $this->l16d = bcsub( $this->l12, bcadd( $this->l16a, bcadd( $this->l16b, $this->l16c ) ) ); return $this->l16d; } return false; } function calcL17( $value, $schema ) { //Total tax liability for the year if ( $this->l12 > $this->line_16_cutoff_amount ) { //$this->l17 = bcadd( $this->l16a, bcadd( $this->l16b, bcadd( $this->l16c, $this->l16d ) ) ); $this->l17 = $this->l12; return $this->l17; } return false; } function showL17MisMatchTotals() { if ( isset( $this->l12 ) && isset( $this->l17 ) && $this->l12 > $this->line_16_cutoff_amount ) { $l17_to_l12_diff = abs( round( bcsub( $this->l17, $this->l12 ), 2 ) ); if ( $l17_to_l12_diff > 0.01 ) { Debug::Text( 'L17 seems incorrect, show warning...', __FILE__, __LINE__, __METHOD__, 10 ); $pdf = $this->getPDFObject(); //Show warning on Page 2 $pdf->setTextColor( 255, 0, 0 ); $pdf->setXY( ( 155 + $this->getTempPageOffsets( 'x' ) + $this->getPageMargins( 'x' ) ), ( 221 + $this->getTempPageOffsets( 'y' ) + $this->getPageMargins( 'y' ) ) ); $pdf->Cell( 165, 13, 'WARNING: Mismatch with Line 12', 1, 0, 'C', 1, false, 1 ); } } return true; } function _outputPDF( $type ) { //Initialize PDF with template. $pdf = $this->getPDFObject(); if ( $this->getShowBackground() == true ) { $pdf->setSourceFile( $this->getTemplateDirectory() . DIRECTORY_SEPARATOR . $this->pdf_template ); $this->template_index[1] = $pdf->ImportPage( 1 ); $this->template_index[2] = $pdf->ImportPage( 2 ); $this->template_index[3] = $pdf->ImportPage( 3 ); } if ( $this->year == '' ) { $this->year = $this->getYear(); } //Get location map, start looping over each variable and drawing $template_schema = $this->getTemplateSchema(); if ( is_array( $template_schema ) ) { $template_page = null; foreach ( $template_schema as $field => $schema ) { $this->Draw( $this->$field, $schema ); } } return true; } function _outputXML( $type = null ) { if ( is_object( $this->getXMLObject() ) ) { $xml = $this->getXMLObject(); } else { return false; //No XML object to append too. Needs return940 form first. } if ( isset( $this->return_type ) ) { foreach ( $this->return_type as $return_type ) { switch ( $return_type ) { case 'b': $xml->IRS940->addChild( 'SuccessorEmployer', 'X' ); break; case 'c': $xml->IRS940->addChild( 'NoPayments', 'X' ); break; case 'd': $xml->IRS940->addChild( 'FinalReturn', 'X' ); break; } } } if ( isset( $this->l1a ) ) { $xml->IRS940->addChild( 'SingleStateCode', $this->l1a ); } else if ( isset( $this->l1b ) ) { $xml->IRS940->addChild( 'MultiStateContribution', $this->l1b ); } if ( isset( $this->l3 ) ) { $xml->IRS940->addChild( 'TotalWages', $this->l3 ); } if ( isset( $this->l4 ) ) { $xml->IRS940->addChild( 'ExemptWages' ); $xml->IRS940->ExemptWages->addChild( 'ExemptWagesAmt', $this->l4 ); $xml->IRS940->ExemptWages->addChild( 'ExemptionCategory' ); foreach ( range( 'a', 'e' ) as $z ) { $col = 'l4' . $z; if ( isset( $this->$col ) ) { switch ( $z ) { case 'a': $xml->IRS940->ExemptWages->ExemptionCategory->addChild( 'FringeBenefits', 'X' ); break; case 'b': $xml->IRS940->ExemptWages->ExemptionCategory->addChild( 'GroupTermLifeIns', 'X' ); break; case 'c': $xml->IRS940->ExemptWages->ExemptionCategory->addChild( 'RetirementPension', 'X' ); break; case 'd': $xml->IRS940->ExemptWages->ExemptionCategory->addChild( 'DependentCare', 'X' ); break; case 'e': $xml->IRS940->ExemptWages->ExemptionCategory->addChild( 'OtherExemption', 'X' ); break; } } } } if ( isset( $this->l5 ) ) { $xml->IRS940->addChild( 'WagesOverLimitAmt', $this->l5 ); } if ( $this->calcL6( null, null ) >= 0 ) { $xml->IRS940->addChild( 'TotalExemptWagesAmt', $this->calcL6( null, null ) ); } if ( $this->calcL7( null, null ) >= 0 ) { $xml->IRS940->addChild( 'TotalTaxableWagesAmt', $this->calcL7( null, null ) ); } else { $xml->IRS940->addChild( 'TotalTaxableWagesAmt', 0.00 ); } if ( $this->calcL8( null, null ) >= 0 ) { $xml->IRS940->addChild( 'FUTATaxBeforeAdjustmentsAmt', $this->calcL8( null, null ) ); } if ( $this->calcL9( null, null ) >= 0 ) { $xml->IRS940->addChild( 'MaximumCreditAmt', $this->calcL9( null, null ) ); } else if ( isset( $this->l10 ) ) { $xml->IRS940->addChild( 'AdjustmentsToFUTATax' ); $xml->IRS940->AdjustmentsToFUTATax->addChild( 'FUTAAdjustmentAmt', $this->l10 ); } if ( $this->calcL12( null, null ) >= 0 ) { $xml->IRS940->addChild( 'FUTATaxAfterAdjustments', $this->calcL12( null, null ) ); } if ( isset( $this->l13 ) ) { $xml->IRS940->addChild( 'TotalTaxDepositedAmt', $this->l13 ); } if ( $this->calcL14( null, null ) >= 0 ) { $xml->IRS940->addChild( 'BalanceDue', $this->calcL14( null, null ) ); } else if ( $this->calcL15( null, null ) >= 0 ) { $xml->IRS940->addChild( 'Overpayment' ); $xml->IRS940->Overpayment->addChild( 'Amount', $this->calcL15( null, null ) ); $xml->IRS940->Overpayment->addChild( 'Refund', 'X' ); } foreach ( range( 'a', 'd' ) as $z ) { $col = 'l16' . $z; if ( isset( $this->$col ) ) { switch ( $z ) { case 'a': $xml->IRS940->addChild( 'Quarter1LiabilityAmt', $this->$col ); break; case 'b': $xml->IRS940->addChild( 'Quarter2LiabilityAmt', $this->$col ); break; case 'c': $xml->IRS940->addChild( 'Quarter3LiabilityAmt', $this->$col ); break; case 'd': $xml->IRS940->addChild( 'Quarter4LiabilityAmt', $this->$col ); break; } } } if ( $this->calcL17( null, null ) >= 0 ) { $xml->IRS940->addChild( 'TotalYearLiabilityAmt', $this->calcL17( null, null ) ); } return true; } } ?>