Как полгода работал над онлайн кассами и 54 ФЗ. Наболело, но успели)

Активист

Активист
Команда форума
Проект по продажи билетов, собственная разработка. Готовиться к 54 ФЗ начали с ноября 2016 года. Заранее был приобретен ФР Штрих-М с МГМ ФН-1 (так называемый "тестовый ФН"). Прежде всего нужно было разработать POS приложение по централизованным продажам. Решили сначала писать на C#, но столкнулись с большой проблемой - слишком медленно идет разработка, непривычный интерфейс. Было решено перейти на что-то иное, попробовали использовать Node JS на движке NW.JS, поняли что разработка идет значительно быстрее. Около 2-х месяцев понадобилось изучить протокол работы драйвера Штрих-М с консультациями разработчиков "Штриха", т.е. мы не стали изобретать велосипед и использовать бинарный протокол (как некоторые) , а написали дополнение (node module) на C++ (без MFC), позволяющая работать с драйвером ККТ через Node JS. Разработка заняла где-то месяца три, четыре (пока разобрался с принципом работы ККТ, изучить тонкости, подключиться к тестовому ОФД, проверить передачу чеков, компиляцию модуля и т.п.). Следующими этапом была начала разработка API централизованного хранения, работа велась параллельно - "пилилось" API и клиент. Разработка на NW.JS (jquery, bootstrap и т.п., привычный AJAX) велась быстро и клиент получился привычный кассирам. Чеки пошли, фиксации ФП тоже. Кассы были приобретены зараннее, когда пришло время устанавливать кассы в кассовых залах столкнулись с проблемой (договорами с ОФД мы не занимались) - СБИС не активировал кассы, ОФД не принимала чеки (код -14, а в кассах уже бьют чеки без остановки), выяснить что к чему не удавалась (куча посредников, а техподдержка перегружена), активировали ККТ в ЛК СБИСА, чеки в ОФД пошли. ПО поставили три дня назад. При этом непонятно, за что вообще эти "спецы" берут деньги? Пришлось самому настраивать RNDIS, настраивать ККТ на передачу данных. В общем, имеют они клиентов (а так там ничего сложного, фискализировать и настроить параметры)

Вчера же, нужно было срочно "пилить" ПО по фиксации ФП и других реквизитов для эквайринга. За основу был взят проект POS системы, и быстро (за день) написан клиент по передачи чеков продаж через эквайринг и биллинг ПАО Сбербанка. Успели все сделать за 30 минут до 1 июля :) Подключили ККТ на сервер (ФР Ретейл 01Ф), причем клиент отключает печать чеков, а просто передает их в ОФД (для интернет продаж использовали ОФД Ярус), а он в свою очередь всем кто покупает через сеть. При этом можно использовать один ФР как для интернет продаж, так и для продаж в точках, просто следить за тем, что бы ПО было запущено. Смена автоматически открывается/закрывается раз в 12 часов (при этом печатаются отчеты, что не есть хорошо, придется следить за бумагой). На посадочные купоны вывели часть реквизитов кассового чека, и QR код получения чека в приложении ФНС России. В общем, пол года работы и такой итог. Аренда ФР считаю не самое лучшее, поскольку придется переплачивать, а клиента можно написать и самому. Очень помог МГБ ФН , без него бы ничего не вышло :)

Вот такой сриншот клиента: http://joxi.ru/bmoBJzNsx5n6dr , и ФП на купоне http://joxi.ru/Y2L8QYxf9oW3N2

А как вы готовились к 54 ФЗ? Кстати, атол.онлайн судя по сайту все еще принимает только предзаказы??
 

AnrDaemon

Продвинутый новичок
Маленький отвлечённый оффтопик. Когда пикселизируете что-то упорядоченное, не используйте квадратные пиксели. Их легко восстановить с высокой достоверностью. Например, в случае QR кода, прямоугольный пиксель 3:1 убил бы код напрочь, особенно если его высота окажется больше высоты пиксела кода.
 

fixxxer

К.О.
Партнер клуба
Неужели никто саас для этого не сделал?

