Привязка чека по QR коду
В ближайшее время все чеки должны будут содержать QR коды. Многие уже содержат. Хотелось бы иметь возможность получить чек с сайта налоговой и привязать к транзакции.
В ближайшее время все чеки должны будут содержать QR коды. Многие уже содержат. Хотелось бы иметь возможность получить чек с сайта налоговой и привязать к транзакции.
Предлагаю начать с простого:
Сканировать QR, без перехода и парсинга сайта налоговой. На основе данных с кода проверять есть ли на эту дату транзакция с такой же суммой, если нет - добавлять, если есть - спрашивать как поступить: добавить ссылку на этот чек к существующей транзакции, создать новую транзакцию.
Мы хотели бы добавить чеки в приложение, но пока не готовы разбираться с парсингом QR-кода по фото. Если вы знаете готовую библиотеку для работы с QR, стало бы намного проще.
Думаю распознать qr не проблема. Есть куча готовых библиотек. Например, https://github.com/zxing/zxing или https://github.com/dm77/ZBarScanner.
Думаю распознать qr не проблема. Есть куча готовых библиотек. Например, https://github.com/zxing/zxing или https://github.com/dm77/ZBarScanner.
Да, как выяснилось не проблема. Вопрос встаёт, что потом с ним делать? Точнее, какими средствами его показать? Спасибо, мы изучаем этот вопрос, тема интересная.
Да, что с ним делать хороший вопрос. В самом 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-кода на чеке, в нем записан 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
- код операции(приход)
В связи с чем, добавление операции по скану кода - дело очень простое. Если брать только дату и сумму.
Да, что с ним делать хороший вопрос. В самом 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-код не содержит ссылки не сайт налоговой
судя по скану 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.
Ну а самое главное какие конкретные цели и задачи связывания чеков с расходами по категориям приложении.
Это не xml, а просто get параметры вашего чека. При этом адрес куда эти параметры пересылаются и какой тип авторизации используется. С авторами приложения я связывался и они сообщили, что у них нет в планах давать доступ к данным сторонним разработчикам.
Сами чеки тоже не очень хорошо работают, бывает инфу по чеку ждал сутки.
А бывают чеки конкретно косячныеx.
Ну а самое главное какие конкретные цели и задачи связывания чеков с расходами по категориям приложении.
Идея чтения чеков по qr коду мне интересна, как аналог чтения смс из банка для наличных. Это позволит хотя бы частично автоматизировать ввод наличных операций
Соответственно из чека интересует только дата и сумма.
Возможно, потом можно привязать угадывание категории по фискальную накопителю
Предлагаю начать с простого:
Сканировать QR, без перехода и парсинга сайта налоговой. На основе данных с кода проверять есть ли на эту дату транзакция с такой же суммой, если нет - добавлять, если есть - спрашивать как поступить: добавить ссылку на этот чек к существующей транзакции, создать новую транзакцию.