a:6:{i:0;s:10192:"				<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="h1"><h1>Job openings for Accounts Officer in Hyderabad</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.eltechengineering.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.eltechengineering.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for Accounts Officer in Hyderabad</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif lh13em">Accounts Officer</div>
									<p class="mt7px fw6">Hyderabad</p>
								
				</div>
				<div class="dtc w200px ar">
				<div class="ShareDropdown dib">	
				<div class="copyLinkPopup">Link Copied</div>		  
				<span class="data"><i class="fa fa-share-alt xxlarge vam"></i></span>
				<ul class="shareList data bdr0">
				<li><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://www.eltechengineering.in/job-openings-for-accounts-officer-hyderabad-960281.htm" class="facebook" title="Facebook"><i class="fa fa-facebook-official"></i></a></li> 
				<li><a target="_blank" href="https://www.instagram.com/?url=https://www.eltechengineering.in/job-openings-for-accounts-officer-hyderabad-960281.htm" class="instagram" title="Instagram"><i class="fa fa-instagram"></i></a></li>
				<li><a target="_blank" href="https://wa.me/?text=https://www.eltechengineering.in/job-openings-for-accounts-officer-hyderabad-960281.htm" class="whatsapp" title="Whatsapp"><i class="fa fa fa-whatsapp"></i></a></li>  
				<li><a target="_blank" href="https://X.com/intent/tweet?text=Accounts Officer&url=https://www.eltechengineering.in/job-openings-for-accounts-officer-hyderabad-960281.htm" class="twitter" title="Twitter"><img src="https://catalog.wlimg.com/mobile/social-networking-img/1002.svg" alt="Twitter" style="width:22px;height:22px;vertical-align:middle;margin-right:6px;"></a></li> 
				<li><a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.eltechengineering.in/job-openings-for-accounts-officer-hyderabad-960281.htm&title=Accounts Officer" class="linkedin" title="Linkedin"><i class="fa fa-linkedin-square"></i></a></li>
				<li><a target="_blank" href="https://pinterest.com/pin/create/button/?url=https://www.eltechengineering.in/job-openings-for-accounts-officer-hyderabad-960281.htm&description=Accounts Officer" class="pinterest" title="Pinterest"><i class="fa fa-pinterest-square"></i></a></li>	
				<li><a href="javascript:;" title="Copy Link" class="copy" onclick="copyURL()"><i class="fa fa-clone"></i></a></li>
				</ul>
				</div>
				<script>
				$(document).ready(function(){
				$('.ShareDropdown span').click(function(){
				 $('.ShareDropdown').toggleClass("active");
				}); 
				});
				</script>
				<script>
				  function copyURL() {
				    const url = window.location.href;
					const textarea = document.createElement("textarea");
					textarea.value = url;
					textarea.style.position = "fixed";
					document.body.appendChild(textarea);
					textarea.focus();
					textarea.select();
			
					try {
					  document.execCommand("copy");
					//  alert("URL copied (fallback)!");
					  $(".copyLinkPopup").show();		 
			          setTimeout(function(){$(".copyLinkPopup").hide();}, 2000);
				      $('.ShareDropdown').removeClass("active");
					  
					} catch (err) {
					  console.error("Fallback copy failed:", err);
					}
			
					document.body.removeChild(textarea);
				  }
				</script>
				<div class="mt7px ml7px dib">
								</div></div>
				</div>
								<div class="fo mt10px">
				<a href="https://www.eltechengineering.in/vacancy_960281.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<br>
				<p class="aj mt7px lh18em">Job Description & Skill Set:<br />•	Sound knowledge in procedures involved in statutory compliances relating to taxations (TDS, VAT, CST, GST, Service Tax).<br />•	Skilled at preparing final account and other financial statements.<br />•	Coordinating with vendors, Bankers etc for smoother operation.<br />•	Preparing financial statements like cash / bank trail, cash flow & funds flow statements and final accounts.<br />•	Computation and preparation of Income Tax Returns of Individuals, Firms and Companies.<br />•	Preparation and E-filing of TDS Statements.<br />•	Computations and filing of service Tax.<br />•	Working knowledge on account packages Tally ERP 9.0 & ERP Focus 6.0.<br />•	Verification of Day to Day verification vendor payments.<br />•	Generating Reports, updating Cash book.<br />•	Preparation of Bank Reconciliation Statements.<br />•	Petty Cash Management.<br />•	Providing information & Support to internal and Statutory Auditors.<br />•	Providing Vendor accounts reconciliation as needed.<br />•	Monitoring of day to day transactions and verification of vouchers.<br />•	Maintain TDS Details of Sub Contractors, Maintain TDS Details.<br />•	Preparation of Bank Reconciliation statements.<br />•	Preparation of Liability statements of Contractors & Suppliers etc.<br />•	Maintaining daily stock dispatch record in MS - Excel.<br />•	Monitor and review accounting and related system reports for accuracy and completeness.<br />•	Interacting with statutory auditors regarding audit finalization of accounts.<br />•	Reconciliation of party accounts and scrutiny of General ledger, preparation of monthly Financials.<br />•	Preparation of Cash Flow Statement.<br />•	Maintaining Daily Financial Reports of Various project sites.<br />•	Prepare Cr. Voucher & JV. Also<br />•	Ledger wise reconciliation and Follow Up on Outstanding debts.<br />•	Validate daily reports from various work sites.<br />•	Monitoring preparation of statements including Trial Balance, P & L A/c, Client Outstanding, Account Receivable / Payable, General Ledger, Receivable Management, <br />•	Balance Sheets on monthly as well as annual basis.<br />•	Acc</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 2 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  25 Thousand  To  2  Lac  25 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Accounting / Auditing / Taxation</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Diploma</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
												<span class="bdr dib p2px10px mr5px mt2px">Accounts Manager</span>
														<span class="bdr dib p2px10px mr5px mt2px">Accounting</span>
														<span class="bdr dib p2px10px mr5px mt2px">Accounts Officer</span>
														<span class="bdr dib p2px10px mr5px mt2px">Finance Manager</span>
												</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div>
				<!--p class="large fw6">About Company</p-->
				<div>
				
								
				<br />
				
								</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="https://www.eltechengineering.in/jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.eltechengineering.in/jobs-in-medchal.htm" title="Jobs in Medchal">Medchal</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">(2)</span><a href="https://www.eltechengineering.in/jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.eltechengineering.in/jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.eltechengineering.in/jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development / Telecaller Jobs">Sales & Marketing / Business D...</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>
				
	<?php
	$source_type="";
	if (!empty($_REQUEST["utm_campaign"]) && ($_REQUEST["utm_campaign"]=="google_jobs_apply" || $_REQUEST["utm_campaign"]=="JobApplyPI")) {
		$source_type=$_REQUEST["utm_campaign"];
	}
	?>
	";i:1;s:71:"Job openings for Accounts Officer in Hyderabad | Integrated Engineering";i:2;s:176:"Accounts Officer Jobs,Accounts Officer Jobs in Hyderabad,Accounts Officer Vacancy in Hyderabad,Accounts Officer jobs in India,Accounting / Auditing / Taxation jobs in Hyderabad";i:3;s:290:"Apply for Accounts Officer Jobs in Hyderabad India - Accounts Officer Vacancy  in Accounting / Auditing / Taxation field with 1 to 2 years Work Experience, Key Skills are Accounts Manager,Accounting,Accounts Officer,Finance Manager, Accounting / Auditing / Taxation jobs in Hyderabad  India";i:4;s:1663:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Accounts Officer",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Integrated Engineering",
	        "value":  "960281"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Integrated Engineering",
	      "description": "We are looking for Young and Dynamic Electrical Engineers ( Freshers or Experience up to 1 Year).
For Doing technical Promotion of Product - 
HT< Soft Starters , VFD, HT< Switchgear .
Need strong Electrical Background .
Committed to Travel and Meeting customers at their locations.",
	      "telephone" : "+91-8499080006",
	      "email" : ""  
	       },
		  "url": "https://www.eltechengineering.in/job-openings-for-accounts-officer-hyderabad-960281.htm",
          "datePosted": "2023-08-28",
          
		  "baseSalary": " 1  Lac  25 Thousand  To  2  Lac  25 Thousand ",
		  "description": "Job Description & Skill Set:rn•	Sound knowledge in procedures involved in statutory compliances relating to taxations (TDS, VAT, CST, GST, Service Tax).rn•	Skilled at preparing final account and o",
		  "educationRequirements": "Diploma",
		  "experienceRequirements": "1 - 2 Years",
		  "industry": "Accounting / Auditing / Taxation",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Telangana",
		      "addressRegion": "Hyderabad"
		    }
		  },
		 "qualifications": "Diploma",
		     "skills": "Accounts Manager,Accounting,Accounts Officer,Finance Manager"
		  }
		</script>
		";i:5;N;}