Creative Financial Staffing
Staff Accountant - Nonprofit | Chicago, IL | $60,000-$70,000 We are hiring a Staff Accountant to join a small, mission-driven nonprofit team in Chicago. As the Staff Accountant, you will:
* Manage day-to-day accounting operations, including AP/AR, bank and credit card reconciliations, and monthly close.
* Assist with budgeting, grant tracking, and financial reporting for audits.
* Maintain accurate financial records and ensure compliance with internal controls.
* Collaborate with leadership and program teams to support organizational goals.
* Take ownership of accounting processes in a small, collaborative environment.
Qualifications for the Staff Accountant role:
* 3-7 years of nonprofit or fund accounting experience.
* Strong QuickBooks Desktop and Excel skills (pivot tables, VLOOKUP).
* Comfortable working independently and managing multiple responsibilities.
Why you'll love this Staff Accountant role:
* Meaningful mission-driven work with visibility to leadership
* Competitive salary: $60,000-$70,000 and benefits. #LI-JM2
#INDEC2025
EB-1073093444 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
* Manage day-to-day accounting operations, including AP/AR, bank and credit card reconciliations, and monthly close.
* Assist with budgeting, grant tracking, and financial reporting for audits.
* Maintain accurate financial records and ensure compliance with internal controls.
* Collaborate with leadership and program teams to support organizational goals.
* Take ownership of accounting processes in a small, collaborative environment.
Qualifications for the Staff Accountant role:
* 3-7 years of nonprofit or fund accounting experience.
* Strong QuickBooks Desktop and Excel skills (pivot tables, VLOOKUP).
* Comfortable working independently and managing multiple responsibilities.
Why you'll love this Staff Accountant role:
* Meaningful mission-driven work with visibility to leadership
* Competitive salary: $60,000-$70,000 and benefits. #LI-JM2
#INDEC2025
EB-1073093444 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