Pull to refresh

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

Reading time2 min
Views2.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
Tags:
Hubs:
+6
Comments10

Articles