Подключение онлайн-кассы РП Система-1 ФА к интернет-магазину на OpenCart и регистрация в ФНС

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

Распишу своё прохождение, мб кому-то полезно будет, а мне плюсик в карму.
Сразу дисклеймер: ниже - не идеал эталона а мой опыт, результат гугла и долгого задалбывания техподдержки производителя, ОФД, провайдера.

Напомню сюжет: с июля 2017 года почти все продованы должны перейти на онлайн-кассы и выдавать чеки нового образца, либо электронные чеки. Видели QR код на чеках из Пятёрочки? Вот, это оно и есть - это ссылка на электронный чек. Теперь подобные чеки должны выдавать ВСЕ (ну, почти все). Даже интернет-магазины, и даже такие, которые сами денег с клиентов не берут, а поручают это платежным агрегаторам. Дура лекс, да. Но эл.чек покупателю должен выдавать не сам интернет-магазин, а вовсе третья контора: Оператор Фискальных Данных (ОФД).

То есть схема продажи в инет-магазине будет выглядеть так:

  1. Покупатель сделал заказ и произвёл оплату

  2. Интернет-магазин зафиксировал продажу и стучится в онлайн-кассу с данными о продаже (кто купил, что купил, когда, за сколько, etc).

  3. Касса сохраняет данные о продаже в Фискальный Накопитель (ФН. Это типа защищённая память, которую нужно менять раз в год), выбивает чек, если в ней есть принтер, стучится в ОФД и передаёт данные о продаже туда.

  4. ОФД отправляет полкупателю ссылку на электронный чек и гонит данные о покупке уже в налоговую, но это уже не наша забота.


