Skip to main content
Tallo logoTallo logo

Find Jobs

Find Jobs Near You – Available Work in Your Location

Skip to job details
Apply for this opportunity

To apply for this job, you'll continue to an external website or email application.

JMJ Phillip

Project Accountant

Career Insights for Project Accountant

See where this job fits in the broader career landscape. Knowing your career path helps you see what's possible from here.

Scorecard

Based on New York data

Review key factors to help you decide if this role fits your goals. How is this calculated?

Were these scores useful?

What they do

A Project Accountant organizes and maintains financial records for a project. Creates project accounts and oversees project expenses and billing. Monitors project budget and budget variances.

$85,927 / year median in New York

+5% projected growth

Explore Career

Job Description

Project Accountant Posted on November 21, 2025 November 21, 2025 by JMJ Phillip We are seeking a Project Accountant to manage and support all financial aspects of project activities. This role involves working closely with key managers, customers, and suppliers, ensuring accurate financial reporting, billing, and project profitability while contributing to operational improvements. Position Responsibilities Project Financial Management Partner with key managers to manage all financial aspects of projects. Review and manage project contracts, change orders, and required approvals. Billing & Receivables Prepare and manage AIA requisitions for accurate billing and timely collection. Reporting & Analysis Analyze and report ongoing project progress, including current and forecasted profitability. Assist in identifying and implementing financial and operational process improvements. System Optimization Support ERP and project management system optimization efforts. Contribute to enhancing a collaborative and efficient work environment. Prerequisites Proven experience in project accounting or related finance role. Strong analytical and communication skills. Ability to manage multiple priorities in a fast-paced environment. Professionalism and a growth mindset. Certifications (Preferred, but not Required) CPA or related accounting certification. Project management or financial software certifications. What the
Role Offers Salary:
$80,000 - $100,000 Opportunities for professional growth and development Collaborative and supportive work environment Why Hauppauge? This role provides the opportunity to work closely with cross-functional teams on diverse projects, ensuring financial accuracy and contributing to the success and growth of the organization. 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 gform.initializeOnLoaded( function() {gformInitSpinner( 5, 'https://jmjphillip.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery('#gform_ajax_frame_5').on('load',function(){var contents = jQuery(this).contents().find('•').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 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", [{ form
Id:
"5", current
Page:
"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, child
List:
false, subtree: true, attribute
Filter:
[ 'style', 'class' ], }); } else { triggerPostRender(); } } );} ); Apply Now