Accountant Our client is an established non-profit in the Columbus-area facilitating a number of support services for children, families, and communities and they are seeking the support of an Accountant. Pay is $55-60k, DOE ABOUT THE COMPANY
Our client is a non-profit organization in the Columbus area providing services to the community
Work where you make a difference!
Friendly and flexible work environment
Interact with financials and internal team members
Great work-life balance with hybrid work opportunities in the Accountant position RESPONSIBILITIES OF THE ACCOUNTANT
The Accountant will manage daily accounts payable and payroll responsibilities
Process all invoices; obtain approvals and GL code, ensure proper GL posting dates
The Accountant will be responsible for payroll processing and assist with daily accounting functions
All other duties and projects, as assigned EXPERIENCE PREFERRED FOR THE ACCOUNTANT ROLE:
Must have a minimum 2 years' experience with the duties above in an accounting setting
Experience with non-profit accounting or a relevant degree are plusses, but not required for this position
Strong communication skills and excellent time management skills are required Pay is $55-60k, DOE 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"; });