The Treasurer at the NonProfit Board Meeting

The NonProfit Board meeting is where reputations of volunteers are made or crash and burn. The role of the chair is clear enough; They...

  • ensure the meeting agenda is sent out and commented on by board members so that by the time the meeting starts, everyone is engaged (NB: Google Docs are perfect for collaboration here.)
  • start the meeting on time (and even more importantly close the meeting at the exact advertised time)
  • keep to the agenda
  • ensure each item ends with a decision (and notate the outcomes, allocation of tasks, and distribute the minutes within 48 hours of the meeting) 
  • ensure everyone has been heard (with between-meeting coach sessions, if necessary).

Good meetings are run by an experienced and professional chairperson. They are worth their weight in gold.

But the treasurer is a combination alchemist and speaker-in-tongues. Its the job no one wants, so if there is a keen candidate, that would be the person to avoid. Its time to meet the new treasurer, the person now being sought out at the Board EOY party.

New treasurer as enabler

The NonProfit Treasurer has an important role to build financial literacy at the board table. Given most nonprofit boards are built by service users, other practitioners, mission-driven enthusiasts, it is rare that the directors have been exposed to financial reports or even basic accounting concepts. Rather than keep the financials a secret, the new treasurer will spend time bringing the board up to speed on how to read reports, encourage questions, and deep dive into the meaning of the numbers. Not only are the other directors legally responsible for the financial viability of the board, they can make a valuable contribution if they know what is going on. So the new treasurer will meet with directors between meetings - in a group or in one-on-one (depending on practical considerations) - and go through the elements of the board financial reports. Explaining how the budget is constructed, how to interpret variations against budget, illustrating the critical role of the balance sheet to inform the directors about organisational solvency and value... Setting up fourx2hour meetings through the year to encourage directors to ask questions (which never get addressed at the board meeting) can be the most generous and valuable gift of the new Treasurer.

New treasurer as conductor

Working closely with the Executive Director/CEO, the new treasurer becomes aware of the detailed challenges facing management, and gets another insight into the financial viability of the organisation. The new treasurer invites discussion with the CEO, and leads the CEO to solve their own problems without being an autocrat. Sometimes an experienced consultant or accountant is required to move things along, and the treasurer has the authority to get that help. The new treasurer does not manage the organisation, but leads the CEO and their team through problem solving processes, and is a conduit to the board of their insights about the challenges on 'the shop floor', with implications for informing board strategy.

New treasurer as funder

Each member of the board has a role in ensuring the organisation has the money it needs to meet its mission. Whether its tapping into their networks or working at the fund-raising event, board members cannot ignore their responsibilities to ensure the organisation has sufficient income to meet the board's strategic plan.

The new treasurer has the same responsibility, and can further assist by, for example, maximising income from investments (through the board Investment policy), by guiding board approval for budget variations where there are blow-outs, by ensuring everyone understands why surpluses lead to long-term viability, and by being a source of advice to the CEO on grant applications and approaches to philanthropists. The new treasurer can make a huge difference by showing up to the 'pitch' with the staff team, and talking through the financials for a sought after grant.

New treasurer as leader

As part of the board executive, the new treasurer works closely with the chairperson to encourage and support the contribution of all board members. They proactively coach new board members, and ensure their voices heard, so that the board as a whole brings the organisation to a new and higher level of governance.

Old treasurers keep financial information mysterious and dismiss the value of other board members. Old treasurers kill off enthusiasm, inquiry and insight, and eventually the organisation. 

