a:6:{i:0;s:13518:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Job openings for senior quantity surveyor civil engineer project incharge in canada</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.appointjobs.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.appointjobs.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for senior quantity surveyor civil engineer project incharge in canada</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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">Senior Quantity Surveyor-Civil Engineer / Project Incharge</div>
								
				<br>
				<p class="aj mt7px">Manage the commercial aspects of new and refurbishment projects. This will include monitoring variations, preparation of valuations, payment certificates, cost reports and final accounts.<br />
<br />
Functional Responsibilities:<br />
<br />
Examine the tender thoroughly, to accurately determine the quantity of the materials required so as to prepare bill of quantity for the Estimates department to provide rational and competitive estimates enabling the company to win the tender.<br />
<br />
Having pre tendering and post tendering knowledge.<br />
<br />
Prepare the Valuation report every month for each project till completion to keep track of all jobs completed (and their costs), prepare and submit the claim to the client / consultant for approval, receive the value certificate for the agreed value and forward the same to accounts for further action.<br />
<br />
Prepare the payment certificates for sub-contractors once value certificates are received and based on the jobs completed, arrange to pay them in according to terms specified in their contracts.<br />
<br />
Prepare cost reports clearly indicating the status of processed, received and pending payments, obtain approval from the CM and forward the same to Accounts.<br />
<br />
Prepare detailed specifications and obtain the estimates of additional cost from the estimates department in case of a variation i.e. a change in approved drawing or any addition to the job in order to obtain approval of the client.<br />
<br />
Prepare final accounts once the job is completed, coordinate with the site engineer to confirm all works are costed, prepare and attach necessary supporting documents, obtain approval of the CM and receive a payment certificate from the client in order to enable the company to collect outstanding amount on due date.<br />
<br />
We are the services provider to the candidates for better exposure, Training, Guidance, helping them to stand amongst other !!! Get a direct exposure</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">4 - 10 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 18  Lac  To   37 Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Real Estate / Construction</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree, B.Tech/B.E</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Civil construction</span>
												<span class="bdr dib p2px10px mr5px mt2px">Civil supervisor</span>
												<span class="bdr dib p2px10px mr5px mt2px">Civil maintenance</span>
												<span class="bdr dib p2px10px mr5px mt2px">civil engineer</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">Contact Person</td>
						<td class="p5px">Suchita</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Pitampura, New Delhi 110034</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9032165498 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:info@appointjobs.com"> info@appointjobs.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="889058">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="941586"><input type="hidden" name="subject" value="Applied for Senior Quantity Surveyor-Civil Engineer / Project Incharge">
					</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-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-canada.htm" title="Jobs in Canada">Canada</a> <b class="alpha50 bn small">(45)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-germany.htm" title="Jobs in Germany">Germany</a> <b class="alpha50 bn small">(6)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-france.htm" title="Jobs in France">France</a> <b class="alpha50 bn small">(2)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-italy.htm" title="Jobs in Italy">Italy</a> <b class="alpha50 bn small">(2)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-australia.htm" title="Jobs in Australia">Australia</a> <b class="alpha50 bn small">(1)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-singapore.htm" title="Jobs in Singapore">Singapore</a> <b class="alpha50 bn small">(9)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-uae.htm" title="Jobs in United Arab Emirates">United Arab Emirates</a> <b class="alpha50 bn small">(8)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-kuwait.htm" title="Jobs in Kuwait">Kuwait</a> <b class="alpha50 bn small">(6)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-malaysia.htm" title="Jobs in Malaysia">Malaysia</a> <b class="alpha50 bn small">(4)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-qatar.htm" title="Jobs in Qatar">Qatar</a> <b class="alpha50 bn small">(6)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-saudi-arabia.htm" title="Jobs in Saudi Arabia">Saudi Arabia</a> <b class="alpha50 bn small">(6)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-oman.htm" title="Jobs in Oman">Oman</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">(15)</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">(5)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px "><span class="fr">(5)</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">(4)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
										<p class="mb5px "><span class="fr">(3)</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 "><span class="fr">(3)</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">(2)</span><a href="jobs-in-oil-gas-petroleum-fid.htm" title="Oil / Gas / Petroleum Jobs">Oil / Gas / Petroleum</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-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy ...</a></p>
										<p class="mb5px "><span class="fr">(1)</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 spanlist dn"><span class="fr">(1)</span><a href="jobs-in-network-administration-security-fid.htm" title="IT Software - Network Administration, Security Jobs">IT Software - Network Administ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-supply-chain-purchase-procurement-fid.htm" title="Supply Chain / Purchase / Procurement Jobs">Supply Chain / Purchase / Proc...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-biotech-scientist-fid.htm" title="Pharma / R&D / Biotech Jobs">Pharma / R&D / Biotech</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandisin...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</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>
										<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: 'Z0JnQVUvWUEyaEZVV1h5clUrUVZkUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:98:"Job openings for senior quantity surveyor civil engineer project incharge in canada | Appoint Jobs";i:2;s:312:"Senior Quantity Surveyor-Civil Engineer / Project Incharge Jobs,Senior Quantity Surveyor-Civil Engineer / Project Incharge Jobs in ,Senior Quantity Surveyor-Civil Engineer / Project Incharge Vacancy in ,Senior Quantity Surveyor-Civil Engineer / Project Incharge jobs in Canada,Real Estate / Construction jobs in ";i:3;s:355:"Apply for Senior Quantity Surveyor-Civil Engineer / Project Incharge Jobs in  Canada - Senior Quantity Surveyor-Civil Engineer / Project Incharge Vacancy  in Real Estate / Construction field with 4 to 10 years Work Experience, Key Skills are Civil construction,Civil supervisor,Civil maintenance,civil engineer, Real Estate / Construction jobs in   Canada";i:4;s:2657:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Senior Quantity Surveyor-Civil Engineer / Project Incharge",
		  "baseSalary": " 18  Lac  To   37 Lac  50 Thousand ",
		  "description": "Manage the commercial aspects of new and refurbishment projects. This will include monitoring variations, preparation of valuations, payment certificates, cost reports and final accounts.

Functional Responsibilities:

Examine the tender thoroughly, to accurately determine the quantity of the materials required so as to prepare bill of quantity for the Estimates department to provide rational and competitive estimates enabling the company to win the tender.

Having pre tendering and post tendering knowledge.

Prepare the Valuation report every month for each project till completion to keep track of all jobs completed (and their costs), prepare and submit the claim to the client / consultant for approval, receive the value certificate for the agreed value and forward the same to accounts for further action.

Prepare the payment certificates for sub-contractors once value certificates are received and based on the jobs completed, arrange to pay them in according to terms specified in their contracts.

Prepare cost reports clearly indicating the status of processed, received and pending payments, obtain approval from the CM and forward the same to Accounts.

Prepare detailed specifications and obtain the estimates of additional cost from the estimates department in case of a variation i.e. a change in approved drawing or any addition to the job in order to obtain approval of the client.

Prepare final accounts once the job is completed, coordinate with the site engineer to confirm all works are costed, prepare and attach necessary supporting documents, obtain approval of the CM and receive a payment certificate from the client in order to enable the company to collect outstanding amount on due date.

We are the services provider to the candidates for better exposure, Training, Guidance, helping them to stand amongst other !!! Get a direct exposure",
		  "educationRequirements": "Other Bachelor Degree, B.Tech/B.E",
		  "experienceRequirements": "4 - 10 Years",
		  "industry": "Real Estate / Construction",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "",
		      "addressRegion": ""
		    }
		  },
		 "qualifications": "Other Bachelor Degree, B.Tech/B.E",
		     "skills": "Civil construction,Civil supervisor,Civil maintenance,civil engineer"
		  }
		</script>
		";i:5;N;}