a:6:{i:0;s:12243:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for finance executive in pune</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.hrpioneer.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.hrpioneer.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for finance executive in pune</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="xxxlarge fw6 dif">Finance Executive</div>
									<p class="mt7px fw6">Pune</p>
									
				<br>
				<p class="aj mt7px">Greetings for the day!!!<br />
<br />
Warm regards from HRPIONEER Recruitment Solutions...<br />
<br />
We are having some immediate job openings with one of our reputed client...<br />
<br />
Company: A well known reputed  German based MNC Company<br />
<br />
<br />
Job Designation: Head-Finance & Accounts<br />
<br />
<br />
Eligibility Criteria:<br />
<br />
<br />
Minimum 10 years’ of experience in Finance and Accounts, but 5 years in the position of MANAGER (F&A) <br />
<br />
Qualification: CA or MBA Finance from a reputed B-School with total 10 years’ experience out of which 5 years minimum in the above position preferably in a German MNC. <br />
<br />
Deep knowledge on SAP is a MUST<br />
<br />
Knowledge of FEMA, India GAAP / IGAAP, German GAAP<br />
<br />
Transfer Pricing <br />
<br />
ECB (External Commercial borrowings / Foreign borrowings )<br />
<br />
Budgeting, Controlling, MIS Reports, Financial Analysis, International Taxation – Hands on experience. <br />
<br />
SAP working mandatory. <br />
<br />
Qualification:  ICWA/ CA / MBA for B institute.<br />
<br />
Stability in one company at least 4 years<br />
<br />
Age group: 35 and above up to 45 years old <br />
<br />
<br />
Job Description:<br />
<br />
A. Budgeting <br />
<br />
Assist in the process of developing and reviewing budgets  <br />
<br />
Provide accurate cash-flow projections to the Finance Sub Committee.  <br />
<br />
Provide monthly budget reports to the Vice Chairman & Managing Director and working closely with him to enable him to make accurate decisions. <br />
<br />
Work on the development of the Annual Budget.  <br />
<br />
Costing- Evaluation, Monitoring & Control  <br />
  <br />
B. Annual Accounts  <br />
<br />
Lead on any recommendations that are suggested in the audit report.  <br />
<br />
Act as the first point of contact for the auditors, and communicate with them to ensure all questions can be answered efficiently.  <br />
<br />
Prepare the draft Anual Statutory Accounts.   <br />
<br />
Production of a statutory based set of management accounts, including balance sheet, on a monthly basis financial reviews and analysis <br />
<br />
Responsible for the finalization of yearly balance sheet as per the Calendar year and as per the fiscal year.  <br />
<br />
Mange the fixed assets register of the organization  <br />
<br />
C. Management Support</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">8 - 15 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 5  Lac  To   20 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">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Finance Executive</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">Leading German based MNC Company</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Leading German based MNC Company</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">vamsidhar pokala</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Pune</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">8520905622 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:vamshi.hrpioneer@gmail.com"> vamshi.hrpioneer@gmail.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="276999">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="702945"><input type="hidden" name="subject" value="Applied for Finance Executive">
					</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-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(5)</b></span>
										<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">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(1)</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">(4)</span><a href="jobs-in-financial-services-banking-investments-insurance-stock-market-loan-fid.htm" title="Financial Services / Banking, Investments / Insurance / stock market / Loan Jobs">Financial Services / Banking, ...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-dba-database-management-fid.htm" title="IT Software - DataBase / Datawarehousing Jobs">IT Software - DataBase / Dataw...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px spanlist dn"><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 spanlist dn"><span class="fr">(1)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-public-relation-pr-advertising-events-fid.htm" title="Public Relation (PR) /  Advertising / Events Jobs">Public Relation (PR) /  Advert...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</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: 'N2I1RDZicmJVQncxNldnTENhSnd0UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:76:"Job openings for finance executive in pune | HRPIONEER Recruitment Solutions";i:2;s:165:"Finance Executive Jobs,Finance Executive Jobs in Pune,Finance Executive Vacancy in Pune,Finance Executive jobs in India,Accounting / Auditing / Taxation jobs in Pune";i:3;s:240:"Apply for Finance Executive Jobs in Pune India - Finance Executive Vacancy  in Accounting / Auditing / Taxation field with 8 to 15 years Work Experience, Key Skills are Finance Executive, Accounting / Auditing / Taxation jobs in Pune  India";i:4;s:2674:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Finance Executive",
		  "baseSalary": " 5  Lac  To   20 Lac ",
		  "description": "Greetings for the day!!!

Warm regards from HRPIONEER Recruitment Solutions...

We are having some immediate job openings with one of our reputed client...

Company: A well known reputed  German based MNC Company


Job Designation: Head-Finance & Accounts


Eligibility Criteria:


Minimum 10 years’ of experience in Finance and Accounts, but 5 years in the position of MANAGER (F&A) 

Qualification: CA or MBA Finance from a reputed B-School with total 10 years’ experience out of which 5 years minimum in the above position preferably in a German MNC. 

Deep knowledge on SAP is a MUST

Knowledge of FEMA, India GAAP / IGAAP, German GAAP

Transfer Pricing 

ECB (External Commercial borrowings / Foreign borrowings )

Budgeting, Controlling, MIS Reports, Financial Analysis, International Taxation – Hands on experience. 

SAP working mandatory. 

Qualification:  ICWA/ CA / MBA for B institute.

Stability in one company at least 4 years

Age group: 35 and above up to 45 years old 


Job Description:

A. Budgeting 

Assist in the process of developing and reviewing budgets  

Provide accurate cash-flow projections to the Finance Sub Committee.  

Provide monthly budget reports to the Vice Chairman & Managing Director and working closely with him to enable him to make accurate decisions. 

Work on the development of the Annual Budget.  

Costing- Evaluation, Monitoring & Control  
  
B. Annual Accounts  

Lead on any recommendations that are suggested in the audit report.  

Act as the first point of contact for the auditors, and communicate with them to ensure all questions can be answered efficiently.  

Prepare the draft Anual Statutory Accounts.   

Production of a statutory based set of management accounts, including balance sheet, on a monthly basis financial reviews and analysis 

Responsible for the finalization of yearly balance sheet as per the Calendar year and as per the fiscal year.  

Mange the fixed assets register of the organization  

C. Management Support",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "8 - 15 Years",
		  "industry": "Accounting / Auditing / Taxation",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Pune"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Finance Executive"
		  }
		</script>
		";i:5;N;}