Привязка чека по QR коду

Avatar
  • обновлен
  • Завершен

В ближайшее время все чеки должны будут содержать QR коды. Многие уже содержат. Хотелось бы иметь возможность получить чек с сайта налоговой и привязать к транзакции.

Avatar
Игорь Охрименко

Предлагаю начать с простого:

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


Avatar
-1
support
Цитата от Игорь Охрименко

Предлагаю начать с простого:

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


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

Avatar
Alexander Anisimov

Думаю распознать qr не проблема. Есть куча готовых библиотек. Например, https://github.com/zxing/zxing или https://github.com/dm77/ZBarScanner.

Avatar
support
Цитата от Alexander Anisimov

Думаю распознать qr не проблема. Есть куча готовых библиотек. Например, https://github.com/zxing/zxing или https://github.com/dm77/ZBarScanner.

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

Avatar
support
  • Запланирован
Avatar
Alexander Anisimov

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

1. Есть тема на форуме, но там вопрос оставлен без ответа. Возможно вам повезет больше :) https://forum.nalog.ru/index.php?showtopic=737014
2. В play маркете есть приложение (https://play.google.com/store/apps/details?id=ru.fns.billchecker&hl=ru), в котором есть функционал получения информации по qr коду с чека. Можно попробовать пойти путём реверс-инжиниринга.
3. В упомянутом мной приложении есть возможность выслать чек в формате json на электронную почту. Насколько я понимаю, уже сейчас каждому пользователю zenmoney доступен электронный ящик на который можно пересылать оповещения из банка. А что если на этот электронный ящик пересылать чеки в json? А дальше разбор чека, создание транзакций, раскидывание их по категориям в зависимости от наименования товара. Возможно это самый простой путь: всё взаимодействие с налоговой перекладывается на стороннюю утилиту.

Сам json выглядит примерно так https://pastebin.com/mmAvNWGc

Avatar
Денис

судя по скану QR-кода на чеке, в нем записан xml код:

t=20170529T200400&s=1921.00&fn=8710000100386505&i=14316&fp=4145840420&n=1

где

t=20170529T200400 - дата и время операции

s=1921.00 - сумма операции

fn=8710000100386505 - номер фискального накопителя (ФН)

i=14316 - фискальные данные(ФД)

fp=4145840420 - фискальный признак документа(ФПД)

n=1 - код операции(приход)


В связи с чем, добавление операции по скану кода - дело очень простое. Если брать только дату и сумму.

Avatar
Денис
Цитата от Alexander Anisimov

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

1. Есть тема на форуме, но там вопрос оставлен без ответа. Возможно вам повезет больше :) https://forum.nalog.ru/index.php?showtopic=737014
2. В play маркете есть приложение (https://play.google.com/store/apps/details?id=ru.fns.billchecker&hl=ru), в котором есть функционал получения информации по qr коду с чека. Можно попробовать пойти путём реверс-инжиниринга.
3. В упомянутом мной приложении есть возможность выслать чек в формате json на электронную почту. Насколько я понимаю, уже сейчас каждому пользователю zenmoney доступен электронный ящик на который можно пересылать оповещения из банка. А что если на этот электронный ящик пересылать чеки в json? А дальше разбор чека, создание транзакций, раскидывание их по категориям в зависимости от наименования товара. Возможно это самый простой путь: всё взаимодействие с налоговой перекладывается на стороннюю утилиту.

Сам json выглядит примерно так https://pastebin.com/mmAvNWGc

QR-код не содержит ссылки не сайт налоговой

Avatar
Вадик Мармеладик
Цитата от Денис

судя по скану QR-кода на чеке, в нем записан xml код:

t=20170529T200400&s=1921.00&fn=8710000100386505&i=14316&fp=4145840420&n=1

где

t=20170529T200400 - дата и время операции

s=1921.00 - сумма операции

fn=8710000100386505 - номер фискального накопителя (ФН)

i=14316 - фискальные данные(ФД)

fp=4145840420 - фискальный признак документа(ФПД)

n=1 - код операции(приход)


В связи с чем, добавление операции по скану кода - дело очень простое. Если брать только дату и сумму.

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

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

Ну а самое главное какие конкретные цели и задачи связывания чеков с расходами по категориям приложении.

Avatar
Денис
Цитата от Вадик Мармеладик

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

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

Ну а самое главное какие конкретные цели и задачи связывания чеков с расходами по категориям приложении.

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


Соответственно из чека интересует только дата и сумма.


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