a:6:{i:0;s:7875:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for finance consultant in pune</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.ommanpowerservices.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.ommanpowerservices.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for finance consultant 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">Urgently Looking For Sr. S/4 Hana Finance Consultant For Pune Based MNC</div>
									<p class="mt7px fw6">Pune</p>
									
				<br>
				<p class="aj mt7px">Technical & Professional requirements:<br />
• Candidates should have experience in at least  2 end to end Implementations  and one S/4 Hana green field <br />
   implementation/migration project <br />
• Candidates should have Domestic as well international project experience will be preferred<br />
• Candidates  having SAP implementation experience in Logistics shipping company will be preferred<br />
• Candidate should have experience in writing Functional Specifications independently and should have worked on Custom <br />
  Objects build from Scratch to Deployments, also should have worked on project /change request estimation <br />
• Extensively worked on interfaces with SAP or 3rd party applications <br />
• Integration with other modules especially MM, SD, PP knowledge and experience <br />
• Experience in working in areas like SAP Concur, Travel Management and Industry specific solutions would be an added <br />
  advantage<br />
• Exposure to migration of legacy data, LSMW and preferably other data provisioning tools like BDC/BAPI/IDOC <br />
•  Experience of implementation methodology (ASAP/ Activate/Waterfall/Agile etc.) <br />
• Good understanding of Financial Business Processes, Change Management, Blueprinting and ideally would have performed <br />
   client facing roles <br />
• The candidate should have been in a customer facing role.<br />
• SAP FICO experience in the area of New GL, Document splitting, AP, APP, EBRS, Manual BRS, AR, GST, TDS, Asset Accounting, Bank <br />
   /Treasury, CO -CEL, CCA, PCA, COPA and Product Costing, ML-Actual Costing<br />
• Experience in SAP PS, TRM, FM and  FSCM-Credit Management, Collection Management and Dispute Management will be <br />
  added advantage<br />
• Candidate should be open for travelling and relocation <br />
• Location of posting is subject to business requirements.<br />
• Certification in S4 Hana will be added advantage<br />
• Good English and communication skill is required</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">5 - 10 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 8  Lac  To  10  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software- ERP / CRM / EDP / MIS</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.Com, M.B.A/PGDM, M.Com, CA, ICWA</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">SAP FICO Functional Consultant</span>
												<span class="bdr dib p2px10px mr5px mt2px">SIMPLE FINANCE</span>
												<span class="bdr dib p2px10px mr5px mt2px">GST</span>
												<span class="bdr dib p2px10px mr5px mt2px">TDS</span>
												<span class="bdr dib p2px10px mr5px mt2px">S4 HANA</span>
												<span class="bdr dib p2px10px mr5px mt2px">SAP CO</span>
												<span class="bdr dib p2px10px mr5px mt2px">SAP Controlling</span>
												<span class="bdr dib p2px10px mr5px mt2px">SAP COPA</span>
												<span class="bdr dib p2px10px mr5px mt2px">SAP PRODUCT COSTING</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">Pune based IT Company</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">It is MNC.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:hr.oms07@gmail.com"> hr.oms07@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="633112">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="909003"><input type="hidden" name="subject" value="Applied for Urgently looking for Sr. S/4 Hana Finance Consultant for Pune based MNC">
					</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">(2)</span><a href="jobs-in-erp-crm-edp-software-fid.htm" title="IT Software- ERP / CRM / EDP / MIS Jobs">IT Software- ERP / CRM / EDP /...</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: 'NHJ5WTYwbFhzU3l6c2hyRnE5VUM1UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:81:"Job openings for finance consultant in pune | Om Manpower Services, Chinchwadgaon";i:2;s:383:"Urgently looking for Sr. S/4 Hana Finance Consultant for Pune based MNC Jobs,Urgently looking for Sr. S/4 Hana Finance Consultant for Pune based MNC Jobs in Pune,Urgently looking for Sr. S/4 Hana Finance Consultant for Pune based MNC Vacancy in Pune,Urgently looking for Sr. S/4 Hana Finance Consultant for Pune based MNC jobs in India,IT Software- ERP / CRM / EDP / MIS jobs in Pune";i:3;s:448:"Apply for Urgently looking for Sr. S/4 Hana Finance Consultant for Pune based MNC Jobs in Pune India - Urgently looking for Sr. S/4 Hana Finance Consultant for Pune based MNC Vacancy  in IT Software- ERP / CRM / EDP / MIS field with 5 to 10 years Work Experience, Key Skills are SAP FICO Functional Consultant,SIMPLE FINANCE,GST,TDS,S4 HANA,SAP CO,SAP Controlling,SAP COPA,SAP PRODUCT COSTING, IT Software- ERP / CRM / EDP / MIS jobs in Pune  India";i:4;s:2727:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Urgently looking for Sr. S/4 Hana Finance Consultant for Pune based MNC",
		  "baseSalary": " 8  Lac  To  10  Lac ",
		  "description": "Technical & Professional requirements:
• Candidates should have experience in at least  2 end to end Implementations  and one S/4 Hana green field 
   implementation/migration project 
• Candidates should have Domestic as well international project experience will be preferred
• Candidates  having SAP implementation experience in Logistics shipping company will be preferred
• Candidate should have experience in writing Functional Specifications independently and should have worked on Custom 
  Objects build from Scratch to Deployments, also should have worked on project /change request estimation 
• Extensively worked on interfaces with SAP or 3rd party applications 
• Integration with other modules especially MM, SD, PP knowledge and experience 
• Experience in working in areas like SAP Concur, Travel Management and Industry specific solutions would be an added 
  advantage
• Exposure to migration of legacy data, LSMW and preferably other data provisioning tools like BDC/BAPI/IDOC 
•  Experience of implementation methodology (ASAP/ Activate/Waterfall/Agile etc.) 
• Good understanding of Financial Business Processes, Change Management, Blueprinting and ideally would have performed 
   client facing roles 
• The candidate should have been in a customer facing role.
• SAP FICO experience in the area of New GL, Document splitting, AP, APP, EBRS, Manual BRS, AR, GST, TDS, Asset Accounting, Bank 
   /Treasury, CO -CEL, CCA, PCA, COPA and Product Costing, ML-Actual Costing
• Experience in SAP PS, TRM, FM and  FSCM-Credit Management, Collection Management and Dispute Management will be 
  added advantage
• Candidate should be open for travelling and relocation 
• Location of posting is subject to business requirements.
• Certification in S4 Hana will be added advantage
• Good English and communication skill is required",
		  "educationRequirements": "B.Com, M.B.A/PGDM, M.Com, CA, ICWA",
		  "experienceRequirements": "5 - 10 Years",
		  "industry": "IT Software- ERP / CRM / EDP / MIS",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Pune"
		    }
		  },
		 "qualifications": "B.Com, M.B.A/PGDM, M.Com, CA, ICWA",
		     "skills": "SAP FICO Functional Consultant,SIMPLE FINANCE,GST,TDS,S4 HANA,SAP CO,SAP Controlling,SAP COPA,SAP PRODUCT COSTING"
		  }
		</script>
		";i:5;N;}