Если нет, то вот вам, собственно, бизнес-идея. Правда, с сертифицированием, наверное, много кабинетов придется оббегать с подарками ;)
 

Активист

Активист
Команда форума
Маленький отвлечённый оффтопик. Когда пикселизируете что-то упорядоченное, не используйте квадратные пиксели. Их легко восстановить с высокой достоверностью. Например, в случае QR кода, прямоугольный пиксель 3:1 убил бы код напрочь, особенно если его высота окажется больше высоты пиксела кода.
там ничего криминального) просто телефон не хотелось показывать пассажира))
 

Активист

Активист
Команда форума
Неужели никто саас для этого не сделал?

Если нет, то вот вам, собственно, бизнес-идея. Правда, с сертифицированием, наверное, много кабинетов придется оббегать с подарками ;)
Это капец) Серьезно. Вы кстати знаете что все операции, в т.ч. при продажах в инете (эквайринг, биллинг) в МОМЕНТ расчета необходимо отправлять чек, даже за ЖКХ, сейчас у налоговой рай начнется, штрафуй всех подряд. А saas вроде как не запустился еще, но и вроде как запустился (вчера у них были предзаказы только). Но там дорого. Какой смысл арендовать и покупать ФН-ы для интернет продаж, если можно написать клиент для существующих ККТ. Сервис пока такой в России один вроде - http://atol.online, ЦОД С ККТ :))))
 

fixxxer

К.О.
Партнер клуба
Какой смысл арендовать и покупать ФН-ы для интернет продаж, если можно написать клиент для существующих ККТ.
Когда надо "уже вчера" - другого выбора нет.

в т.ч. при продажах в инете
Для card not present only есть яндекс-касса, они вроде вовремя подсуетились.
 

WMix

герр M:)ller
Партнер клуба
Маленький отвлечённый оффтопик. Когда пикселизируете что-то упорядоченное, не используйте квадратные пиксели. Их легко восстановить с высокой достоверностью. Например, в случае QR кода, прямоугольный пиксель 3:1 убил бы код напрочь, особенно если его высота окажется больше высоты пиксела кода.
Помниться мы писали анализ картинок, при пикселе размером с 1мм вычисление радиуса круга >=1см ошибка составляла менее 0.1мм важно знать что это круг. (Первое что нужно было сделать с картинкой после фильтров перед анализом, превратить это в черно-белое ихображение, без градиентов. Те только либо 1 либо 0) Так что не думаю что в qr будут проблемы.
 
Последнее редактирование:

Активист

Активист
Команда форума
Когда надо "уже вчера" - другого выбора нет.
Для card not present only есть яндекс-касса, они вроде вовремя подсуетились.
Не, не важно, по новому 54 ФЗ, не важно, кто и как переводит деньги (эквайринг, POS, webmoney, ЯД, сбербанк онлайн), они лишь выполняют транзакции, а вот в МОМЕНТ РАСЧЕТА покупателю должен быть направлен чек (от лица реализовавшего товар, с его ИНН и т.п.). Робокасса замутила проект - реализует товары на своей странице, и отправляет от себя чек как платежный агент, https://fiscal.robokassa.ru/
 

antson

Новичок
Партнер клуба
@Активист, яндекс еще писал про момент ДО РАСЧЕТА убедится, что касса готова пробить чек.
где то у них было про метод checkOrder или это в презентации от битрикса проскакивало ?
 

Активист

Активист
Команда форума
@Активист, яндекс еще писал про момент ДО РАСЧЕТА убедится, что касса готова пробить чек.
где то у них было про метод checkOrder или это в презентации от битрикса проскакивало ?
Бред. Сейчас касса готова, а через секунду нет. Имхо, лучше продать и выбить чек позже, чем не продать товар. Есть факт наличия ККТ , чеки бьются и ладно (а эти 5 минут можно списать на отсуствие интернета). На адрес покупателя (тот что мы передаем ОФД) чек в любом случае придет.

Мне кажется 99% сейчас вообще не понимают, что за СМС приходит от OFD-YA. А наличие QR кода наверное, оценят только специалисты, которые внедряют эти ККТ.

