Разработка системы распознавания текста на кассовых чеках. Как сканировать чеки из магазинов и управлять расходами с iPhone

Это инструкция для iOS.

Такие чеки можно импортировать в программу Alzex Finance. Для начала нужно установить программу Проверка кассового чека ФНС России. Проверить валидность чека можно и без регистрации, но чтобы скачать чек, нужно завести аккаунт в программе (указать телефон и ввести код из полученной смс). Далее нужно сканировать QR-коды и получать чеки.

Откройте программу "Проверка чеков".
Для экспорта полученных чеков в главном меню программы выберите пункт "Получение выписки"

Убедитесь, что получили все чеки прежде чем экспортировать их в программу! У каждого чека должен быть зеленый значок и надпись "Чек получен". Надпись "Чек корректен" означает, что чек правильный, но еще не скачан из базы данных налоговой. Такой чек нужно открыть и нажать кнопку "Получить чек".

Выберите интервал времени и формат данных json. Чтобы получить данные за текущее число оставьте оле "До" пустым. Нажмите кнопку "Получить выгрузку". Подождите пока загрузятся чеки.

Не пугайтесь надписи "Не поддерживаемый тип просмотра data", просто подождите и чеки загрузятся


Нажмите кнопку "Экспорт".

Выберите из списка программу Alzex Finance.
Можно выбрать чеки, которые будут импортированы. Чеки, которые в программе уже есть, по умолчанию пропускаются.

Также можно выбрать разные счета для чеков, которые были оплачены наличными или картой.

Все импортируемые чеки попадают в раздел "Неподтвержденные транзакции". Программа подберёт категорию для каждой позиции в чеке на основе ранее введенных транзакций. Например, если в базе есть транзакция с описанием "Молоко" и категорией продукты, все транзакции, в которых встречается слово "Молоко" будут отнесены в категорию "Продукты". Вам останется только указать категории для транзакций, которые не удалось распределить автоматически, а также необходимо выбрать счет и сменить статус чека с "не подтвержденный" на "подтвержденный"

Если у вас есть замечания или предложения по работе программы, мы с удовольствием их выслушаем!

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

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

Кэшбэк по QR коду в чеке

В 2017 году на территории РФ предпринимателей обязали передавать электронную форму чека. Чтобы решить эту проблему, они начали не только использовать новое оборудование, но и печатать QR коды на чеках. Зачем они нужны? Можно в любой момент отсканировать их и увидеть те же данные, что содержит сам чек:

Он необходим для проверки отчетности компании, а также пригождается самому покупателю, который может в любой момент восстановить документ об оплате товара. Этому коду придумали и ещё одно применение - участие в акциях. Ряд крупных магазинов запустил подарочную систему для своих покупателей. В их число входят:

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

Специальные акции в приложениях для сканирования чеков

Создано много приложений, которые помогают не только следить за акциями в магазинах, но и сканировать QR коды. Чуть ниже мы представим их список, а сейчас хотелось бы показать пару примеров:

Здесь представлен список разной продукции с одного приложения, которые участвуют в акции. Как видите, за покупку некоторых из них можно получить до 200 рублей обратно (это ещё не самая большая сумма). Выгода очевидна, а при нажатии на один из товаров можно увидеть подробные условия акции:

В данном случае предлагается не только купить товар, но и оставить о нём отзыв. Условия всегда разные, дополнительная активность (кроме сканирования QR) требуется крайне редко. Как видите, такой кэшбэк способен полностью покрыть стоимость товара. Это не шутка, заработок на QR кодах не развод, всё работает.

Чем сканировать QR код чека (лучшие приложения)