Что это значит на конкретном примере моего небольшого интернет-магазина ( http://telesys-shop.ru ): у меня теперь должна стоять коробочка (касса), подключенная к инету и доступная из него (!) 24/7. Ну и должны быть настроены следующие связки:

  1. инет-магазин → касса

  2. Касса → ОФД

Плюс, кассу и ФН в ней необходимо зарегистрировать в налоговой.

Вроде просто, но дьявол - он в деталях.

Прикидываем масштаб расходов:

  • Касса (от ~10 до ~40 т.р) + возможная абонентская кабала (500-1500р/мес), либо аренда кассы (2500р/мес, емнип).

  • Фискальный Накопитель (от 6т.р / год)

  • Усиленная Цифровая Подпись (~3000р/год + возможно ~2000р разово за лицензию КриптоПро)

  • Инет со статичным IP (~150р/мес)

  • Договор с ОФД (~3000р/год)



1. Выбираем кассу

Касс на рынке дохрена, но когда я озадачивался вопросом, то нашёл на тот момент только одну (РП Система 1 ФА), отвечающую одновременно нескольким требованиям:

  1. Вменяемый ценник (вместе с ФН у изготовителя она вышла в ~17т.р. Барыги хотели за неё 29т.р + абонентка. Порадуемся за них).

  2. Отсутствие принтера

  3. Наличие программного модуля кассы для разных CMS (в моём случае - для OpenCart)

  4. Отсутствие абенентской платы за пользование собственной кассой. Да, это смешно, но альтеративные предложения хотели от 500 до 1500р в месяц за то, что вы пользуетесь своей же кассой. Нет, это не аренда! Вы купили у них кассу. Она стоит у вас, пользует ваш инет и электричество, но вы им ещё платите за то, чтобы она работала! Не буду называть имён и марок, но кто искал - уже понял, о какой рыжей кассе на андройде идёт речь.


Кассу можно взять и в аренду, но для небольшого инет-магазина смысла я в этом не вижу. Разве что нет физической возможности где-то её держать, да ещё и на выделенном IP.

Касса поставляется без блока питания (24В) и ethernet кабеля. Пришлось докупить и собрать вот такую конструкцию.



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


2. Регистрируем кассу в налоговой

2.1 Приобретаем Цифровую подпись


Зачем она вообще нужна:
чтоб поставить кассу на учёт в налоговой - туда нужно будет предоставить чек с результатами фискализации кассы (бумажку из её принтера со всякими регистрационными данными). Но поскольку принтера у нас в кассе нет, то в налоговую идти не с чём. Остаётся иной путь: регистрировать через сайт ФНС. Для этого и нужна усиленная электронная подпись.

На сайте Минсвязи есть раздел с актуальным списком организаций, которые выдают эти подписи. Там есть даже карта, но сделано всё через одно место (привыкайте) - на карте нет контактных данных, чтоб удобно позвонить или зайти на сайт выбранной организации, зато есть куча громких контор, типа РЖД, ПФР и ФНС, где хз как эти подписи получать (вангую, что они просто сами себе их выпускают). В общем, вооружившись картой и гуглом, находим какую-нить контору поближе, звоним, объясняем для чего нужна подпись, платим, едем, забираем.

АХТУНГ! В некоторых удостоверяющих конторах вас будут лечить, что комплект усиленной подписи для сайта налоговой стоит ~15000р в год. Это вам впаривают подпись, которая будет работать ещё и на всяких там тендерных площадках. Но нам пока это всё не надо. Нам нужна "обычная" усиленная: для сайта ФНС и ГосУслуг (на некоторых тендерных площадках она тоже работает, кстати). Такая стоит 2-3 т.р. Если ребята по телефону убеждают, что таких не бывает (встречал и такое) - вешаем трубку и ищем дальше.

Возможно, понадобится приобрести ещё и лицензию КриптоПро (1800р - бесрочная, емнип). Бесплатный период у программы 3 месяца, чего с головой хватит для регистрации кассы в налоговой, но через год нам всё равно потребуется замена ФН. Я пока не знаю, нужно ли будет новый ФН регить на сайте налоговой. Если да, то значит снова понадобится подпись и уже платный КриптоПро.

2.2 Регистрируем кассу на сайте ФНС

Сама регистрация идёт в несколько этапов, в зависимости от конторы ОФД, которую вы выбрали. Распишу для ofd.ru. Как у других - не знаю. Может быть, и аналогично:

  1. Регистрируетесь на сайте ОФД, заводите личный кабинет. Там же увидите информацию, что для добавления кассы в ОФД нужно сначала зарегистрировать кассу в налоговой.

  2. Начинаем регистрацию в налоговой. На сайте ФНС в личном кабинете заполняете поля на странице добавления кассы и формируете заявление. Там же выбираете в списке свою контору ОФД из п.1. Как результат получаете файл с регистрационный номером кассы.

  3. Этот номер и другие данные вы вбиваете в саму кассу. Как результат - получаете от неё "чек" с фискализацией (в нашем безпринтерном случае на экране это всё увидите). Этот пункт подробнее разобран ниже, в 2.2.1.

  4. После фискализации касса засветится на сайте ОФД, и у вас появится возможность оплатить счёт за их услуги. Оплачиваем.

  5. Вы завершаете регистрацию на сайте ФНС и вбиваете там данные с этого вашего первого чека (что и куда - там понятно будет). Как результат - получаете подтверждение от налоговой, что касса зарегистрирована. Если деньги до ОФД уже доехали, то после этого этапа в личном кабинете ОФД касса станет активна.


Я не буду по шагам расписывать как именно регистрировать и что где вводить на сайте ФНС - об этому уже море инфы в инете.

Отмечу некоторые моменты:

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

  • Всё действия на сайте ФНС с цифровой подписью делаем в Internet Explorer.

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

  • Забивая заявление о регистрации, не ломайте голову над полем "Наименование места установки ККТ". Для инет-магазина пофиг что там писать. Если ниже вы выберите, что "ККТ используется для расчетов в информационно-телекоммуникационной сети «Интернет»" и введёте свой сайт под этой галкой - это и будет "местом" в итоговом заявлении.

  • Конкретно для кассы Система-1 ФА: её заводской номер, который требуется ввести для заявления, состоит из 20 знаков. При этом номер на самой кассе и в мануале состоит из 12 знаков, поэтому сайт налоговой его не примет (мне писал, что "номер исключен из реестра по заявлению изготовителя кассы"). Надо добить 8 нулей в начале, чтоб стало 20 знаков, и тогда всё ОК.

  • Конкретно для кассы Система-1 ФА: когда забиваете информацию об ФН - тип самого ФН выбираете верхий, который просто "ФН-1", без всяких там исполнений и версий.


2.2.1 Фискализируем кассу

Касса у нас уже запитана, включена в роутер и светит зелёной лампочкой.

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

  2. С сайта изготовителя кассы скачиваем утилиту TestFR. Это наш способ общаться с кассой. Запускаем под виндой.

  3. "Настройка соединения" (правый нижний угол). "Пароль системного администратора" вводим с наклейки из инструкции к кассе (он там под её номером идёт). Вбиваем IP из пункта 1. Порт 3333 и таймаут 10000 - не трогаем. "Принять". Готово.

  4. В левом меню - "7. Сервис": настраивем дату и время, "Подтвердить"

  5. В левом меню - "10. Мастер регистрации". Проходимся по вкладочкам слева направо и вбиваем те же данные, что вводили на сайте ФНС. "Регистрационный номер ККТ" в первой вкладке - это как раз тот номер, который выдал сайт налоговой в ответ на ваше заявление. Вводится без пробелов, 16 знаков. Вторая вкладка - "Код налогооблажения" - свой выбираете. Для инет-магазина снимаете все остальные галки в других разделах и ставите только одну: "Признак расчётов в интернете". Третья вкладка - там всё понятно. Это будет отображаться на чеке. Для инет магазина "место расчётов" - это его сайт (http://...). Вкладка "Параметры ОФД" - ищете свой ОФД в списке. Убедитесь, что нет галки "тестовый режим".

  6. Переходим на последнюю вкладку и, помолясь, жмахаем "Отчёт о регистрации". Это и есть та самая фискализация.

  7. В левом меню - "8. ФН": "Показать последний документ" - справа в окошке появится содежимое "чека". Эти данные вы и будете вводить при завершении регистрации на сайте налоговой.





3. Связываем кассу с CMS магазина.

Связь "магазин-касса" реализована именно в таком порядке: магазин стучится в кассу, чтоб рассказать ей о продаже, а не наоборот. Это логично, но требует постоянной доступности кассы из инета. Можно было бы сделать опрос магазина кассой с заданным интервалом (1 раз в минуту, например) на предмет новых продаж, но уж есть как есть.

В общем, подключаем у любимого провайдера опцию фиксированного IP и делаем в роутере проброс порта 4444 на внутренний IP, зарезервированный для нашей кассы.
Проверить доступность кассы РП Система-1 ФА из инета очень просто: открываем в браузере http://ваш_внешний_ip:4444 - результатом должна быть фраза "404 page not found", именно так, мелко и на белом фоне. Если что-то другое - значит касса недоступна.

Хозяйке на заметку: проверяйте доступность кассы именно из "внешнего" инета (с телефонного GPRS, например, друга попросите по ссылке пройтись, etc), так как не все роутеры нормально отрабатывают попытки достучаться на свой внешний IP из своей же внутренней сети. Билайновский SmartBox, например, будет вам рассказывать, что порт недоступен, хотя на самом деле всё работает.

Когда касса стала доступна - накатываем на CMSку модуль с сайта разработчика кассы и настраиваем по его же инструкции.
Пара моментов по OpenCart:

  1. Убедитесь, что PHP на сервере у вас 5.4 или посвежее. На 5.3 будут ошибки вылезать.

  2. Модуль для OpenCart 1.5 не встанет на сборку OcShop и, возможно, ещё на какие-то, где тоже выкинут модуль "Ebay". За него "цепляется" модуль Старруса при выводе себя в верхнем меню "Продажи". Лечится редактированием файла starryscashbox.xml из аpхива с модулем: Находим строчку:
    $this->data['openbay_show_menu'] = $this->config->get('openbaymanager_show_menu');
    и заменяем её, например, на:
    $this->data['pp_express_status'] = $this->config->get('pp_express_status');

  3. Для OpenCart 2.3 модуль не встанет стандартным способом установки (через FTP). Нужно в настройках магазина отключить установку по FTP и накатить модуль FTP Fix (легко гуглится). После этого модуль Старруса установится корректно.

  4. В настройках модуля "пароль кассира" = 1. "Пароль администратора" = 30. Пароль из инструкции к кассе вводить тут не надо.


Продаём себе копеечный тестовый товар, убеждаемся через TestFR, что касса получила данные и стуканула в ОФД, идём кататься на велосипеде  ...если останутся силы.

Что-то круто... неужели нету каких-то более простых способов приёма онлайновых платежей, пусть и за ощутимый %?
Есть, но они незаконны. :)

54 ФЗ требует, что чек должен выдавать тот, кто осуществляет продажу, а не тот, кто непосредственно берёт деньги у клиента (платёжный агрегатор, например). Вокруг этого все сложности у интернет-магазинов и появляются.

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

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

Эта явная лазейка и как-то слишком тянет на сговор магазина с платёжным агентом с целью не выполнять требования закона, плюс имеет другие серьёзные минусы (дополнительная комиссия с клиента за перевод, например), что решил не экспериментировать, а пойти вбелую.
Я наверное в чём-то сильно туплю, что-то простое не догоняю:)
робокасса например чем не подходит? или она совсем про другое?
Робокасса - платёжный агрегатор. Такой же как Яндекс.касса и PayAnyWay (мой), и прочие. Она предоставляет покупателю несколько способов оплаты, а тебе (магазину) потом переводит полученные деньги на счёт за вычетом своего %.

