Как превратить таблицу «Эксель» в приложение по учету финансов
Я сделал собственное приложение для контроля за финансами.
Лет десять назад я, как и большинство жителей России, пользовался исключительно наличными. Позже появилась зарплатная карта в том самом банке. Вопросов, на что уходят деньги и сколько их у меня вообще, не возникало, так как денег в виде сбережений особо и не было ¯\_(ツ)_/¯
После выпуска из университета и начала работы на полную ставку у меня появились кое-какие накопления, а когда я стал ездить за границу, возникла необходимость в валютной дебетовке.
Первые попытки ведения бюджета
Что мне не нравилось в мобильных приложениях по ведению бюджета:
- Обязательная регистрация. Этого никогда не понимал!
- Требование дать доступ к конфиденциальной информации смартфона — контактам, файлам, системным настройкам. Особенно актуально для уже устаревших версий Андроида, где приложения запрашивали сразу все необходимые разрешения при установке.
- Неприятные нюансы вроде поддержки только одной валюты или наличия рекламы.
- Непонятно, как и кем используются мои данные и что вообще с безопасностью удаленного хранения финансовой информации.
Таблица в «Экселе»: плюсы, минусы, подводные камни
Возвращаться к мобильным приложениям я не хотел, так как помнил, какие с ними были проблемы. Делать свое веб-приложение — тогда я зарабатывал на жизнь именно этим — было лень. К тому же не хотелось зависеть от наличия интернета и тратить время и деньги на поддержку сервера. И тут на помощь пришел старый добрый «Эксель».
- Независимость от платформы. Хочешь — фиксируй траты на телефоне с Андроидом, а хочешь — анализируй сводку на Макбуке или традиционном компьютере с Виндоус.
- Функциональность ограничена только фантазией.
- Формулы либо элементарны, либо хорошо задокументированы.
- Абсолютно бесплатно!
Забегая вперед, скажу, что таблицей я пользовался два года. За все это время структура и функциональность как добавлялись, так и удалялись за ненадобностью. Например, от начала и до конца в моей таблице были списки операций и счетов, а вот лист с бюджетом за пару месяцев превратился просто в список категорий.
Лист 1. Операции. Ключевая часть всего учета. Одна операция — одна строка в таблице. Фиксирую сумму и дату операции, а категорию, счет и валюту выбираю из списков. Опционально можно указать название операции или магазина и заполнить еще пару полей для комментариев.
Поля с коэффициентом — знаком операции (плюс или минус — доход или расход) вычисляются автоматически. Также предусмотрен валютный коэффициент для случаев, когда валюта операции отличается от карты. Дополнительно для отчетов вычисляются год, месяц операции и валюта счета.
Звучит слишком сложно? Полностью с вами согласен! Наиболее утомительная часть всего учета — переводы между счетами — была реализована в виде пары операций: расходной с одного счета и доходной для другого.
Еще одна функция, о которой стоит упомянуть, — это вычисление суммы ежемесячных расходов по картам. Она помогает контролировать выполнение разнообразных условий банков для получения процентов, кэшбэков и прочих плюшек.
Лист 3. Банки. Эта таблица складывает строки счетов и группирует данные по валютам. Благодаря автоматическому импорту курсов доллара и евро с сайта Центробанка РФ можно вычислить итоговую сумму в рублях, по которой строится диаграмма с долями финансов в разных банках.
Лист 4. Категории. Раньше назывался «Бюджет», но когда я понял, что по факту еще не дорос до этой темы, лист превратился в источник категорий. Одно время я делал сводные таблицы по месяцам и категориям, но особой пользы не нашел.
Лист 5. Ценные бумаги. На этот лист пришлось потратить больше всего времени: нужно было свести в одном месте данные по акциям, фондам и облигациям у четырех разных брокеров в разных валютах.
Все остальные листы — это эксперименты или сводки по выборкам данных с предыдущих листов. Накопленные данные об операциях по всем счетам позволяют за несколько минут узнать, как повлияла покупка кофемашины в офис на «кофейные» расходы или сколько ушло на свадьбу.
Можно копировать сразу для сотни или тысячи строк, но это все равно неудобно и не меняет главного: таблица «тормозит» все больше и больше. Первый год этого не замечаешь, затем терпишь. К концу второго года накопилось пять тысяч строк операций и терпение закончилось.
Как сделать свое приложение на самоизоляции
Я решил заменить электронную таблицу мобильным приложением на Андроиде. Во-первых , оно позволило бы импортировать мою существующую историю расходов и доходов за два года. Во-вторых , приложение не тормозило бы при таком объеме данных. Кроме того, оно не уступает по основной функциональности электронной таблице, так как в нем можно реализовать:
- Управление операциями: расходы, доходы, переводы. Это само собой.
- Поддержку категорий и счетов. Обязательно с возможностью архивации, чтобы неактуальная категория или закрытый вклад не мозолили глаза.
- Мультивалютность и выделение цветом.
- Возможность выгрузить данные обратно в электронную таблицу для бэкапа или детального анализа.
Все задуманное удалось реализовать. Конечно же, пришлось дополнительно изучить массу документации по работе с базами данных и многопоточности на Андроиде, внедрить рекомендуемые «Гуглом» компоненты для построения архитектуры приложения, которое позже не будет мучительно больно поддерживать.
Представьте себе: единственный человек, который имеет полное представление об одном из компонентов продукта, просто уходит. Ради того, чтобы работать на ферме [. ]. — Джейб Блюменталь
5 простых и мощных возможностей Excel о которых Вы не знали.
- Обязательная регистрация. Этого никогда не понимал!
- Требование дать доступ к конфиденциальной информации смартфона — контактам, файлам, системным настройкам. Особенно актуально для уже устаревших версий Андроида, где приложения запрашивали сразу все необходимые разрешения при установке.
- Неприятные нюансы вроде поддержки только одной валюты или наличия рекламы.
- Непонятно, как и кем используются мои данные и что вообще с безопасностью удаленного хранения финансовой информации.
Конечно, базовым его функциям можно найти замену. Но что делать с его эксклюзивными возможностями, альтернатив которым запросто может не найтись? Мне правда интересно, сколько компаний по всему миру будут вынуждены сделать паузу, если одним прекрасным утром Наделла проснется и решит «зарезать» Excel. Сколько компаний не смогут нормально работать?