Появляется всё больше мобильных программ для экономии. Помимо того, что в них встроен сканер QR кодов, там публикуются подборки акционных товаров (продукция со скидкой). Поэтому вы будете экономить, выбирая лучшие предложения в своём городе. Устанавливайте на смартфоны лучшие приложения :

  1. InShopper - доступно для Андроид и IOS. Это одно из первых приложений, в котором вы получите бонус 50 рублей за регистрацию по моей ссылке (только регистрируйтесь на сайте, а не в приложении). За первый загруженный чек получите ещё 20 рублей, за второй 5 рублей. Выплаты доступны от 300 рублей на мобильных операторов, Яндекс.Деньги или в виде подарочных сертификатов известных магазинов.
  2. Едадил - приложение для всех мобильных операционных систем, только на устаревших Андроидах нет функции сканирования QR кодов. Чтобы пользоваться программой, нужно подключить аккаунт от соц. сетей или Яндекса (поисковик владеет 10% акций этого проекта). Выплаты без комиссии на Яндекс.Деньги или телефон. Если расплачивался картой, то чек нужно отсканировать в течение суток, если наличными, то 30 минут.
  3. Qrooto - во многих отзывах о заработке на сканировании QR кодов, рекомендуют именно это приложение. С него можно выводить деньги хоть на банковскую карту, минималка всего 10 рублей (100 баллов). За регистрацию дарят 99 баллов, чеки проверяются сутки. Обязательно нужно пройти быструю регистрацию. В сутки проверяется до 10 чеков, не более 3х из одного магазина.
  4. Вместе Дешевле - при использовании этого сканера QR кодов с чеков, дополнительно требуется проверять штрих код. У этого приложения список магазинов гораздо больше, помимо оффлайн супермаркетов действует кэшбэк с Aliexpress, Ebay и свыше 1000 других компаний (даже с покупки авиабилетов идёт возврат). Выплаты проводятся на телефон, карту или кошелек Яндекса.

Интересно, что при параллельном использовании программ, иногда удается получить кэшбэк с одних и тех же чеков. Не ленитесь сканировать QR коды всеми приложениями, а чуть ниже мы объясним, почему ещё стоит загрузить все сканеры.

Пример заработка на QR кодах

Чтобы показать, как это работает и что именно нужно делать, мы загрузили приложение InShopper и готовы ознакомить вас с интерфейсом. Загружаются программы с официальных магазинов (Google Play и Appstore):

  1. При первом запуске мы сразу же видим список товаров, но первым делом переходите в раздел «Профиль»:

  1. Регистрация почти везде одинаковая. Вводишь номер телефона и получаешь код для подтверждения по SMS:

  1. После авторизации в профиле будет показан баланс, появятся кнопки для вывода средств и приглашения друзей.Тут же отображается история операций:

  1. Теперь можно нажать на центральную кнопку «Сканировать код» и навести камеру на QR код, указанный в чеке. Ничего нажимать не нужно, просто пытайтесь поймать его в окошко, программа автоматически выберет момент для снимка:

  1. В истории операций сразу же появляется новая запись. Там вы можете следить за обработкой добавленных чеков:

  1. Заключительный момент - это вывод средств. Тут всё просто, выбираешь способ и вводишь платежные реквизиты. Как правило, деньги поступают в течение суток:

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

Сколько можно сэкономить с QR кодов на чеках магазинов?

Мне доводилось натыкаться на статьи с заголовками «Заработок 40 000 рублей на QR кодах». Их авторы откровенно лукавят, потому что у обычного покупателя вряд ли получится сэкономить больше 1000 рублей на одном приложении за месяц. Отзывы о сканировании чеков разные, пользователи нередко выкладывают свою историю операций:

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

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

  • используйте все устройства в своём доме для установки приложений, это снимет ограничения по максимальному количеству загружаемых чеков;
  • загружайте все приложения, это также позволит добавлять больше QR кодов. К тому же, они иногда срабатывают в разных программах;
  • чеки с QR кодами «валяются» в магазинах пачками, просто возьмите себе часть этих «бумажек» и сканируйте их дома;
  • не обязательно выбирать чеки только с акционными товарами. Сканируйте все QR коды, программы сами определяют, если ли в них что-то подходящее;
  • найдите среди своих знакомых продавцов из магазинов, чьи товары участвуют в акции и собирайте кэшбэки вместе;
  • активнее пользуйтесь партнерскими программами, приглашайте больше людей. В статье - мы показывали наиболее эффективные методы.

Нередко встречаются отзывы о том, что заработок на сканировании QR кодов с чеков это развод. Их авторы просто не знают, кто и за что платит деньги. А они приходят не от магазинов, а именно от производителей. Таким образом, они поощряют своих клиентов и наращивают продажи.

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

