Если для вас важен вопрос ведения личного или семейного бюджета, или если вы часто ездите в совместные поездки с друзьями, то вы либо уже слышали про Splitwise, либо вам может быть полезно про него услышать. Splitwise - это довольно удобный сайт + приложения для iOS и Андроид, которые позволяют вести учёт совместных расходов. Имеется также полезная функция минимизации количества взаиморасчётов (пример: если все должны Саше по 100 рублей, Петя должен саше еще +20 рублей, а Вася должен Пете 120 рублей, то в итоге Вася отдаст сразу 220 рублей Саше, и все рады). Впервые я пользовался Splitwise пару лет назад в поездке с друзьями в Италию, и с тех пор мы довольно часто используем его для разных целей - покупки подарков, совместных поездок на пикники, и т.д.
Пользоваться Splitwise довольно просто - создаёте группу, приглашаете в неё друзей, каждый добавляет туда сколько потратил, и в какой пропорции эти траты нужно разделить (по дефолту - поровну). Вы можете вести расчёт всех ваших взаимных расходов в одной группе, а можете создавать отдельную группу для каждой поездки/подарка/ и тд.
Если вы, допустим, хотите вести в Splitwise семейный бюджет - записывать туда общие расходы на аренду, покупки, ЖКХ, веб версия также показывает диаграмму ваших затрат по категориям (правда эти категории для каждого платежа еще нужно назначить). В приложении эта функция платная, однако в веб версии, которую я чаще всего использую, диаграммы можно смотреть и без подписки. В общем, основной юскейс для меня - это именно ведение бюджета, поэтому когда мне очередной раз в напоминают, что пора бы заполнить сплитвайз, обычно я, тяжело вздыхая, открывал приложение своего банка, и начинал методично ручками перебивать туда все траты. Если вам важна история платежей и вы хотите смотреть на диаграммки, то кроме суммы и разбивки вам придётся заполнить: дату, выбрать из меню категорию платежа, написать более-менее понятное название, по которому можно будет адекватно идентифицировать платёж.
В общем, в определенный момент, когда я откладывал это дело целый месяц, я понял, что вносить пару десятков платежей ручками для меня просто неприемлемо, так что я решил наговнокодить что-нибудь для этого дела на питончике. Так за пару выходных появился мой монстр Франкенштейна под названием splitwise_importer (ссылка на гитхаб).
splitwise_importer
Splitwise_importer - программа с TUI интерфейсом (форк библиотеки npyscreen, ее использует например Telegram TUI), написанa на Python, работает из консоли, и использует Python-API сплитвайза (конкретно этот форк, потому что мэйнтейнер не мерджит полезный PR). Splitwise_importer позволяет автоматически создавать платежи в Splitwise на основе выгрузки из интернет-банка в формате CSV.
Программа максимально костыльно-доморощенная, так что user experience может быть сильно на любителя, впрочем, главная задача спасения от монотонных действий - выполнена. Протестировано на MacOS и Ubuntu 20.04 WSL с Python 3.7.1+.
Чтобы начать использовать splitwise_importer нужно:
зарегистрироваться в Splitwise, получить ключи для приложения и вставить их в конфиг
скачать выгрузку операций из интернет банка в формате CSV.
в конфиге заполнить секцию с расположениями полей в CSV (колонка суммы, колонка даты, и т.д.). В дефолтном конфиге у меня заполнены колонки для Тинькофф-банка, так что можете сразу пользоваться.
UPD: появился также конфиг для ВТБ (спасибо @S_o_T).(опционально) во втором конфиге прописать соответствие категорий платежа из выгрузки вашего банка категориям сплитвайза (они все есть в файле). Если лень, то все траты будут вноситься по дефолту как General expenses.
Запускаем в консоли скрипт importer.py, открывается диалог выбора файла. По идее, если вызывать скрипт сразу из нужной директории, то выбор файла стартует в ней же, при этом ничего не ломается, так что можно создать alias для запуска скрипта. Подтверждаем выбор файла.
Появится основное окно выбора операций, стрелочками двигаем курсор, пробелом отмечаем операции к отправке. Жмём "ОК", в окошке 'log' наблюдаем результат отправки каждой операции (либо ОК, либо ошибка, которую вернул сервер Splitwise). Вот и всё. Надеюсь кому-то ещё программа пригодится. Подробная инструкция в репозитории.
etoropov
Пользовался splitwise. Для поездок с друзьями просто огонь. При ведении бюджета такая же проблема как у вас - абсолютно нереально сесть и руками забить туда траты. Не знал, что у него есть api. Попробую как-нибудь splitwise_importer, спасибо.