a:6:{i:0;s:10592:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for accounts head in rajkot</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.hbstaffingservices.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.hbstaffingservices.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for accounts head in rajkot</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">Group C.F.O (Accounts & Finance)</div>
									<p class="mt7px fw6">Rajkot</p>
									
				<br>
				<p class="aj mt7px">Responsibilities:<br />
 Monitor and direct the implementation of strategic business plans in consultation with promoters & business head.<br />
 Develop financial ( procurement , Utilization & growth ) ( tax planning strategies – part of head F&A )<br />
 Manage the capital budget in consultation with promoters<br />
 Define / Develop Company’s performance measures. Provide periodical performance achievements to business<br />
 heads. Take up corrective measures with promoters & business heads<br />
 Develops organization prospects by studying economic trends and revenue opportunities; projecting / facilitating<br />
 financial business tie ups and expansion prospects;<br />
 Monitor cost reduction and systems enhancement initiatives of the function<br />
 Accumulating capital to fund expansion – all project finance related activities<br />
 Maximizes return on Company’s invested funds<br />
 Oversee & Control financial information as provided by Head F&A<br />
 Advice action on risk issues to audit committee of the BOD<br />
 Be a part of strategic think tank of the promoters, working on future financial & growth plans of the company<br />
 Reports financial status by developing forecasts; reporting results; analyzing variances; developing improvements<br />
 Construct and monitor reliable control systems.<br />
 Maintain appropriate insurance coverage.<br />
 Report risk issues to the audit committee of the board of directors.<br />
 Maintain banking relationships. Represent the company with investments and top management and investors.<br />
 Implements best practices as prevalent in the industry<br />
 Act as a performance coach for various teams, and provide effective solutions during a crisis<br />
Skills:<br />
 Proficient knowledge of MS Excel, PowerPoint, Word software.<br />
 Excellent written and verbal communication skills.<br />
 Problem Solving or Analysis skill.<br />
 Should be Accurate and responsible</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">10 - 20 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 15  Lac  To   30 Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Banking / Investments / Stock Market / Financial Services</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">Accounts Head</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Senior Accountant</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Accountant</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Account Analyst</span>
												<span class="bdr dib p2px10px mr5px mt2px"></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">Email ID</td>
						<td class="p5px"><a href="mailto:hbstaffing1@yahoo.com"> hbstaffing1@yahoo.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="707845">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="926453"><input type="hidden" name="subject" value="Applied for Group C.F.O (Accounts & Finance)">
					</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-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(30)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-vadodara.htm" title="Jobs in Vadodara">Vadodara</a> <b class="alpha50 bn small">(16)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-rajkot.htm" title="Jobs in Rajkot">Rajkot</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-anand.htm" title="Jobs in Anand">Anand</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bhuj.htm" title="Jobs in Bhuj">Bhuj</a> <b class="alpha50 bn small">(1)</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">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-meerut.htm" title="Jobs in Meerut">Meerut</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-surat.htm" title="Jobs in Surat">Surat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gandhinagar.htm" title="Jobs in Gandhinagar">Gandhinagar</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">(21)</span><a href="jobs-in-banking-investment-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock ...</a></p>
										<p class="mb5px "><span class="fr">(9)</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">(9)</span><a href="jobs-in-financial-services-fid.htm" title="Finance / Stock Market Jobs">Finance / Stock Market</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">(2)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-front-office-data-entry-fid.htm" title="Front Office / Executive Assistant / Data Entry Jobs">Front Office / Executive Assis...</a></p>
										<p class="mb5px "><span class="fr">(1)</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">(1)</span><a href="jobs-in-hotel-travel-fid.htm" title="Hotel / Travel / Airlines Jobs">Hotel / Travel / Airlines</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administrat...</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: 'NkEycnMvYytYeEhQSGZqZmNaS2tUZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:63:"Job openings for accounts head in rajkot | HB Staffing Services";i:2;s:256:"Group C.F.O (Accounts & Finance) Jobs,Group C.F.O (Accounts & Finance) Jobs in Rajkot,Group C.F.O (Accounts & Finance) Vacancy in Rajkot,Group C.F.O (Accounts & Finance) jobs in India,Banking / Investments / Stock Market / Financial Services jobs in Rajkot";i:3;s:370:"Apply for Group C.F.O (Accounts & Finance) Jobs in Rajkot India - Group C.F.O (Accounts & Finance) Vacancy  in Banking / Investments / Stock Market / Financial Services field with 10 to 20 years Work Experience, Key Skills are Accounts Head, Senior Accountant, Accountant, Account Analyst,, Banking / Investments / Stock Market / Financial Services jobs in Rajkot  India";i:4;s:2601:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Group C.F.O (Accounts & Finance)",
		  "baseSalary": " 15  Lac  To   30 Lac ",
		  "description": "Responsibilities:
 Monitor and direct the implementation of strategic business plans in consultation with promoters & business head.
 Develop financial ( procurement , Utilization & growth ) ( tax planning strategies – part of head F&A )
 Manage the capital budget in consultation with promoters
 Define / Develop Company’s performance measures. Provide periodical performance achievements to business
 heads. Take up corrective measures with promoters & business heads
 Develops organization prospects by studying economic trends and revenue opportunities; projecting / facilitating
 financial business tie ups and expansion prospects;
 Monitor cost reduction and systems enhancement initiatives of the function
 Accumulating capital to fund expansion – all project finance related activities
 Maximizes return on Company’s invested funds
 Oversee & Control financial information as provided by Head F&A
 Advice action on risk issues to audit committee of the BOD
 Be a part of strategic think tank of the promoters, working on future financial & growth plans of the company
 Reports financial status by developing forecasts; reporting results; analyzing variances; developing improvements
 Construct and monitor reliable control systems.
 Maintain appropriate insurance coverage.
 Report risk issues to the audit committee of the board of directors.
 Maintain banking relationships. Represent the company with investments and top management and investors.
 Implements best practices as prevalent in the industry
 Act as a performance coach for various teams, and provide effective solutions during a crisis
Skills:
 Proficient knowledge of MS Excel, PowerPoint, Word software.
 Excellent written and verbal communication skills.
 Problem Solving or Analysis skill.
 Should be Accurate and responsible",
		  "educationRequirements": "CA",
		  "experienceRequirements": "10 - 20 Years",
		  "industry": "Banking / Investments / Stock Market / Financial Services",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Gujarat",
		      "addressRegion": "Rajkot"
		    }
		  },
		 "qualifications": "CA",
		     "skills": "Accounts Head, Senior Accountant, Accountant, Account Analyst,"
		  }
		</script>
		";i:5;N;}