Post Job Free
Sign in

Assistant Controller

Company:
Creative Financial Staffing
Location:
Worthington, OH, 43085
Posted:
November 25, 2025
Apply

Description:

Assistant Controller

$105,000-$125,000Columbus, OH (onsite) Are you a detail-oriented, organized, and motivated individual looking to make an impact in the world of finance? Our client is an industry-leading company looking to hire a talented Assistant Controller. Their team is dedicated to innovation, collaboration, and creating a positive impact in the communities they serve. Responsibilities:

Prepare and maintain financial statements, including balance sheets, income statements, and cash flow statements.

Conduct month-end and year-end close processes, ensuring timely and accurate reporting.

Process accounts payable and accounts receivable transactions, reconciling discrepancies as needed.

Assist in budget preparation, forecasting, and financial analysis to support decision-making.

Collaborate with other departments to streamline financial operations and optimize financial reporting procedures.

Handle tax-related matters and ensure compliance with all relevant regulations and reporting requirements.

Participate in audits and assist in implementing internal controls to safeguard company assets.

Stay updated with accounting principles, standards, and best practices to maintain accuracy and compliance. Qualifications:

Bachelor's degree in Accounting, Finance, or a related field.

4+ years of experience in accounting or finance roles.

Strong understanding of GAAP (Generally Accepted Accounting Principles) and relevant accounting regulations.

Proficient in using accounting software and MS Office Suite (Excel, Word, PowerPoint).

Excellent analytical and problem-solving skills with great attention to detail.

Ability to work both independently and collaboratively in a fast-paced environment.

Strong communication skills and the ability to convey financial information clearly. 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"; });

Apply