a:6:{i:0;s:11737:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Manager-Accounts & Finance</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.jobgate.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.jobgate.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Manager-Accounts & Finance</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-->
				
								<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 7 - 15 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Kochi</p>
										
					<div>
					<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="879732">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="886904"><input type="hidden" name="subject" value="Applied for Manager-Accounts & Finance">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">•	complete Responsibility of the Companys Day to Day Functioning of the Accounts and Finance Functions Including Mis, Audit, <br />
        Taxation, Corporate Affairs, Etc in Compliance with the Indian Accounting Standards<br />
•	planning, Implementing and Maintaining Financial Information Systems Along with Associated Internal Controls and Reporting <br />
        Monthly Financial and Operational Mis<br />
•	prepare Budgets for the Financial Year and Monitor the Budget with Respect to Expenditures and Adopting Appropriate Steps for <br />
        Managing the Allocated Budget<br />
•	plan and Monitor Cash Flows and Account for Departmental Expenses By Recording Accruals, Reviewing Trial Balances Etc <br />
        Implement Cost Control Measures<br />
•	taxation Matters Including Both Direct & Indirect Tax Including Filing of Returns and all other Legal Payments and Documentation <br />
        of the Same<br />
•	monitor Budgets and Variances<br />
•	evaluating & Strengthening Internal Controls in the Organization Through Sap<br />
•	analyze Change and Advise Accordingly; Formulate Strategic and Long-term Business Plans<br />
•	interface with the Internal and External Auditors as a Focal Point for Efficient Management of the Statutory, Tax & Internal Audits <br />
        as a Part of Corporate Governance<br />
•	liaisoning with Banks for Continuation/justification of Working Capital Limits and Servicing Their Requirements<br />
•	develop External Relationships with Appropriate Contacts E.g. Auditors, Solicitors, Bankers and Statutory Organizations<br />
•	business and Financial Strategy Planning Including Profitability Analysis<br />
•	keep Abreast of Changes in Financial Regulations and Legislation.</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 6  Lac  To  10  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">Accounting / Auditing / Taxation</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">7 - 15 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">M.B.A/PGDM, M.Com, CA</td>
					</tr>					
									
				</table>
				
				
				</div>
				
				<br>
				<div class="bdrT pt20px">
									<p class="xlarge b">Key Skills</p>
					<div class="mt10px dif">
											<span class="bn dib p5px10px c2px headVr mr7px mb7px">Account Management</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> accounting</span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w22 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:hr@jobgate.in"> hr@jobgate.in </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="879732">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="886904"><input type="hidden" name="subject" value="Applied for Manager-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="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-thrissur.htm" title="Jobs in Thrissur">Thrissur</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-ernakulam.htm" title="Jobs in Ernakulam">Ernakulam</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-calicut.htm" title="Jobs in Calicut">Calicut</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-kottayam.htm" title="Jobs in Kottayam">Kottayam</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-kochi.htm" title="Jobs in Kochi">Kochi</a> <b class="alpha50 bn small">(27)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-palakkad.htm" title="Jobs in Palakkad">Palakkad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-thiruvananthapuram.htm" title="Jobs in Thiruvananthapuram">Thiruvananthapuram</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-coimbatore.htm" title="Jobs in Coimbatore">Coimbatore</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="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Functional Area</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxation</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-transportation-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping Jobs">Cargo / Freight / Transportation / Packaging / Shipping</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-engineering-technical-rd-fid.htm" title="Engineering / Technical / R&D Jobs">Engineering / Technical / R&D</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-front-office-data-entry-fid.htm" title="Front Office / Executive Assistant / Data Entry Jobs">Front Office / Executive Assistant / Data Entry</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-hotel-travel-fid.htm" title="Hotel / Travel / Airlines Jobs">Hotel / Travel / Airlines</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administration / IR</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Programming / Maintenance</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR / Media Planning</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-purchase-supply-chain-fid.htm" title="Purchase / Supply Chain Jobs">Purchase / Supply Chain</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-security-fid.htm" title="Security / Law Enforcement / Defence Force Jobs">Security / Law Enforcement / Defence Force</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</div>
				</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: 'YnNUN1NsUWhRTmJQN3Uyc2NmNlZkQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:86:"Manager-Accounts & Finance Jobs in Kochi - Vacancy in Accounting / Auditing / Taxation";i:2;s:204:"Manager-Accounts & Finance Jobs,Manager-Accounts & Finance Jobs in Kochi,Manager-Accounts & Finance Vacancy in Kochi,Manager-Accounts & Finance jobs in India,Accounting / Auditing / Taxation jobs in Kochi";i:3;s:273:"Apply for Manager-Accounts & Finance Jobs in Kochi India - Manager-Accounts & Finance Vacancy  in Accounting / Auditing / Taxation field with 7 to 15 years Work Experience, Key Skills are Account Management, accounting, Accounting / Auditing / Taxation jobs in Kochi  India";i:4;s:2343:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Manager-Accounts & Finance",
		  "baseSalary": " 6  Lac  To  10  Lac ",
		  "description": "•	complete Responsibility of the Companys Day to Day Functioning of the Accounts and Finance Functions Including Mis, Audit, 
        Taxation, Corporate Affairs, Etc in Compliance with the Indian Accounting Standards
•	planning, Implementing and Maintaining Financial Information Systems Along with Associated Internal Controls and Reporting 
        Monthly Financial and Operational Mis
•	prepare Budgets for the Financial Year and Monitor the Budget with Respect to Expenditures and Adopting Appropriate Steps for 
        Managing the Allocated Budget
•	plan and Monitor Cash Flows and Account for Departmental Expenses By Recording Accruals, Reviewing Trial Balances Etc 
        Implement Cost Control Measures
•	taxation Matters Including Both Direct & Indirect Tax Including Filing of Returns and all other Legal Payments and Documentation 
        of the Same
•	monitor Budgets and Variances
•	evaluating & Strengthening Internal Controls in the Organization Through Sap
•	analyze Change and Advise Accordingly; Formulate Strategic and Long-term Business Plans
•	interface with the Internal and External Auditors as a Focal Point for Efficient Management of the Statutory, Tax & Internal Audits 
        as a Part of Corporate Governance
•	liaisoning with Banks for Continuation/justification of Working Capital Limits and Servicing Their Requirements
•	develop External Relationships with Appropriate Contacts E.g. Auditors, Solicitors, Bankers and Statutory Organizations
•	business and Financial Strategy Planning Including Profitability Analysis
•	keep Abreast of Changes in Financial Regulations and Legislation.",
		  "educationRequirements": "M.B.A/PGDM, M.Com, CA",
		  "experienceRequirements": "7 - 15 Years",
		  "industry": "Accounting / Auditing / Taxation",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Kerala",
		      "addressRegion": "Kochi"
		    }
		  },
		 "qualifications": "M.B.A/PGDM, M.Com, CA",
		     "skills": "Account Management, accounting"
		  }
		</script>
		";i:5;N;}