Staff Accountant
Pittsburgh, PA 15110
$65,000 - $75,000 (Depending on Experience) About the Role:
Our client, a leader in the manufacturing industry, is seeking a Staff Accountant to join their growing Pittsburgh-based accounting team. The ideal candidate will be detail-oriented, analytical, and ready to take ownership of key accounting functions while supporting process improvements and compliance initiatives. Responsibilities of the Staff Accountant:
Prepare accurate financial reports and present findings to management.
The Staff Accountant will analyze financial data and summarize overall financial performance.
Identify errors and recommend ways to improve efficiency and cost control.
Review and suggest updates to accounting systems and procedures.
The Staff Accountant will assist with managing accounting assistants and bookkeepers.
Participate in financial forecasting and goal-setting processes.
The Staff Accountant will prepare financial statements and budgets according to established timelines.
Support internal and external audits to ensure compliance with GAAP.
Oversee month-end and year-end close processes.
Develop and document accounting policies and procedures to strengthen internal controls. Qualifications for the Staff Accountant Role:
Bachelor's degree in Accounting or Finance.
2+ years of experience in accounting or finance.
Proficiency with ERP or general ledger software systems. 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"; });