a:6:{i:0;s:8784:"				<section id="middle">
				<div class="wrap" id="bodyFormat1">
				<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="h1"><h1>Require Experienced Accountant For A Reputed Oil Company</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.diyaconsultancy.in/">Home</a>
					
										
					<b class="ffv p2px">&rsaquo;</b> Require Experienced Accountant For A Reputed Oil Company</p>
									<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 3 - 8 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Kolkata, Barasat</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="325007">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="816198"><input type="hidden" name="subject" value="Applied for Require Experienced Accountant for a Reputed Oil Company">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">Urgently required ACCOUNTANT for a Reputed Oil Company in Direct Company Payroll<br />
<br />
The Details are given below:<br />
<br />
 No of Post                                               :               2 (TWO) (One for Burdwan & One for Barasat)<br />
Qualification                                           :               Commerce Graduate, Knowledge of Tally ERP 9 and GST<br />
Experience                                              :               03-05 Yrs<br />
Salary                                                      :               10K – 15K (Negotiable)<br />
<br />
Job Profile / Responsibilities                 :<br />
<br />
Providing Support to the Accounting Department<br />
Working knowledge with Journals, Sales and Purchases ledger.<br />
Preparation of statuary accounts.<br />
Providing office task such as filling, data entry, answering phone calls, processing the mails etc.<br />
Handling communication with clients and vendors via phone, email and in person.<br />
Should have sound knowledge of MS office.<br />
 Should be able to do multi task in the field of accounts, GST, Sales Tax and remain motivated and positive.<br />
<br />
 <br />
.        **ACCOUNTANT**<br />
<br />
 No of Post                                               :               1 (One) for Head Office, Kolkata<br />
Qualification                                           :               Commerce Graduate, Knowledge of Tally ERP 9 and GST<br />
Experience                                              :               05-07 Yrs<br />
Salary                                                      :               15K – 20K (Negotiable)<br />
<br />
Job Profile / Responsibilities                 :              <br />
<br />
 Providing Support to the Accounting Department<br />
 Working knowledge with Journals, Sales and Purchases ledger.<br />
Preparation of statuary accounts.<br />
Providing office task such as filling, data entry, answering phone calls, processing the mails etc.<br />
Handling communication with client and vendors via phone, email and in person.<br />
Should have sound knowledge of MS office.<br />
Should be able to do multi task in the field</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  50 Thousand  To  2  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">3 - 8 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">B.Com</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">Tally</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> Accounting</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">  Account Management</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> Finance</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:diyaconsultancy2005@gmail.com"> diyaconsultancy2005@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="325007">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="816198"><input type="hidden" name="subject" value="Applied for Require Experienced Accountant for a Reputed Oil Company">
					</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-kharagpur.htm" title="Jobs in Kharagpur">Kharagpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-kolkata.htm" title="Jobs in Kolkata">Kolkata</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-howrah.htm" title="Jobs in Howrah">Howrah</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-north-24-parganas.htm" title="Jobs in North 24 Parganas">North 24 Parganas</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="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">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-banking-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock Market / Financial Services</a> <b class="alpha50 bn small">(1)</b></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: 'SWE1QzVCM1ozaHQvT2xyRTkyR0ZmZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:118:"Require Experienced Accountant for a Reputed Oil Company Jobs in Kolkata - Vacancy in Accounting / Auditing / Taxation";i:2;s:330:"Require Experienced Accountant for a Reputed Oil Company Jobs,Require Experienced Accountant for a Reputed Oil Company Jobs in Kolkata,Require Experienced Accountant for a Reputed Oil Company Vacancy in Kolkata,Require Experienced Accountant for a Reputed Oil Company jobs in India,Accounting / Auditing / Taxation jobs in Kolkata";i:3;s:353:"Apply for Require Experienced Accountant for a Reputed Oil Company Jobs in Kolkata India - Require Experienced Accountant for a Reputed Oil Company Vacancy  in Accounting / Auditing / Taxation field with 3 to 8 years Work Experience, Key Skills are Tally, Accounting,  Account Management, Finance, Accounting / Auditing / Taxation jobs in Kolkata  India";i:4;s:2709:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Require Experienced Accountant for a Reputed Oil Company",
		  "baseSalary": " 1  Lac  50 Thousand  To  2  Lac ",
		  "description": "Urgently required ACCOUNTANT for a Reputed Oil Company in Direct Company Payroll

The Details are given below:

 No of Post                                               :               2 (TWO) (One for Burdwan & One for Barasat)
Qualification                                           :               Commerce Graduate, Knowledge of Tally ERP 9 and GST
Experience                                              :               03-05 Yrs
Salary                                                      :               10K – 15K (Negotiable)

Job Profile / Responsibilities                 :

Providing Support to the Accounting Department
Working knowledge with Journals, Sales and Purchases ledger.
Preparation of statuary accounts.
Providing office task such as filling, data entry, answering phone calls, processing the mails etc.
Handling communication with clients and vendors via phone, email and in person.
Should have sound knowledge of MS office.
 Should be able to do multi task in the field of accounts, GST, Sales Tax and remain motivated and positive.

 
.        **ACCOUNTANT**

 No of Post                                               :               1 (One) for Head Office, Kolkata
Qualification                                           :               Commerce Graduate, Knowledge of Tally ERP 9 and GST
Experience                                              :               05-07 Yrs
Salary                                                      :               15K – 20K (Negotiable)

Job Profile / Responsibilities                 :              

 Providing Support to the Accounting Department
 Working knowledge with Journals, Sales and Purchases ledger.
Preparation of statuary accounts.
Providing office task such as filling, data entry, answering phone calls, processing the mails etc.
Handling communication with client and vendors via phone, email and in person.
Should have sound knowledge of MS office.
Should be able to do multi task in the field",
		  "educationRequirements": "B.Com",
		  "experienceRequirements": "3 - 8 Years",
		  "industry": "Accounting / Auditing / Taxation",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "West Bengal",
		      "addressRegion": "Kolkata, Barasat"
		    }
		  },
		 "qualifications": "B.Com",
		     "skills": "Tally, Accounting,  Account Management, Finance"
		  }
		</script>
		";i:5;N;}