Collections Coordinator - B2B Location: Madison, WI Onsite Full-time About the Company
Our client, a well-established Madison-based company, is seeking a Collections Coordinator to join their team. This is a great opportunity for someone who enjoys working in a collaborative, fast-paced environment where every day brings something new. If you're detail-oriented, enjoy problem-solving, and like being part of a supportive team, this role could be a perfect fit. About the company
Casual dress code
Flexible work hours
Fun company events and team activities
Great coworkers and supportive leadership What You'll Do
Communicate with clients to resolve overdue accounts and encourage timely payments
Review sales, service, or credit agreements to address discrepancies
Notify the credit department of unresolved accounts
Track and document collection activities and customer account status
Process and post customer payments accurately and promptly What We're Looking For
Two or more years of experience in accounting, collections, or customer service
Strong Excel skills (intermediate to advanced)
High attention to detail and accuracy
Excellent written and verbal communication skills
A friendly, professional approach to resolving issues #INNOV2025
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"; });