Self Promo
May 2011 17

Домашние Финансы — Home.Finance.Ua


Уважаемые хабра-люди, в этом посте я бы хотел рассказать об онлайн-системе для ведения домашней бухгалтерии «Домашние Финансы — Home.Finance.Ua»

Свой пост я разделю на две части. Первая из них будет больше домашне-бухгалтерская, где я расскажу что интересного и полезного умеет система. А вторая — техническая, в которой я попытаюсь раскрыть некоторые ее архитектурные особенности. Если для кого-то много букв — на главной странице есть такая большая кнопка «Протестируйте систему ДОМАШНИЕ ФИНАНСЫ», которая ведет в наполненный реальными данными аккаунт.


Часть домашне-бухгалтерская



Домашние Финансы — это онлайн-система для ведения домашней бухгалтерии, учета личных финансов, планирования семейного бюджета. Структурно ведение домашней бухгалтерии в Домашних Финансах можно разделить на учет, планирование и анализ. И так, все по порядку.

Учет

Все финансовые операции в Домашних Финансах упрощены до расходов, доходов (которые определяют обмен деньгами бюджета с внешним миром) и переводов по счетам (внутрибюджетное перемещение денег). Этими тремя простыми и интуитивно понятными операциями несложно описать любой финансовый кульбит: взятие кредита, одалживание денег на короткий или длительный срок, обмен валюты, откладывание сбережений, возврат денег за возвращенный в магазин товар, компенсация служебных расходов и т. д. Некоторые схемы (в частности разные варианты учета долгов) описаны здесь.

Внести очередную операцию можно непосредственно или по SMS, отправив составленное по определенным правилам текстовое сообщение на обычный (в смысле тарифификации SMS-сообщений) номер МТС. Кстати, совсем недавно один из наших пользователей написал небольшое Android-приложение, в котором можно удобно создавать и хранить операции а затем отправлять на сервер сообщением, составленным автоматически.

Планирование

Планирование в Домашних Финансах состоит из трех разных… «планирований».

Вы можете планировать каждую отдельную финансовую операцию. Можете внести заранее известные операции наступившего месяца и затем, по мере, наступления соответствующей даты, просто «подтверждать» их. Таким образом «запланированная» операция превратиться в «совершенную» и начнет проходить по всем финансовым отчетам. Если нет — то станет «просроченной» и будет висеть бельмом в глазу до удаления или подтверждения. Маньяки, которые любят загодя создавать множество «запланированных» операций, могут использовать клонирование операций с указанием алгоритма периодичности (каждый будний день, каждый выходной; этот же день каждой недели, месяца).

Планирование бюджета — второй вид планирования. Оно заключается в установке плановых значений для каждой отдельной категории расходов и доходов. Для тех кто только начинает планировать удобно начать с каких-то условных значений. А те кто из месяца в месяц замечает закономерности может использовать «Планирование с компенсацией» — это возможность изменять план по одной категории как за счет обратного изменения планов по другим (всем или заданным) категориям, так и за счет изменения общей суммы плановых расходов или доходов.


Финансовые цели — последний вид планирования который позволяет планировать остатки. Накопить денги на отпуск, дорогую покупку, просто отложить некоторую сумму в сбережениях к назначенному сроку — это финансовая цель, если можно так сказать, заиметь средства в некотором размере, т. е. Получить остаток.

Анализ

Для анализа своего финансового состояния, контроля ключевых финансовых показателей в Домашних Финансах есть множество финансовых отчетов.

Наиболее общий и открывающийся при входе в систему — отчет «Итоги отчетного периода». Здесь можно создавать свои виджеты для отображения интересующих пользователя показателей: сумма расходов (доходов) по заданным категориям, сумма остатков на заданных счетах. Если правильно подобрать для себя финансовые показатели, этого отчета будет достаточно в большинстве случаев работы с системой.


«Таблица расходов» демонстрирует все операции за активный бюджетный период. Она может быть отсортирована по любому столбцу, отредактирована в ячейках, в футер таблицы выводится общая сумма перечисленных операций.


Гистограмма «Расходы по дням/периодам» демонстрирует суммы расходов в соответствующие дни. Если у вас есть запланированные и/или просроченные операции — их суммы будут видны на этой гистограмме другим цветом.


Круговые диаграммы «Суммы расходов по категориям» и «Суммы расходов по счетам» позволяют сравнить расходы по разным категориям или с разных счетов.


Стоит отметить широкие возможности фильтрации операций. Вы можете отфильтровать исследуемый набор операций активного периода по категориям, счетам, валюте, дате, типу или фрагменту комментария. При этом и в таблице, и на диаграммах вы будете видеть отчеты составленные только по отобранным фильтром операциям. Так, например, на гистограмме можно получить суммы расходов по дням только по категории «Транспорт», или же сравнить на круговой диаграмме расходы только по двум категориям «Продукты» и «Развлечения».


