a:6:{i:0;s:12069:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for kyc manager 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 kyc manager 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">KYC Manager</div>
									<p class="mt7px fw6">Rajkot</p>
									
				<br>
				<p class="aj mt7px">Responsibilities:<br />
 to Ensure all the Kyc Related Activities are Done Efficiently On a Timely Basis.<br />
 to Provide Quality Services to Br / Ap / Clients in Processing Kyc Forms & other Modification Requests<br />
within Agreed Tat.<br />
 Communicate to Internal Stakeholders and Relevant Teams for Any Regulatory Changes in Rules/regulations.<br />
 Ensure Team Performance By Organising and Monitoring the Individual Performances.<br />
 Updated Knowledge of Existing Rules / Regulation / Process Flows.<br />
 Initiate the Automated Processes of Repetitive Activities in the Team and Ensure Implementation.<br />
 Ensure the Account Opening and Master Modification Forms are Processed in Time with Accuracy.<br />
 Ensure of Timely Upload of Data Required in the Exchanges / Depositories / Repositories.<br />
 Provide Solution for Any of the Queries.<br />
 Ensure of No Pending Work with the Team.<br />
 Lead in New Project Assign.<br />
 Provide Required Data Requested By other Department / Client / Authority.<br />
 Coordinating with other Department / Inter Departments for Various Processes.<br />
 Initiate and Facilitate New Developments & Enhancements of the Kyc Applications<br />
 Manifest 1ops Approach By Building Team Synergy with other Teams for Idea Execution and Complex<br />
problem Solving.<br />
 Efficiently Report Exceptions to Seniors as & When Experienced in Carrying Out the Kyc Functions.<br />
 Helping Staff Members, Branches / Aps for Resolving Queries.<br />
 Provide Daily Mis Reports for Optimum Use of System / Staff.<br />
 Need to Coordinate with Exchanges / Depositories / Agencies for Any Clarification Required.<br />
 Need to Coordinate with Sales / Compliance / Operation / Branches Team to Provide Quality Service.<br />
 Ensure Smooth Functioning of Kyc Activities.<br />
 Follow with Daily Routine Process of Upload / Download of Data to the Exchanges.<br />
 Understand and Coordinate New Rules / Regulations / Processes.<br />
 Ensure Query Resolution On a Timely Basis.<br />
 Automate the Repetitive Processes in the Team.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">7 - 12 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 4  Lac  75 Thousand  To  8  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Financial Services / Banking, Investments / Insurance / stock market / Loan</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">KYC Management</span>
												<span class="bdr dib p2px10px mr5px mt2px"> KYC Updation</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="881236"><input type="hidden" name="subject" value="Applied for KYC Manager">
					</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">(35)</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-gandhinagar.htm" title="Jobs in Gandhinagar">Gandhinagar</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-uganda.htm" title="Jobs in Uganda">Uganda</a> <b class="alpha50 bn small">(2)</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 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-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">(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">(5)</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">(4)</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">(4)</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">(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-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-cargo-freight-transportation-packaging-shipping-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping/Logistic Jobs">Cargo / Freight / Transportati...</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-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</a></p>
										<p class="mb5px "><span class="fr">(1)</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 spanlist dn"><span class="fr">(1)</span><a href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</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 spanlist dn"><span class="fr">(1)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</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: 'R21lbDZEWm1uV3BzcTl1MnhEOXBUUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:61:"Job openings for kyc manager in rajkot | HB Staffing Services";i:2;s:190:"KYC Manager Jobs,KYC Manager Jobs in Rajkot,KYC Manager Vacancy in Rajkot,KYC Manager jobs in India,Financial Services / Banking, Investments / Insurance / stock market / Loan jobs in Rajkot";i:3;s:329:"Apply for KYC Manager Jobs in Rajkot India - KYC Manager Vacancy  in Financial Services / Banking, Investments / Insurance / stock market / Loan field with 7 to 12 years Work Experience, Key Skills are KYC Management, KYC Updation, Financial Services / Banking, Investments / Insurance / stock market / Loan jobs in Rajkot  India";i:4;s:2653:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "KYC Manager",
		  "baseSalary": " 4  Lac  75 Thousand  To  8  Lac ",
		  "description": "Responsibilities:
 to Ensure all the Kyc Related Activities are Done Efficiently On a Timely Basis.
 to Provide Quality Services to Br / Ap / Clients in Processing Kyc Forms & other Modification Requests
within Agreed Tat.
 Communicate to Internal Stakeholders and Relevant Teams for Any Regulatory Changes in Rules/regulations.
 Ensure Team Performance By Organising and Monitoring the Individual Performances.
 Updated Knowledge of Existing Rules / Regulation / Process Flows.
 Initiate the Automated Processes of Repetitive Activities in the Team and Ensure Implementation.
 Ensure the Account Opening and Master Modification Forms are Processed in Time with Accuracy.
 Ensure of Timely Upload of Data Required in the Exchanges / Depositories / Repositories.
 Provide Solution for Any of the Queries.
 Ensure of No Pending Work with the Team.
 Lead in New Project Assign.
 Provide Required Data Requested By other Department / Client / Authority.
 Coordinating with other Department / Inter Departments for Various Processes.
 Initiate and Facilitate New Developments & Enhancements of the Kyc Applications
 Manifest 1ops Approach By Building Team Synergy with other Teams for Idea Execution and Complex
problem Solving.
 Efficiently Report Exceptions to Seniors as & When Experienced in Carrying Out the Kyc Functions.
 Helping Staff Members, Branches / Aps for Resolving Queries.
 Provide Daily Mis Reports for Optimum Use of System / Staff.
 Need to Coordinate with Exchanges / Depositories / Agencies for Any Clarification Required.
 Need to Coordinate with Sales / Compliance / Operation / Branches Team to Provide Quality Service.
 Ensure Smooth Functioning of Kyc Activities.
 Follow with Daily Routine Process of Upload / Download of Data to the Exchanges.
 Understand and Coordinate New Rules / Regulations / Processes.
 Ensure Query Resolution On a Timely Basis.
 Automate the Repetitive Processes in the Team.",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "7 - 12 Years",
		  "industry": "Financial Services / Banking, Investments / Insurance / stock market / Loan",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Gujarat",
		      "addressRegion": "Rajkot"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "KYC Management, KYC Updation"
		  }
		</script>
		";i:5;N;}