Сейчас в App Store можно найти большое количество приложений для выполнения самых разных задач - от измерения пульса и покупки одежды в Сети до вызова такси и учета финансов. Последние, как правило, похожи друг на друга и отличаются разве что интерфейсом, но сегодняшнее наше приложение Alzex Finance выделятся на фоне остальных одной интересной функциональностью, из-за чего многие в редакции начали пользоваться программой для учета финансов.

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


Добавить транзакцию можно в пару нажатий — ввели описание, счет списания, сумму и категорию. Она сразу отразится в списке расходов (или доходов, если речь, например, о заработной плате), будет видна в аналитике и отразится на балансе выбранного счета во вкладке «Счета».


Пока что описание похоже на многие другие приложения для учета расходов, поэтому сразу перейдем к отличиям Alzex Finance. В первую очередь это синхронизация между разными устройствами (тем же iPhone) и компьютером (версия для ). Это позволяет нескольким людям вести одну базу данных с расходами и доходами и синхронизировать изменения. При этом, в отличие от остальных подобных сервисов, в данном случае база хранится локально, и программа работает без интернета. Особенно актуально это за границей, где каждый потраченный мегабайт в роуминге может быть «золотым».

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

Как это работает?

С 1 июля 2017 года все магазины обязали печатать на чеках QR-код, чтобы его можно было просканировать и получить электронный чек. Сканирование осуществляется программой «Проверка кассового чека» от ФНС России. После первого же запуска приложение предложит распознать чек, и через несколько секунд его электронная копия будет уже на вашем iPhone.


Чтобы экспортировать чек в приложение для учета финансов, нужно выбрать раздел «Получение выписки», выбрать интервал времени и формат данных json. После загрузки чека вы увидите непонятные символы, но пугаться не стоит — нажимаете кнопку «Экспорт», выбираете из списка программу Alzex Finance, и чек добавлен!


Программа автоматически отправляет импортируемые чеки в раздел «Неподтвержденные транзакции», сама подбирает категорию для товара на основе ранее введенных операций. Так, например, все транзакции со словом «бензин» будут учитываться в категории с расходами на топливо, а все транзакции, в которых встречается слово «Молоко», будут отнесены в категорию «Продукты».


Иван Ожиганов Апрель 7, 2016

Задача распознавания текста в различных условиях была и остаётся актуальной. Автоматизировать распознавание документов, кредитных карт, распознать и перевести на другой язык вывеску на билборде – всё это могло бы сэкономить время на сбор и обработку нужных данных. С развитием свёрточных нейронных сетей и методов их обучения качество распознавания текста неуклонно растет.

Мы в очередной раз убедились в эффективности использования свёрточных нейронных сетей в процессе работы над проектом по распознаванию кассовых чеков. Объектом исследования выступили кассовые чеки из ряда российских торговых точек, с текстом на кириллице и латинице. При этом разработанная система может быть легко адаптирована под распознавание кассовых чеков из других стран, с текстом на других языках. Рассмотрим проект в деталях, чтобы показать принцип действия полученного решения.

Цель проекта – разработать приложение с клиент-серверной архитектурой для распознавания кассовых чеков и извлечения необходимой семантической составляющей из них.

Обзор проекта

Задача распознавания чеков состоит из нескольких этапов:

1. Препроцесссинг
Поиск чека на изображении
Бинаризация
2. Выделение текста
3. Распознавание
4. Извлечение необходимой семантической составляющей чека

Реализация

1. Препроцессинг

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

1.1. Поворот изображения и поиск чека на нём

Задачу поиска чека мы выполняли при помощи следующих методов:

  • Адаптивная бинаризация с высоким порогом
  • Свёрточная нейронная сеть
  • Классификатор с признаками Хаара
Поиск чека при помощи адаптивной бинаризации
с высоким порогом

Рис. 1. Изначальный вид чека

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

Для упрощения задачи поиска картинка сначала поворачивается так, чтобы строки располагались максимально близко к горизонтальному положению (Рис. 2). Алгоритм поворота необходим, чтобы максимизировать дисперсию суммы яркости по строкам. Максимум достигается, когда строки расположены горизонтально.

Рис. 2. Поворот чека