Но обязанность выдавать после покупки чек каждому покупателю через ОФД всё равно лежит на тебе (магазине), а не на ней.

Пробежался по кратким описаниям их предложений в связи с 54-ФЗ: часть из них [предложений], не требующая кассы, - это копирование схемы некспея (описал в прошлом комменте) и, я уверен, эту дыру прикроют. А остальные их предложения всё равно требуют наличия у инет-магазина онлайн-кассы.
Понятно. Да, действительно, погуглил, все говорят, что даже для самых пустячных интернет-продаж нужны теперь кассы. Есть по аналогии с робокассой яндекс-касса, но про неё тоже пишут, что неоднозначностей много.

Спасибо, реально полезно было узнать.
Поделитесь пожалуйста программой из статьи, а то ссылка больше нерабочая.
Адрес расчетов
Здравствуйте, подскажите что нужно указывать в форме "Адрес расчетов".
Re: Адрес расчетов
Это в "мастере регистрации в" TestFR?
Адрес расчётов - юр.адрес или адрес регистрации ИП.
Система-1 Ф
Добрый день! Сегодня ровно пол года как был написан пост. Поделитесь впечатлениями. Как себя зарекомендовала Система-1 Ф в связке с opencart?
Re: Система-1 Ф
Работает нормально, чеки печатает.
Как раз после этого коммента полез смотреть и заметил: если вручную выставить заказу статус, при котором касса настроена бить чек (например, статус "В обработке"), то реально чек напечатается и уедет в ОФД, но в «Продажи → Старрус → чеки» он не отобразится. Возможно, там какая-то задержка, но пока не видать.
Re: Система-1 Ф
«Продажи → Старрус → чеки» — это Вы на сайте ОФД смотрели?
"реально чек напечатается"... так ККТ у Вас печатает? Я думал, без принтера.

