a:6:{i:0;s:9552:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for accountant in usa</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.exelonconsulting.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.exelonconsulting.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for accountant in usa</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">External Audit</div>
									<p class="mt7px fw6">Pune</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="314585">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="811315"><input type="hidden" name="subject" value="Applied for External Audit">
					</form>
			
									</div></div>
				</div>
								<br />
				<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-53d0b0627cb3c661"></script>
				<div class="fo">
				<div class="addthis_sharing_toolbox dib vam mr10px"></div>
				<a href="https://www.exelonconsulting.com/vacancy_811315.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<br>
				<p class="aj mt7px">Statutory audit JD<br />
<br />
As an Audit Senior, you will play a critical role in execution of audits and will collaborate with a diverse group of talented audit professionals. This would require you to be involved in all stages of audit (planning, execution and reporting). You’ll use our cutting-edge audit tools and technology to:<br />
<br />
 <br />
<br />
·       plan, execute and monitor audit engagements<br />
<br />
·       ensure you and the team perform audit procedures as planned<br />
<br />
·       perform various test of controls<br />
<br />
·       assist in identifying audit and accounting issues and resolving them<br />
<br />
·       coach, guide and develop staff on the engagements<br />
<br />
·       develop a good understanding of the sources of accounting and auditing literature<br />
<br />
·       identify best practices on engagements and efficiently implement those<br />
<br />
 <br />
<br />
The Team<br />
<br />
Our team culture is collaborative and encourages team members to take initiative and seek on-the-job learning opportunities. Our audit professionals are committed to excellence and to enhancing the trust of the investing public and capital markets. Quality is our top priority, and by focusing on innovation, we continue to raise the bar on quality and deliver greater value to our clients. <br />
<br />
 <br />
<br />
How you’ll grow<br />
<br />
At Deloitte, we’ve invested a great deal to create a rich environment in which our professionals can grow. We want all our people to develop in their own way, playing to their own strengths as they hone their leadership skills. And, as a part of our efforts, we provide our professionals with a variety of learning and networking opportunities—including exposure to leaders, sponsors, coaches, and challenging assignments—to help accelerate their careers along the way. No two people learn in exactly the same way. So, we provide a range of resources including live classrooms, team-based learning, and eLearning. DU: The Leadership Center in India, our state-of-the-art, world-class learning Center in the Hyderabad offices is an extension of the Deloitte University (DU) in Westlake, Texas, and represents a tangible symbol of our commitment to our people’s growth and development. Explore DU: The Leadership Center in India<br />
<br />
 Required<br />
<br />
·       2+ years of auditing or equivalent experience<br />
<br />
·       Charted Accountant/Certified Public Accountant (CPA) certification<br />
<br />
·       Effective interpersonal and communication skills<br />
<br />
·       Leadership skills demonstrating sound judgment, problem-solving, and decision-making abilities<br />
<br />
·       Experience with  working independently on multiple assignments or engagements<br />
<br />
 <br />
<br />
Preferred<br />
<br />
Experience with a regional or Big 4 accounting organization <br />
 <br />
<br />
Work Timing<br />
<br />
9:00AM – 6:00 PM</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  To  6  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Accounting / Auditing / Taxation</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">CA</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Tally</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Accounting</span>
												<span class="bdr dib p2px10px mr5px mt2px">  Account Management</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Finance</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Deloitte University</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Deloitte University</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:mahesh@exelonconsulting.com"> mahesh@exelonconsulting.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="314585">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="811315"><input type="hidden" name="subject" value="Applied for External Audit">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(2)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'MmovQWhkdXNiU29TdCt5dHpXY25pZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:54:"Job openings for accountant in usa | Exelon Consulting";i:2;s:153:"External Audit Jobs,External Audit Jobs in Pune,External Audit Vacancy in Pune,External Audit jobs in India,Accounting / Auditing / Taxation jobs in Pune";i:3;s:258:"Apply for External Audit Jobs in Pune India - External Audit Vacancy  in Accounting / Auditing / Taxation field with 2 years Work Experience, Key Skills are Tally, Accounting,  Account Management, Finance, Accounting / Auditing / Taxation jobs in Pune  India";i:4;s:3851:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "External Audit",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Deloitte University",
	        "value":  "811315"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Deloitte University",
	      "description": "Deloitte University",
	      "telephone" : "",
	      "email" : "mahesh@exelonconsulting.com"  
	       },
		  "url": "https://www.exelonconsulting.com/job-openings-for-accountant-usa-811315.htm",
          "datePosted": "2021-06-16",
          
		  "baseSalary": " 3  Lac  To  6  Lac ",
		  "description": "Statutory audit JD

As an Audit Senior, you will play a critical role in execution of audits and will collaborate with a diverse group of talented audit professionals. This would require you to be involved in all stages of audit (planning, execution and reporting). You’ll use our cutting-edge audit tools and technology to:

 

·       plan, execute and monitor audit engagements

·       ensure you and the team perform audit procedures as planned

·       perform various test of controls

·       assist in identifying audit and accounting issues and resolving them

·       coach, guide and develop staff on the engagements

·       develop a good understanding of the sources of accounting and auditing literature

·       identify best practices on engagements and efficiently implement those

 

The Team

Our team culture is collaborative and encourages team members to take initiative and seek on-the-job learning opportunities. Our audit professionals are committed to excellence and to enhancing the trust of the investing public and capital markets. Quality is our top priority, and by focusing on innovation, we continue to raise the bar on quality and deliver greater value to our clients. 

 

How you’ll grow

At Deloitte, we’ve invested a great deal to create a rich environment in which our professionals can grow. We want all our people to develop in their own way, playing to their own strengths as they hone their leadership skills. And, as a part of our efforts, we provide our professionals with a variety of learning and networking opportunities—including exposure to leaders, sponsors, coaches, and challenging assignments—to help accelerate their careers along the way. No two people learn in exactly the same way. So, we provide a range of resources including live classrooms, team-based learning, and eLearning. DU: The Leadership Center in India, our state-of-the-art, world-class learning Center in the Hyderabad offices is an extension of the Deloitte University (DU) in Westlake, Texas, and represents a tangible symbol of our commitment to our people’s growth and development. Explore DU: The Leadership Center in India

 Required

·       2+ years of auditing or equivalent experience

·       Charted Accountant/Certified Public Accountant (CPA) certification

·       Effective interpersonal and communication skills

·       Leadership skills demonstrating sound judgment, problem-solving, and decision-making abilities

·       Experience with  working independently on multiple assignments or engagements

 

Preferred

Experience with a regional or Big 4 accounting organization 
 

Work Timing

9:00AM – 6:00 PM",
		  "educationRequirements": "CA",
		  "experienceRequirements": "2 Years",
		  "industry": "Accounting / Auditing / Taxation",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Pune"
		    }
		  },
		 "qualifications": "CA",
		     "skills": "Tally, Accounting,  Account Management, Finance"
		  }
		</script>
		";i:5;N;}