Для поиска чека мы использовали функцию adaptive_threshold из библиотеки scikit-image. Это адаптивная бинаризация с большим порогом, которая оставляет пиксели белыми в областях с высоким градиентом, а более однородные области становятся черными. Таким образом, при достаточно однородном фоне остаётся небольшое количество белых пикселей, для которых мы ищем описанный прямоугольник. В результате полученный прямоугольник (Рис. 3) включает в себя область с чеком и минимальное количество фона.

Рис. 3. Найденная область с чеком

Поиск чека свёрточной нейронной сетью

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

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

Представляем вам результаты работы сети:

Рис. 4. Примеры работы свёрточной нейронной сети на поиск углов чека

Поиск чека каскадным классификатором с признаками Хаара

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

Примеры работы каскадного классификатора с признаками Хаара:

Рис. 5. Положительные результаты работы каскадного классификатора с признаками Хаара

Рис. 6. Ложноотрицательное и ложное срабатывания классификатора с признаками Хаара

1.2. Бинаризация

Для бинаризации используется тот же adaptive_threshold, окно достаточно большое, чтобы оно содержало и текст, и фон (Рис. 7).

Рис. 7. Бинаризация чека

2. Выделение текста

2.1. Выделение текста методом связных компонент

Первый этап выделения текста – это поиск связных компонент. Мы реализовали его с помощью функции findContours из OpenCV. Большинство связных компонент в самом деле являются символами, но некоторые – остатки шума после бинаризации. Мы отсеяли их при помощи фильтров по максимальной/минимальной площади. Для составных символов применили алгоритм объединения связных компонент (:, Й, =). После этого символы объединяются в слова при помощи поиска ближайших соседей. Принцип поиска ближайших соседей: для каждого символа ищутся несколько ближайших соседей, затем из них выбирается наиболее подходящий кандидат на присоединение справа и слева. Алгоритм повторяется, пока не останется символов, не принадлежащих словам (Рис. 8).

Рис. 8. Поиск связных компонент и формирование слов (слова выделены одним цветом)

Рис. 9. Формирование строк (строки выделены одним цветом)

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

2.2. Выделение текста при помощи сетки

Мы заметили, что почти во всех чеках текст моноширинный. Это значит, что можно нарисовать на чеке сетку так, чтобы линии сетки проходили между символами:


Рис. 10. Пример сетки

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

Для поиска такой сетки мы попробовали следующий алгоритм. Сначала находятся связные компоненты на бинаризованном изображении:

Рис. 11. Пример поиска связных компонент

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

График этой формулы выглядит следующим образом:

Рис. 12. График функции в формуле

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

Геометрическое искажение было параметрезированно с помощью функции RectBivariateSpline из модуля scipy в python. Оптимизация осуществлялась с помощью функции minimize из модуля scipy.

Рис. 13. Пример правильно найденной сетки

Рис. 14. Пример неправильно найденной сетки

Мы отказались от данного метода, потому что он имеет ряд существенных недостатков – работает нестабильно и медленно.

3. Распознавание текста

3.1. Распознавание текста, найденного методом связных компонент

Распознавание текста производится при помощи сверточной нейросети, обученной на шрифтах, вырезанных с чеков. На выходе из сети мы имеем вероятности для каждой буквы и берем несколько первых вариантов, которые в сумме дают близкую к 1 вероятность (99%). Далее рассматриваем все возможные варианты составления слов из полученных букв и проверяем их по словарю. Это позволяет улучшить точность распознавания, исключая ошибки среди похожих символов (З и Э).

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

3.2. Распознавание слова целиком

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

  • при помощи рекуррентной нейронной сети вида LSTM;
  • при помощи равномерной сегментации.
LSTM

Для сложных случаев мы решили использовать нейронную сеть вида LSTM, чтобы распознавать все слово целиком, опираясь на опыт исследований в статьях “Reading Scene Text in Deep Convolutional Sequences ” и “Can we build language-independent OCRusing LSTM networks? ”. Для этой цели мы взяли библиотеку OCRopus .

Использовав моноширинные шрифты, мы подготовили искусственную выборку для обучения (рис. 15).


Рис. 15. Примеры искусственной выборки

