Как стать автором
Обновить

Интегрируем GnuCash с интернет банками с помощью эмулятора OFX

Время на прочтение2 мин
Количество просмотров2.2K
Я люблю GnuCash, это единственная бесплатная программа финансового учета, которая подошла мне на все 100%. GnuCash может интегрироваться со множеством банковских приложений посредством нескольких интерфейсов. Однако, к сожалению, наши банки похоже не собираются реализовывать хотя-бы один из них.

Мой проект предназначен для тех, кому надоело каждый раз лазить в ИБ, чтобы проверить баланс и согласовать транзакции GnuCash. Представляю вашему вниманию первую версию бесплатного эмулятора протокола Open Financial Exchange.

Внимание, внутри статьи много изображений.

Сразу оговорюсь, что проект написан для личного использования. В настоящий момент он поддерживает только банк Авангард. В скором времени я реализую плагин для банка «Русский стандарт». Я надеюсь, что кто-нибудь напишет плагин для своего банка и проект будет развиваться.

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

Настройка эмулятора


Для настройки эмулятора необходимо скопировать его исходный код из репозитория проекта GitHub на ваш сервер. На GitHub есть кнопка Download Source для загрузки в zip/tar.

Настройка заключается в изменении конфигурационного файла config.ini:

[ofx]
log.file = "../../ofx.log"

[ib.avangard]
user.password = ""
cookie.file = "../../avangard.cookie.txt"

user.password это зашифрованный пароль ИБ. Для того, чтобы его получить, необходимо воспользоваться функцией генерации пароля function cryptPassword($user, $password, $fish), в папке includes файл lib.crypt.php.

Это необходимо, чтобы на сервере ваш пароль не хранился в открытом виде:

<?php
require_once('includes/class.config.php');
echo cryptPassword("ваш логин в ИБ", "ваш пароль в ИБ", "ваш пинкод для GnuCash");
?>

настройка GnuCash


Программа GnuCash имеет стандартную функцию интеграции с банковскими системами посредством протокола OFX. Мастер настройки находится в меню «Инструменты» и называется «Online Banking Setup»

Сначала необходимо создать пользователя ИБ.

image

User Id и Customer Id для плагина Авангард — логин ИБ.

После чего необходимо настроить OFX:

image

В качестве server url необходимо установить адрес к вашей копии эмулятора, а именно к файлу ofx.php.

Плагин AVANGARD позволяет автоматически получить список всех счетов, поэтому ставим галочку «Support Accounts List Download» и жмем GetAccounts. После ввода пинкода, если все настроено правильно вы получите список всех ваших аккаунтов. Теперь нажимаем OK и привяжем наши счета к GnuCash:

image

Всё. Теперь вы можете пользоваться опцией «Get Balance» в меню «Действия/Online Actions»:

image

Приглашаю всех желающих поучаствовать в проекте и добавить плагинов для вашего интернет банка.

Сайт проекта: ofx.sharecoder.com
Теги:
Хабы:
Всего голосов 8: ↑7 и ↓1+6
Комментарии10

Публикации

Истории

Ближайшие события

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область