$(document).ready(function() { $('#next1').click(function() { var orgname= $('#orgname').val(); var putorgname= $('.org_name').html(orgname); $('.org_name1').val(orgname); }); }); (function($) { $(function() { $(document).ready(function(){ //Client-supplied mystery meat constants var r2eRatioMin = 8; var r2eRatioMax = 22; var wcRatioMin = 0.2; var wcRatioMax = 3.2; var crRatioMin = 2; var crRatioMax = 12; var prRatioMin = 0; var prRatioMax = 10; var currentstep = '#step1'; $('#step2,#step3,#step4').hide(); $('.calcnav .next').addClass('disabled'); function safeVal(value) { value = value.replace('$',''); value = value.replace(/,/g,''); value = value.replace(' ',''); return value; } /**********************************************/ //NAV //When we click a nav link, show the div referenced by the href, which will be something like #step2 $('.calcnav a').click(function(e){ //Don't navigate if required fields are missing or the link is disabled if($(this).hasClass('disabled')){ return false; } if($(this).hasClass('.next') && !checkReq(currentstep)) { return false; } e.preventDefault(); var selector = $(this).attr('href'); if($(selector).length) { //we have a div to show //Fade out, then fade in the new div $.when($('.calcsection').fadeOut(500)).done(function() { $(selector).fadeIn(); currentstep = selector; if(currentstep == '#step4') { step4calc(); } }); } }); //.calcnav a.click() /************************************************/ function step1calc() { var v21 = parseInt( safeVal($('input[name="orgname"]').val()) ); var v1 = parseInt( safeVal($('input[name="bankaccounts"]').val()) ); var v2 = parseInt( safeVal($('input[name="currentassets"]').val()) ); var v3 = parseInt( safeVal($('input[name="fixedassets"]').val()) ); if(isNaN(v1) || isNaN(v2) || isNaN(v3)) { $('input[name="totalassets"]').val(''); $('#step1 .calcnav a.next').addClass('disabled'); return false; } $('#step1 .calcnav a.next').removeClass('disabled'); $('input[name="totalassets"]').val(v1 + v2 + v3); } //Add listeners for step 1 $('#step1 input').change(function(){ step1calc(); }); $('#step1 input').keyup(function(){ step1calc(); }); /**********************************************/ function step2calc() { var l1 = parseInt( safeVal($('input[name="creditors"]').val()) ); var l2 = parseInt( safeVal($('input[name="staffentitlements"]').val()) ); var l3 = parseInt( safeVal($('input[name="grants"]').val()) ); var l4 = parseInt( safeVal($('input[name="currentliabilities"]').val()) ); var l5 = parseInt( safeVal($('input[name="noncurrentliabilities"]').val()) ); if(isNaN(l1) || isNaN(l2) || isNaN(l3) || isNaN(l4) || isNaN(l5)) { $('input[name="totalliabilities"]').val(''); $('#step2 .calcnav a.next').addClass('disabled'); return false; } $('#step2 .calcnav a.next').removeClass('disabled'); $('input[name="totalliabilities"]').val(l1 + l2 + l3 + l4 + l5); var reserves = parseInt( safeVal($('input[name="totalassets"]').val()) ) - parseInt( safeVal($('input[name="totalliabilities"]').val()) ); $('input[name="reserves"]').val(reserves); } //Add listeners for step 2 $('#step2 input').change(function(){ step2calc(); }); $('#step2 input').keyup(function(){ step2calc(); }); /**********************************************/ function step3calc() { var a1 = parseInt( safeVal($('input[name="annualincome"]').val()) ); var a2 = parseInt( safeVal($('input[name="annualspend"]').val()) ); var a3 = parseInt( safeVal($('input[name="staffcosts"]').val()) ); if(isNaN(a1) || isNaN(a2) || isNaN(a3) ) { $('input[name="net"]').val(''); $('#step3 .calcnav a.next').addClass('disabled'); return false; } var net = a1 - a2 ;// - parseInt(a3) //total income - total costs $('#step3 .calcnav a.next').removeClass('disabled'); $('input[name="net"]').val(net); } //Add listeners for step 3 $('#step3 input').change(function(){ step3calc(); }); $('#step3 input').keyup(function(){ step3calc(); }); /**********************************************/ function step4calc() { var currentAssets = parseInt( safeVal($('input[name="bankaccounts"]').val()) ) + parseInt( safeVal($('input[name="currentassets"]').val()) ); var totalAssets = currentAssets + parseInt( safeVal($('input[name="fixedassets"]').val()) ); var currentLiabilities = parseInt( safeVal($('input[name="creditors"]').val()) ) + parseInt( safeVal($('input[name="staffentitlements"]').val()) ) + parseInt( safeVal($('input[name="grants"]').val()) ) + parseInt( safeVal($('input[name="currentliabilities"]').val()) ); var totalLiabilities = currentLiabilities + parseInt( safeVal($('input[name="noncurrentliabilities"]').val()) ); var reserves = totalAssets - totalLiabilities; var netSurplus = parseInt( safeVal($('input[name="annualincome"]').val()) ) - parseInt( safeVal($('input[name="annualspend"]').val()) ); //1 var ratio1 = parseInt( safeVal($('input[name="reserves"]').val()) ) / parseInt( safeVal($('input[name="annualspend"]').val()) ) * 100; var score1 = Math.round((((ratio1 - r2eRatioMin)/(r2eRatioMax-r2eRatioMin))*9+1)*10)/10; if(score1 < 0){ score1 = 0;} if(score1 > 10) { score1 = 10;} $('#score1').text(score1); $('#score1a').val(score1); $('#ratio1').text(ratio1.toFixed(1) + '%'); $('#ratio1a').val(ratio1.toFixed(1) + '%'); var status1 = '';var status1a = ''; if(ratio1 < 15) { status1 = 'bad';status1a = 'red'; } else if(ratio1 >= 15 && ratio1 < 18) { status1 = 'average';status1a = 'yellow'; } else if(ratio1 >= 18) { status1 = 'good'; status1a = 'green'; } $('#status1').addClass(status1); $('#status1a').val(status1a); //2 var ratio2 = 0; if(currentLiabilities <= 0){ ratio2 = 0; } else { ratio2 = currentAssets / currentLiabilities; } $('#ratio2').text(ratio2.toFixed(1)); $('#ratio2a').val(ratio2.toFixed(1)); var score2 = Math.round((((ratio2-wcRatioMin)/(wcRatioMax-wcRatioMin))*9+1)*10)/10; if(score2 < 0){ score2 = 0; } if(score2 > 10) { score2 = 10; } $('#score2').text(score2); $('#score2a').val(score2); var status2 = '';var status2a = ''; if(ratio2 < 1){ status2 = 'bad'; status2a = 'red'; } else if(ratio2 >= 1 && ratio2 < 2) { status2 = 'average'; status2a = 'yellow'; } else if(ratio2 >= 2) { status2 = 'good';status2a = 'green'; } $('#status2').addClass(status2); $('#status2a').val(status2a); //3 var totalExpenditure = parseInt( safeVal($('input[name="annualspend"]').val()) ); var weeklyExpenditure = totalExpenditure / 52; var ratio3 = 0; var bankAccounts = parseInt( safeVal($('input[name="bankaccounts"]').val()) ); var grants = parseInt( safeVal($('input[name="grants"]').val()) ); if (totalExpenditure == 0) { ratio3 = 0; } else { ratio3 = (bankAccounts - grants) / weeklyExpenditure; } $('#ratio3').text(ratio3.toFixed(1)); $('#ratio3a').val(ratio3.toFixed(1)); var score3 = Math.round((((ratio3-crRatioMin)/(crRatioMax-crRatioMin))*9+1)*10)/10; if(score3 < 0) { score3 = 0; } if(score3 > 10) { score3 = 10; } $('#score3').text(score3); $('#score3a').val(score3); var status3 = ''; var status3a = ''; if(score3 < 7) { status3 = 'bad'; status3a = 'red'; } else if(score3 >= 7 && score3 < 10) { status3 = 'average';status3a = 'yellow'; } else if(score3 >= 10) { status3 = 'good';status3a = 'green'; } $('#status3').addClass(status3); $('#status3a').val(status3a); //4 var profitmargin = 0; var totalincome = parseInt( safeVal($('input[name="annualincome"]').val()) ); if(totalincome > 0){ profitmargin = (totalincome - totalExpenditure) / totalincome * 100; } var ratio4 = profitmargin; $('#ratio4').text(ratio4.toFixed(1) + '%'); $('#ratio4a').val(ratio4.toFixed(1) + '%'); var score4 = Math.round((((profitmargin-prRatioMin)/(prRatioMax-prRatioMin))*10)*10)/10; if(score4 < 0) { score4 = 0; } if(score4 > 10) { score4 = 10; } $('#score4').text(score4); $('#score4a').val(score4); var status4a = ''; if(score4 < 1) { status4 = 'bad';status4a = 'red'; } else if(score4 >= 1 && score4 < 6) { status4 = 'average'; status4a = 'yellow'; } else if(score4 >= 6 ) { status4 = 'good';status4a = 'green'; } $('#status4').addClass(status4); $('#status4a').val(status4a); //5 var ratio5 = 0; var staffcosts = parseInt( safeVal($('input[name="staffcosts"]').val()) ); if(totalincome == 0) { ratio5 = 0; } else { ratio5 = staffcosts / totalincome; } $('#ratio5').text((ratio5 * 100).toFixed(1) + '%'); $('#ratio5a').val((ratio5 * 100).toFixed(1) + '%'); var score5 = 0; score5 = Math.round(((1-ratio5)*10+3)*10)/10; if(score5 < 0) { score5 = 0; } if(score5 > 10) { score5 = 10; } $('#score5').text(score5); $('#score5a').val(score5); ratio5 = ratio5 * 100; var status5 = '';var status5a = ''; if(ratio5 < 60) { status5 = 'bad'; status5a = 'red'; } else if (ratio5 >= 60 && ratio5 < 80) { status5 = 'average';status5a = 'yellow'; } else if(ratio5 >= 80) { status5 = 'good';status5a = 'green'; } $('#status5').addClass(status5); $('#status5a').val(status5a); //total var totalscore = parseFloat($('#score1').text()) + parseFloat($('#score2').text()) + parseFloat($('#score3').text()) + parseFloat($('#score4').text()) + parseFloat($('#score5').text()); $('#totalscore').text(totalscore); selector12(); return false; } function selector12() { $("#button").trigger('click'); //$("#button").click(); return false; } /**********************************************/ function checkReq(selector) { var proceed = true; $.each($(selector + ' input.required'),function() { if( $(this).val() == '' ) { proceed = false; } }); if(proceed == true) { return true; } else { return false; } } /***********************************************/ $('.helpicon').mouseover(function(e){ $(this).siblings('.helpcontent').css('top',e.pageY - 10); $(this).siblings('.helpcontent').css('left',e.pageX + 10); $(this).siblings('.helpcontent').show(); }); $('.helpicon').mouseout(function(){ $(this).siblings('.helpcontent').hide(); }); }); }); })(jQuery);