a:6:{i:0;s:11528:"					<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="906157"><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"> Account Manager</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="906157"><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">(26)</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-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 "><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: 'VmJDdHVMdndJUDZNTm5OazBjaFZ4dz09',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:290:"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, Account Manager, Accounting, Accounting / Auditing / Taxation jobs in Kochi  India";i:4;s:2360:"
		<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, Account Manager, Accounting"
		  }
		</script>
		";i:5;N;}