Для контроля выполнения расходного и доходного бюджетов используются два табличных отчета и один графический (на нем вы увидите плановые и фактические суммы как по отдельным категориям расходов и доходов, так и в общем планы и факты расходной и доходной частей бюджета).


Комплексная диаграмма «Динамика остатков по дням/периодам» показывает линейный график изменения остатков на счетах а также суммы расходов-отчислений и доходов-начислений по счетам. Вы можете выбрать счета для анализа и валюту интересующих вас остатков. Кроме того можно увидеть динамику изменения остатков во всех валютах в эквиваленте основной валюты аккаунта (с учетом реального курса обмена наличных валют по соответствующим датам).


Отчет «Финансовые цели» демонстрирует отдельные для каждой финансовой цели гистограммы: процент накопленного остатка от запланированнго и процент прошедшего времени от отведенного.


В Домашних Финансах есть так называемый мультиплейер — возможность вести одним пользователем несколько независимых бюджетов и доступ нескольких пользователей в один бюджетный аккаунт с разными уровнями прав. Поскольку система ориентирована на домашнюю бухгалтерию, уровни прав доступа достаточно характерны:
  • Гость может только просматривать отчеты
  • Пользователь может смотреть и вносить новые операции, но без возможности их редактирования или удаления
  • Редактор это Пользователь, который может редактировать и удалять свои операции
  • Опытный редактор может редактировать и удалять любые операции бюджетного аккаунта
  • Администратор имеет доступ к настройкам аккаунта


Отдельно хочется сказать про бюджетные сетки. В Домашних Финансах вы можете пользоваться недельной, месячной (с выбором дня месяца, который будет считаться днем начала нового бюджетного периода) и квартальной бюджетными сетками. При этом вы можете в любой момент менять тип сетки (например, всегда работаете с «месячной» сеткой, но решили отследить какой-то показатель на квартальной). Это никак не влияет на финансовую историю, все данные реструктуризируются налету.

В случае, если есть необходимость отслеживать показатели (динамика остатков, расходы по категориям) не изо дня в день внутри одного бюджетного периода, а от периода к периоду — используйте режим "Все периоды". Соответствующие отчеты самостоятельно преобразуются к нужной временной сетке.

Если вы активно пользуетесь разными видами планирования — вам пригодится такая фича как «Дата актуальности учета». Это практически машина времени, которая позволяет перемещаться в прошлое и будущее и видеть свои финансовые показатели в том виде, в каком они были или будут. Перенеслись в будущее — и получили:
  • доступ к «будущим» бюджетным периодам
  • все запланированные операции которые относительно нового «сегодня» оказались в прошлом станут совершенными, пройдут по финансовым отчетам и будут доступны для любого анализа

Кроме таких глобальных штук есть много небольших удобных фич: ввод чеков, «Заметки», экспорт в csv, калькулятор и т. д.

Система Домашние Финансы частично платная. После trial-периода длиной в 45 дней вы можете продолжать пользоваться всем набором функционала (кроме мультиплейера) но с ограничением на количество вносимых операций и частоту доступа к системе. Более подробно этот момент описан здесь. Скажу только, что плата за работу без ограничений равна 0.50 грн в сутки.

С удовольствием отвечу на все вопросы по функционалу в комментариях. А сейчас расскажу немного об архитектуре системы.

Часть техническая


Архитектурно Домашние Финансы состоят из трех элементов. Основной — это клиентское js-приложение. Оно написано на замечательном js-фреймворке qooxdoo. Данные поступают в приложение в сыром виде, все расчеты и формирование отчетов происходит в браузере. Для отображения диаграмм и графиков используется OpenFlashChart.
Вторая по значимости часть — это сервер с PHP+MySQL, с которым общается клиент. SMS-шлюз стоит отдельно и работает с сервером по http.

Все локальные изменения в клиентском приложении (созданные, отредактированные и удаленные операции, измененные настройки) требуют принудительного сохранения на сервер (вызванного действием пользователя или автоматически). Таким образом один раз загруженное приложение может длительное время (пока открыта html-страница приложения) не требовать обращения к серверу и практически работать offline. Связь потребуется либо при сохранении изменений, либо для отмены изменений, либо при смене активного бюджетного периода. Это требует несколько избыточного трафика при «холодном старте», но с другой стороны экономит его в последствии и дает некоторую автономность в работе.

Ну и третья часть — это обертка, внешний сайт с разными красивостями, правовой информацией, документацией и форумом поддержки. Здесь использована Kohana3 и jQuery.

В комментариях постараюсь ответить на вопросы и конструктивную критику.
+18
2k 20
Comments 38
Top of the day