a:6:{i:0;s:8449:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for commercial manager controller in morocco</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.diyahr.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.diyahr.com/current-opening.htm" title="Current Opening">Current Opening</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for commercial manager controller in morocco</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">Commercial Manager & Controller</div>
								
				<br>
				<p class="aj mt7px">Ensuring correct, timely & compliant Accounting.<br />
Financial reporting and analysis.<br />
Driving audits within timelines.<br />
MIS, Budgeting, forecasting & Controlling.<br />
Risk mitigation (insurance policy, hedging policy, credit policy, etc.).<br />
Banking-relations and optimal borrowings.<br />
Cost Controlling & Reporting.<br />
Inventory Controls & Valuation.<br />
Review & Control of Commercial transactions & Contracts.<br />
Expenses & Overheads Controlling & Management. <br />
Capitalization of Assets and assisting in evaluation of Capex Proposals.<br />
Cash flow management, accounts receivable & account payable management.<br />
Petty Cash Management.<br />
Ensuring compliance with statutory law and financial regulations and coordination with Govt. Authorities & Consultants.<br />
Working closely with management or executive teams to share reports and analysis findings.<br />
<br />
Desired Profile:<br />
<br />
CA with minimum 6 yrs of experience in manufacturing as Finance Controller.<br />
Having experience in International Financial Reporting Standards.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">6 - 12 Years</td>
				</tr>			
									<tr>
					<td class="alpha75 p5px">Salary</td>
					<td class="p5px">Not Disclosed</td>
					</tr>
									
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Manufacturing / Production / Quality</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">CA</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Financial Controller</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Risk Mitigation</span>
												<span class="bdr dib p2px10px mr5px mt2px"> IFRS</span>
												<span class="bdr dib p2px10px mr5px mt2px"> CAPEX</span>
												<span class="bdr dib p2px10px mr5px mt2px"> CA</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Commercial Manager</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 vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Client of Diya HR</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">It is a Manufacturing Company into Engineering Products</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Mr Ganesh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">65223699 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:contact@diyahr.com"> contact@diyahr.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="314332">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="971306"><input type="hidden" name="subject" value="Applied for Commercial Manager & Controller">
					</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-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(4)</b></span>
											<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-afghanistan.htm" title="Jobs in Afghanistan">Afghanistan</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="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-morocco.htm" title="Jobs in Morocco">Morocco</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="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">(3)</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">(2)</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">(1)</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">(1)</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">(1)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</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>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'bUIvUzZ0aTNORUlDbGtiNzErcTFCUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:87:"Job openings for commercial manager controller in morocco | Diya HR Consultants Pvt Ltd";i:2;s:215:"Commercial Manager & Controller Jobs,Commercial Manager & Controller Jobs in ,Commercial Manager & Controller Vacancy in ,Commercial Manager & Controller jobs in Morocco,Manufacturing / Production / Quality jobs in ";i:3;s:329:"Apply for Commercial Manager & Controller Jobs in  Morocco - Commercial Manager & Controller Vacancy  in Manufacturing / Production / Quality field with 6 to 12 years Work Experience, Key Skills are Financial Controller, Risk Mitigation, IFRS, CAPEX, CA, Commercial Manager, Manufacturing / Production / Quality jobs in   Morocco";i:4;s:1653:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Commercial Manager & Controller",
		  "baseSalary": "",
		  "description": "Ensuring correct, timely & compliant Accounting.
Financial reporting and analysis.
Driving audits within timelines.
MIS, Budgeting, forecasting & Controlling.
Risk mitigation (insurance policy, hedging policy, credit policy, etc.).
Banking-relations and optimal borrowings.
Cost Controlling & Reporting.
Inventory Controls & Valuation.
Review & Control of Commercial transactions & Contracts.
Expenses & Overheads Controlling & Management. 
Capitalization of Assets and assisting in evaluation of Capex Proposals.
Cash flow management, accounts receivable & account payable management.
Petty Cash Management.
Ensuring compliance with statutory law and financial regulations and coordination with Govt. Authorities & Consultants.
Working closely with management or executive teams to share reports and analysis findings.

Desired Profile:

CA with minimum 6 yrs of experience in manufacturing as Finance Controller.
Having experience in International Financial Reporting Standards.",
		  "educationRequirements": "CA",
		  "experienceRequirements": "6 - 12 Years",
		  "industry": "Manufacturing / Production / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "",
		      "addressRegion": ""
		    }
		  },
		 "qualifications": "CA",
		     "skills": "Financial Controller, Risk Mitigation, IFRS, CAPEX, CA, Commercial Manager"
		  }
		</script>
		";i:5;N;}