У меня случай был, что мы подали одно и тоже место в автобусе. А получилось это так - в одно и тоже время, в одну и туже секунду, два кассира ткнуло в одно и тоже место в один и тот же рейс (в день идет около 200 рейсов, в каждом автобусе в среднем 30 мест). Добавили потом проверку на этапе сохранения заказа, но осадочек осталось. Пока 70 мс шел сигнал, пока 80 мс фиксировался билет, на оба запроса был дан положительный ответ - место свободно. Льготника "побрили" и отправили позже, написала жалобу в разные инстанции.

Кстати, что там в битриксе я не знаю ))
 

fixxxer

К.О.
Партнер клуба
наличие QR кода наверное, оценят только специалисты, которые внедряют эти ККТ.
Вот только что получил первый чек с QR-кодом. Отсканил, там даже не URL, а какой-то query string. Нафига он мне нужен как покупателю, что с ним делать-то?
 

fixxxer

К.О.
Партнер клуба
Да я понимаю, что можно найти, куда это девать, и для айфона что-нибудь найдется.
Но это же идиотизм. Неужели сложно было зарегистрировать короткий домен и сделать редирект? Все нужные данные все равно в формате query string, кому там домен бы помешал?
 

antson

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

Активист

Активист
Команда форума
Вот только что получил первый чек с QR-кодом. Отсканил, там даже не URL, а какой-то query string. Нафига он мне нужен как покупателю, что с ним делать-то?
Для яблока есть приложение, тоже от налоговой, поищи по запросу ФНС России - "проверка чека и что-то там". В QR коде следующая информация:
Код:
require "libs/phpqrcode/qrlib.php";
QRcode::png(sprintf("t=%uT%06u&s=%0.2f&fn=%u&i=%u&fp=%u&n=%u",
    $t1,
    $t2,
    $s,
    $fn,
    $i,
    $fp,
    $n
    ), false, QR_ECLEVEL_M, 2);
где t1 - дата проведения операции в фискальном накопителе (ФН), t2 - время проведения операции в ФН, s - сумма операции записанная в ФН, fn - номер ФН, i - номер фискального документа (ФД), fp - фискальный признак в ФН (какой-то криптографический алгоритм, видимо под завесой тайн, UINT), n - тип операции (1 - покупка, 2 - возврат покупки, остальные не смотрел).

1. QR код без урла - потому что он для ФНС их их приложений, а вот URL предоставляют уже ОФД, а там огород (при этом запросить чек можно на СМС и e-mail), единого домена нет.
2. QR код с урлом больше по размерам, а люди экономят ленту (актуально на самом деле), да и ширина QR кода имеет значение, поскольку есть лента на 53мм, она просто его не вместит, а печатающие головки дермовые, и если уменьшить плотность, хрен что считаешь.
3. Что бы сделать короткий URL без параметров, как как минимум нужно обратиться к серверу, а кассы необязательно находятся в состоянии онлайн, а в труднодоступных местностях вообще работают в автономном режиме или передавать чеки раз в некоторое время (отсюда и необходимость фискального накопитиля)

СМС конечно бредовое, там все номера и сумма , и ссылка на https://ofd-ya.ru/check (хотя вот ОФД-ники как раз могли бы сделать короткую ссылку), вводи получай, а вот на e-mail тот же ярус посылает вполне себе привычный чек, некоторые ОФД присылают PDF. Но тут упор, что стучать будут люди (конкуренты), тем более там есть удобная кнопка "сообщить о нарушении в ФНС". В СМИ говорили, что внедрение такой технологии в Корее повысило собираемость налогов в 2.5 раза. А в старых ККТ (как читал на форумах) легко правили данные ЭКЛЗ не показывая выручку :))

PS. Когда я первый раз считал QR код с ФР с МГМ ФН, думал что особенность тестового комплекта и поэтому нет URL, а нет, потом поискал приложение и нашел, правда ФП был специального заведомо неверный ибо тестовый ФН.

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

confguru

ExAdmin
Команда форума
Получил первый чек от rt.ru - остальные 95% участников рынка или забили или не успели
 
Сверху