Ev2geny / Sberbank2Excel

конвертация выписки сбербанка по карте из формата PDF в формат Excel
MIT License
85 stars 10 forks source link

Sberbank2Excel

Расширяемая утилита для конвертации выписки Сбербанка по карте из формата PDF в формат Excel. (С возможностями расширения для выписок других банков).

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

Sberbank2Excel.PNG

Разработчик: ev2geny собака gmail.com

Содержание

Функционал

Как пользоваться

Подготовка

  1. Скачайте последнюю версию программы
  2. Разархивируйте ZIP файл в отдельную директорию и найдите sberbankPDF2ExcelGUI.exe

Конвертация

Шаг 1 Запустите sberbankPDF2ExcelGUI.exe

Шаг 2 Выберите один или несколько файлов выписки Сбербанка по карте в формате PDF

Шаг 3 Нажмите "Сконвертировать выбранные файлы"

Результат: утилита создаст файлы с расширением .xlsx

Примечания:

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

Опция Изменить порядок трансакций на обратный используется для того, чтобы изменить порядок трансакций в Excel файле на обратный. Т.е. в этом случае первая трансакция в PDF файле будет последней в Excel файле и наоборот.

См. также Приложение В. Запуск приложения из командной строки

ЧаВо

Куда посылать донаты?

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

Способы переслать донаты

YooMoney (МИР, UnionPay, Mastercard, Visa, Maestro)

На каких Операционных Системах (ОС) работает утилита?

В дополнение к этому можно запускать утилиту на macOS и Linux, но в на данный момент в регулярных релизах исполняемого файла для этих ОС не создаётся. Поэтому надо либо создавать его самостоятельно, либо запускать утилиту из среды Python (см. инструкцию разработчика.)

Утилита не конвертирует / не поддерживает мою выписку. Что делать?

Перед релизом утилита тестируется на конвертацию всех поддерживаемых форматах (см. Приложение А. Список поддерживаемых форматов) на всех доступных автору вариантах выписки. Если на Вашей выписке утилита не работает, либо если есть потребность добавить новый пока не поддерживаемый формат выписки, то существуют следующие варианты. (Варианты отсортированы в порядке возрастания сложности решения для Вас но одновременно в порядке убывания рисков связанных с конфиденциальностью данных для Вас же):

1. Попросить автора добавить поддержку вашего формата выписки. Для этого нужно выслать автору:

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

3. Добавить новый формат выписки самостоятельно используюя инструкцию разработчика.

Антивирус атакует утилиту и не даёт ей работать либо даже скачать. Что делать?

Антивирусные программы пытаются определить вирусы по одним им известным алгоритмам. Часто они блокируют всё, что им кажется подозрительным, включая Sberbank2Excel. Одновременно с этим все известные автору производители антивирусных программ позволяют выслать им подозрительный файл для более пристального изучения, после чего разблокируют его в следующем апдейте базы данных вирусов. К примеру для Microsoft Windows Defender файл надо посылать сюда. Для Symantec сюда. Автор как правило "согласовывает" каждый новый релиз как минимум с Microsoft Windows Defender. Таким образом если антивирусная программа, установленная на Вашем компьютере атакует Sberbank2Excel, то возможны следующие варианты действия:

Обратная связь

Для сообщения об ошибках или пожеланиях по улучшению лучше всего воспользоваться функционалом системы github

На общие темы начните дискуссию здесь

Либо напишите письмо разработчику: ev2geny собака gmail.com

Приложения

Приложение А. Список поддерживаемых форматов


Банк Формат Описание MasterCard VISA Трансакции в иностранной валюте Известные проблемы
Сбербанк SBER_DEBIT_2005 Дебетовая карта образца мая 2020 года OK ??? ОК
Сбербанк SBER_DEBIT_2107 Дебетовая карта образца июля 2021 года OK ??? ОК
Сбербанк SBER_CREDIT_2110 Кредитная карта образца октября 2021 года (ТДВФН) ??? OK OK? 13
Сбербанк SBER_PAYMENT_2208 Платёжный счёт образца августа 2022 года (ТДВФН) НП НП НП?
Сбербанк SBER_DEBIT_2212 Дебетовая карта образца декабря 2022 года OK ??? ОК
Сбербанк SBER_PAYMENT_2212 Платёжный счёт образца декабря 2022 года НП НП ОК
Сбербанк SBER_SAVING_2303 Выписка из лицевого счёта по вкладу «Сберегательный счет» образца марта 2023 года (ТДВФН). Также должно работать с другими типами сберегательных счетов (Активное долголетие и т.д.) НП НП НП
Сбербанк SBER_DEBIT_2303_CHELYABINSK История операций по дебетовой карте за период. Образца марта 2023 года (ТДВФН). ???Челябинск?? ОК ? НЕТ
Сбербанк SBER_PAYMENT_2406 Платёжный счёт образца июня 2024 года НП НП ОК 43
Сбербанк SBER_PAYMENT_2407 Платёжный счёт образца июля 2024 года НП НП ОК 52
Сбербанк SBER_SAVING_2407 Выписка из лицевого счёта по вкладу «Накопительный счет» образца июля 2024 года (ТДВФН). НП НП НП
Сбербанк SBER_DEBIT_2408 Дебетовая карта образца августа 2024 года OK ??? ОК
Сбербанк SBER_CREDIT_2409 Кредитная карта образца сентября 2024 года НП НП ОК? 51

Легенда и сокращения

ОК - поддерживается

??? - неизвестно (не протестировано)

ОК? - точно неизвестно (не протестировано) но вроде должно работать

НП - не применимо

ТДВФН - точная дата выпуска формата неизвестна

Приложение Б. Как безопасно пересылать проблемный файл

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

Приложение В. Запуск приложения из командной строки

Для запуска приложения из командной строки надо использовать модуль sberbankPDF2Excel.py

usage: sberbankPDF2Excel.py [-h] [-o OUTPUT_EXCEL_FILE_NAME] [-b]
                            [-f {SBER_DEBIT_2107,SBER_DEBIT_2005,SBER_CREDIT_2107,SBER_PAYMENT_2208}] [-t {xlsx,csv}] [-i]
                            input_file_name

Конвертация выписки банка из формата PDF или из промежуточного текстового файла в формат Excel или CSV.

positional arguments:
  input_file_name       Файла для конвертации

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUT_EXCEL_FILE_NAME, --output OUTPUT_EXCEL_FILE_NAME
                        Имя файла (без расшмрения) который будет создан в формате Excel или CSV
  -b, --balcheck        Игнорировать результаты сверки баланса по транзакциям и в шапке выписки
  -f {SBER_DEBIT_2107,SBER_DEBIT_2005,SBER_CREDIT_2107,SBER_PAYMENT_2208}, --format {SBER_DEBIT_2107,SBER_DEBIT_2005,SBER_CREDIT_2107,SBER_PAYMENT_2208}
                        Формат выписки. Если не указан, определяется автоматически
  -t {xlsx,csv}, --type {xlsx,csv}
                        Тип создаваемого файла
  -i, --interm          Не удалять промежуточный текстовый файт

На данный момент эта утилита не включена в выпускаемые релизы. Поэтому необходимо либо сгенерировать её самостоятельно либо запускать из среды Python (см. CONTRIBUTING.md)