Обучив сеть, мы протестировали её на валидационной выборке. Результаты тестирования показали, что сеть обучилась хорошо. Тогда мы проверили её на реальных чеках. Ниже представлены результаты:

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

Мы решили добавить различные искажения в обучающую выборку, для того чтобы приблизить её к словам, получаемым с чеков (Рис. 16).


Рис. 16. Примеры искусственной выборки

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

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

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

Равномерная сегментация

У нас возникла идея разбить слово на символы равномерно, поскольку шрифт на чеках моноширинный. Для этого необходимо знать ширину символа в слове. Для каждого чека оценивается мода ширины символа. Если распределение ширин символов бимодальное (Рис. 17), то выбираются две моды и для каждой строки определяется своя ширина.


Рис. 17. Пример бимодального распределения ширин символов в чеке

После того как мы получаем примерную ширину символа в данной строке, мы делим длину слова на ширину символа и получаем примерное количество букв. Затем делим длину слова на полученное примерное количество букв плюс-минус один:

Рис. 18. Процесс поиска оптимальной сегментации

И выбираем наилучший вариант разбиения:

Рис. 19. Оптимальная сегментация

Точность такой сегментации весьма высока.

Рис. 20. Пример корректной работы алгоритма

Но иногда мы наблюдали, что алгоритм работает не совсем корректно:

Рис. 21. Пример некорректной работы алгоритма

После сегментации каждый фрагмент отправляется в свёрточную нейронную сеть и распознаётся.

4. Извлечение необходимой семантической составляющей чека

Поиск покупок в чеке совершается при помощи регулярных выражений. Для всех чеков есть одна общая особенность: цена покупок записана в формате XX.XX, где Х – цифра. Таким образом можно извлечь строки с покупками. ИНН ищется по 10 цифрам и проверяется по контрольной сумме. Имя держателя карты ищется в формате NAME/SURNAME.

Рис. 22. Результаты извлечения необходимой семантической составляющей чека

Заключение

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

Работа над проектом продолжается. Мы занимаемся улучшением качества на каждом этапе распознавания и оптимизацией отдельных алгоритмов. На данный момент система с высокой точностью распознаёт чеки хорошего качества – без слипшихся и разорванных букв. Чеки со слипшимися и разорванными буквами распознаются несколько хуже.

Такие чеки можно импортировать в программу Alzex Finance. Для начала нужно установить программу Проверка кассового чека Проверить валидность чека можно и без регистрации, но чтобы скачать чек, нужно завести аккаунт в программе (указать телефон и ввести код из полученной смс). Далее нужно сканировать QR-коды и получать чеки.

Откройте программу "Проверка чеков".
Для экспорта полученных чеков в главном меню программы выберите пункт "Получение выписки".

Убедитесь, что получили все чеки прежде чем экспортировать их в программу! У каждого чека должен быть зеленый значок и надпись "Чек получен". Надпись "Чек корректен" означает, что чек правильный, но еще не скачан из базы данных налоговой. Такой чек нужно открыть и нажать кнопку "Получить чек".

Выберите интервал времени и формат данных json, нажмите кнопку "Запросить"

Возможно, нужно будет выбрать программу для просмотра файлов json, выберите Alzex Finance.

Готово! Все импортируемые чеки попадают в раздел "Неподтвержденные транзакции". Программа подберёт категорию для каждой позиции в чеке на основе ранее введенных транзакций. Например, если в базе есть транзакция с описанием "Молоко" и категорией продукты, все транзакции, в которых встречается слово "Молоко" будут отнесены в категорию "Продукты". Вам останется только указать категории для транзакций, которые не удалось распределить автоматически, а также необходимо выбрать счет и сменить статус чека с "не подтвержденный" на "подтвержденный".

Если программа написала что найдено 0 транзакций, или невозможно открыть файл, то вероятно чек еще не получен (магазин пока не отправил его в налоговую). В разделе "Мои чеки" можно посмотреть статус чека.

Также есть возможность экспортировать и отдельный чек. Откройте чек, нажмите кнопку с тремя точками в правом-верхнем углу и выберите пункт "Отправить чек". Далее выберите тип "json" и в появившемся меню выберите программу "Alzex Finance".

Если у вас есть замечания или предложения по работе программы, мы с удовольствием их выслушаем!