Еще вот что сильно интересно. Как обстоят дела с открытием/закрытием смен. С открытием понятно — смена открывается при первом чеке. А закрытие? В ПО Старруса предусмотрено автоматическое закрытие смены по истечение 24 часов после первого чека?

Простите за обилие вопросов. Но именно сейчас возникла актуальность внедрения онлайн-кассы. До это платежи в моем интернет-магазине поступали в виде наличности и на расчетный счет. Теперь будут помимо прочего приниматься на сайте. Принципиально не хочу арендовать онлайн-кассы. Есть несколько решений, призванных подружить опенкарт и кассу, одно из которых приобрел, но оказалось кривым. А вчера увидел Ваш пост, и теперь изучаю Система-1 Ф...
Re: Система-1 Ф
«Напечатается» — в смысле сгенерируется и отправится в ОФД. Принтера нет.

Время до закрытия кассы задаётся в настройках модуля в CMS. По дефолту там стоят 86000 секунд (~сутки), я не трогал. Закрывается/открывается касса сама.
Re: Система-1 Ф
К сожалению, выяснилось, что саррус больше не продает свои ККТ. Отныне только аренда (8300 р/месяц). Опоздал я. Буду искать что-то другое.
Re: Система-1 Ф
Вернее так:

Стоимость аренды:

Разовые платеж за подключение к услуге:1 500 руб./касса

Базовый платеж за фискальный накопитель: 4 900 руб.

Абонентская плата: 1 касса – 1 900 руб./месяц

Итого: 8 300 руб. с учетом аренды 1 месяц
Re: Система-1 Ф
Так это ж не "8300/месяц". :)
Аренда, получается, подешевела даже. Была 2500/месяц, теперь 1900/мес. И ФН подешевел с 6000 до 4900 за 13 месяцев. Его, кстати до 36 месяцев собирались продлевать, емнип. Продлили или нет - не в курсе.
не все верно.
кусок про цифровую подпись не верен. потому что зарегать эту кассу можно самому бесплатно без всяких эл.подписей. тестФР на компе. каждый документ кассы , в том числ отчет о регистрации преспокойно распечатывается на любом листе с компа на принтере. я так и делала.
Re: не все верно.
Серьёзно? А мне в уши лили, что без усиленной ЦП никак. Через месяц обновлять ФН — попробую, спасибо.

upd: а распечатывается прямо скриншот или они в новом TestFR отдельную кнопку запилили для печати? У меня версия ТестФР 2.3.14.134 - там про печать ни слова, а скриншот печатать неудобно, т.к белое на чёрном.

Edited at 2018-08-07 11:42 am (UTC)