Job Description
Controller Posted on April 16, 2026 April 16, 2026 by JMJ Phillip We are seeking a Controller to oversee the accounting, financial reporting, and administrative operations of the organization. This role is responsible for managing accounting processes, ensuring compliance, and providing financial analysis to support business decisions and organizational performance. Position Responsibilities Accounting Operations Management Oversee accounts payable, accounts receivable, payroll, and bank reconciliations. Maintain accurate and compliant financial records and accounting systems. Implement internal controls to minimize financial risk and ensure accuracy. Financial Reporting & Analysis Prepare and oversee financial statements, budgets, and forecasts. Ensure all reports comply with applicable accounting standards and principles. Provide financial analysis to support capital investments, pricing, and contract decisions. Collaborate with auditors and provide required documentation and support. Compliance & Documentation Ensure compliance with local, state, and federal financial regulations. Maintain accounting policies, procedures, and internal control documentation. Support audit processes and regulatory reporting requirements. Leadership & Team Management Supervise accounting, human resources, and IT-related administrative functions. Conduct performance evaluations and provide coaching and leadership to staff. Address employee relations and disciplinary matters when necessary. Strategic Financial Support Support financial decision-making through data-driven insights. Monitor financial performance and recommend improvements to enhance profitability. Assist leadership in strategic planning and financial forecasting. Other Duties Perform other duties as trained and qualified. Prerequisites Bachelor's degree in Accounting. Minimum 5 years of accounting and leadership experience. Strong knowledge of internal controls and accounting principles. Experience improving financial performance and operational efficiency. Strong communication, analytical, and organizational skills. Certifications (Preferred, but not Required) Certified Public Accountant (CPA). CMA or other accounting/finance certifications. What the Role Offers Competitive compensation package.
Salary Range:
$90,000 - $110,000 annually. Health benefits and retirement plan options. Paid time off and holidays. Leadership role with cross-functional oversight responsibilities. Why Haysville? This role offers the opportunity to lead accounting and administrative operations within a manufacturing environment. It provides exposure to government contracting, financial strategy, and cross-department leadership while contributing directly to organizational stability and growth. Upload your resume to Apply • Accepted file types: pdf, doc, docx, txt, Max. file size:
32 MB. Email • Additional Please add me to your mailing list so I hear about new jobs first I'd like to learn about resume writing and career coaching services from Employment BOOST Get 30 days free on Careerology - the #1 platform for job skills /• = 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_5');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_5').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 ! is_redirect ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_5').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_5').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_5').removeClass('gform_validation_error');}setTimeout( function() { /• delay the scroll by 50 milliseconds to fix a bug in chrome •/ jQuery(document).scrollTop(jQuery('#gform_wrapper_5').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_5').val();gformInitSpinner( 5, 'https://jmjphillip.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [5, current_page]);window['gf_submitting_5'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_5').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_5').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [5]);window['gf_submitting_5'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_5').text());}else{jQuery('#gform_5').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId:
"5", currentPage:
"current_page", abort: function() { this.preventDefault(); } }]); if (event event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_5" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_5"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_5" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; gform.core.triggerPostRenderEvents( 5, current_page ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList:
false, subtree: true, attributeFilter:
[ 'style', 'class' ], }); } else { triggerPostRender(); } } );} ); /• ]]> •/ Apply Now