ну скорей всего всего потому что ты переменные обьявляешь еще до окончательно загрузки документа / мол к моменту обьявления этого expensesBtn сама кнопка которую ты присваиваешь еще не в дом( но я не проверил меня есть позвали)
вот это интересно . сейчас проведу эксперимент и ....