Property Controller Creative Financial Staffing of New York is working with a large Real Estate Developer who is looking for a Rock Star Property Controller to their team. The firm owns, manages, and leases some of the largest residential and commercial properties in Manhattan. If you are looking to work in a terrific and friendly work environment, continue reading! About the organization:
The organization has been around for almost 100 years and have an amazing reputation within the industry
The majority of properties are in NYC, with other locations in Florida, California, and the Midwest
The firm is located in Midtown, Manhattan.
Longevity in an environment that is conducive to learning new skills
Generous benefits package including medical, dental, vision, 401K, PTO, "Great place to work people are friendly and professional" "Best part of the job is how the staff look out for you always" Responsibilities of the Property Controller:
Cash flow projections, footnotes
Perform month end close procedures
Reconciliations, journal entries, account analysis
Preparation of financial statements and related reporting
Straight Line Rent recording and carryforward calculations
Review work in processing capital projects and prepare any related documentation
Manage Fixed asset depreciation and amortization schedules
Manage Cash Flow
Closing the books and records
Experience with K1's and S-Corp accounting and financials
Real Estate tax preparation and filings. Qualifications of the Property Controller:
Bachelor's degree in Accounting
5+ years of progressive accounting experience in the real estate industry
Experience with Yardi, MRI, Sage, QuickBooks, a plus
CPA or Public Accounting Experience a plus EB- document.addEventListener('DOMContentLoaded', => { const root = document.querySelector('#job_desc'); if (!root) return; // Skip wrapping if we've already done it if (root.dataset.hashtagsWrapped === "1") return; const SKIP = new Set(['SCRIPT','STYLE']); const walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, { acceptNode(node) { if (!node.nodeValue !node.nodeValue.match p{L}\p{N}_]+/u)) return NodeFilter.FILTER_REJECT; // Avoid wrapping inside an existing hashtag span let p = node.parentNode; while (p && p !== root) { if (p.nodeType === 1 && p.hasAttribute('data-hashtag')) return NodeFilter.FILTER_REJECT; if (SKIP.has(p.nodeName)) return NodeFilter.FILTER_REJECT; p = p.parentNode; } return NodeFilter.FILTER_ACCEPT; } }); const re = p{L}\p{N}_ gu; function wrapTextNode(textNode) { const text = textNode.nodeValue; re.lastIndex = 0; let m, last = 0; const frag = document.createDocumentFragment ; while ((m = re.exec(text)) !== null) { // preceding plain text if (m.index > last) frag.appendChild(document.createTextNode(text.slice(last, m.index))); // hashtag span const span = document.createElement('span'); span.textContent = m[0]; span.setAttribute('data-hashtag', '1'); // idempotence guard span.setAttribute('style', 'font-size:9px;color:#fff'); // requested inline style frag.appendChild(span); last = re.lastIndex; } // trailing plain text if (last < text.length) frag.appendChild(document.createTextNode(text.slice(last))); textNode.parentNode.replaceChild(frag, textNode); } const toProcess = []; let n; while ((n = walker.nextNode toProcess.push(n); toProcess.forEach(wrapTextNode); root.dataset.hashtagsWrapped = "1"; });