Скрипт Python Для Импорта Банковских Расходов В Splitwise

Если для вас важен вопрос ведения личного или семейного бюджета или вы часто ездите в совместные поездки с друзьями, то вы либо уже слышали о Разделить или вам может быть полезно об этом услышать.

Splitwise — достаточно удобный сайт + приложения для iOS и Android, позволяющие вести учет совместных расходов.

Также есть полезная функция минимизации количества взаиморасчетов (пример: если все должны Саше 100 рублей, Петя должен Саше еще +20 рублей, а Вася должен Пете 120 рублей, то в итоге Вася сразу отдаст Саше 220 рублей.

, и все довольны).

Впервые я воспользовался Splitwise пару лет назад во время поездки в Италию с друзьями, и с тех пор мы довольно часто использовали его для разных целей – покупка подарков, совместные пикники и т. д. Пользоваться Splitwise довольно просто — вы создаете группу, приглашаете в нее друзей, каждый добавляет туда, сколько они потратили, и в какой пропорции эти расходы следует разделить (по умолчанию — поровну).

Вы можете посчитать все ваши взаимные расходы в одной группе, а можете создать отдельную группу для каждой поездки/подарка/и т.д.

Скрипт Python для импорта банковских расходов в Splitwise

Если вы, например, хотите вести семейный бюджет в Splitwise — записывайте общие расходы на аренду, покупки, ЖКХ, в веб-версии также отображается диаграмма ваших расходов по категориям (правда эти категории еще нужно указать).

начисляется по каждому платежу).

В приложении эта функция платная, но в веб-версии, которой я чаще всего пользуюсь, просматривать диаграммы можно без подписки.

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

Если для вас важна история платежей и вы хотите посмотреть графики, то помимо суммы и разбивки вам придется заполнить: дату, выбрать в меню категорию платежа, написать более-менее понятное название по с помощью которого можно адекватно идентифицировать платеж.



Скрипт Python для импорта банковских расходов в Splitwise

Вот как выглядит форма ввода в веб-версии.

В общем, в определенный момент, когда я целый месяц откладывал эту задачу, я понял, что делать пару десятков платежей вручную для меня просто неприемлемо, поэтому я решил нагадить что-нибудь для этой задачи на Python. Итак, через пару выходных появился мой монстр Франкенштейна под названием Splitwise_importer( ссылка на гитхаб ).



Splitwise_importer

Splitwise_importer - программа с TUI интерфейсом (форк библиотеки npyscreen, используется например Телеграмма ТУ I), написанный на Python, запускается из консоли и использует Python-API по частям (конкретно этот вилка , потому что мейнтейнер не сливает полезный пиар).

Splitwise_importer позволяет автоматически создавать платежи в Splitwise на основе загрузок из Интернет-банка в формате CSV. Программа максимально доморощенная, поэтому пользовательский опыт может понравиться очень каждому, однако основная задача по избавлению вас от монотонных действий выполнена.

Протестировано на MacOS и Ubuntu 20.04 WSL с Python 3.7.1+.

Чтобы начать использовать Splitwise_importer вам необходимо:

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

    В конфиге по умолчанию у меня заполнены графы для Тинькофф Банка, так что можно сразу пользоваться.

    UPD: также появился конфиг для ВТБ (спасибо @S_o_T ).

  • (необязательно) во втором конфиге укажите соответствие категорий платежей из выгрузки вашего банка разбитым категориям (они все есть в файле).

    Если вы ленивы, то все расходы по умолчанию будут внесены как Общие расходы.

Запускаем в консоли скрипт importer.py, открывается диалог выбора файла.

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

Подтвердите выбор файла.



Скрипт Python для импорта банковских расходов в Splitwise

Окно выбора операции.

Тестовый CSV-файл отображается с повторением той же строки.

Появится главное окно выбора операций, стрелками перемещайте курсор, а пробелом отмечайте операции, которые нужно отправить.

Нажимаем «ОК», в окне «лог» видим результат отправки каждой операции (либо ОК, либо ошибку, возвращаемую сервером Splitwise).

Вот и все.

Надеюсь, программа окажется полезной еще кому-нибудь.

подробные инструкции в репозитории .

Теги: #python #open source #Лайфхаки для гиков #Финансы в IT #tinkoff #finance #vtb #tui #контроль затрат #splitwise #npyscreen

Вместе с данным постом часто просматривают: