Post Job Free
Sign in

FP&A Manager

Company:
Creative Financial Staffing
Location:
Delaware, OH, 43015
Posted:
November 30, 2025
Apply

Description:

Financial Planning & Analysis (FP&A) Manager

Location: Onsite - Delaware, OH

Salary Range: $100,000 - $120,000 What You'll Do:

Lead heavy financial analysis across four business units.

Build and maintain complex financial models to support forecasting and strategic planning.

Analyze sales staff bonuses, price/volume trends, and tariff impacts.

Deliver high-impact reporting using Power BI and Excel.

Support M&A activities and integration efforts as the company expands.

Drive monthly forecasting, annual planning, and budget variance analysis.

Partner with IT and finance to streamline reporting processes and ensure data accuracy.

Lead and manage multiple projects, pivoting as priorities shift. What We're Looking For:

5-10 years of experience in data-heavy financial analysis.

Advanced Excel skills and Power BI expertise.

Strong understanding of business processes and ability to translate data into actionable insights.

Experience with ERP implementation is a plus.

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

#ZRCFS 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