К содержанию

Как мы подключали онлайн-кассу в Modstore/Modhost


Привет, друзья!

Сегодня мы расскажем о нашем опыте внедрения онлайн-кассы в маркетплейсе modstore.pro и хостинге modhost.pro.
Опишем всю цепочку — от выбора кассы и заключения договора до интеграции и первых пробитых чеков.

Зачем нам понадобилась онлайн-касса?

Чтобы нас не оштрафовали и не закрыли.

Думаю, все уже в курсе, что онлайн-касса нужна практически каждому продавцу, занимающемуся розницей.
Поскольку мы не занимаемся продажей газет, лимонада, ремонтом обуви (из перечня видов деятельности, где касса не нужна), а продаем дополнения и хостинг физлицам через интернет — нам положено с 1 июля работать через кассу. Конечно, формулировку «изготовление и ремонт [...] ключей» можно применить к ключам репозитория modstore.pro, но только лишь с большой натяжкой, явно от штрафа не уберегающей.

Что мы сделали в первую очередь?

Собрали всю возможную информацию.

Изучили законодательную базу, следили за начавшими появляться еще зимой подробными разборами нововедений и алгоритмами действий.
Кроме того, связались с нашими эквайерами (Яндекс.Кассой, RBK Money и тд.). Яндекс в итоге разработал решение, однако для нас, работающих с 4-мя эквайерами, оно не подошло.

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

Покупка кассы


Или аренда? Решили покупать — дешевле.

Аренда кассы (Атол Онлайн, к примеру) обходится минимум в 3000 рублей в месяц. При том, что цена кассы колеблется в диапазоне от 25 до 40 тысяч рублей. Мы же собираемся не один год работать, поэтому решили — покупаем. Но куда ее поставить? Дома держать неохота — придется протягивать лишний патч-корд, платить за интернет и держать подключенной к сети.
Обзвонили наши датацентры — коллеги смогли предложить только аренду стойки под сервер, что еще дороже.

Услугу размещения кассы в ЦОД за 500 рублей в месяц, как оказалось, предоставляет Lifepay. Вообще говоря, в основном они занимаются эквайрингом, но помимо этого продают и размещают кассы.
Схожих по стоимости решений найти не удалось (напишите в комментах, если знаете).

Что касается самого железа (кассы), то на рынке куча решений для розницы — работают с планшетами, телефонами, сканерами штрих-кодов, денежными ящиками и пр.
Нам был нужен самый простой аппарат — просто коробка для отправки чека в налоговую. К слову, я его так и не увидел — покупка и установка обошлись без личного присутствия. Говорят, касса выглядит так:



Итого:
  • касса — 27 000
  • фискализация, ПО и техподдержка — 10 000 в год
  • размещение в ЦОД — 5 000 в год
Вопреки слухам о нехватке техники, кассу поставили в ЦОД через день после оплаты счета.

ОФД

Данные о продажах должны поступать в налоговую через ОФД (оператора фискальных данных). Надо в обязательном порядке заключать с ним договор.
Все ОФД предлагают одинаковую стоимость услуг — 3 000 рублей за годовое обслуживание одного кассового аппарата (кто-то из менеджеров сказал мне, что это законодательное требование, однако при беглом поиске подтверждения не нашел).
Поскольку мы давно пользуемся продуктами компании «СКБ-Контур», выбрали их предложение. Здесь тоже удалось немного сэкономить, заказав одновременно с услугами ОФД электронную подпись (для регистрации кассы на сайте ФНС и прочих операциях с налоговой). Вместо 6 000 рублей заплатили 5 000. Уровень сервиса — самый высокий во всей цепочке. Меньше суток прошло с момента оставления заявки на сайте до получения договора с ОФД и флешки для ключа подписи.

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

Сперва выпустили сертификат электронной подписи. По нашим законам, зайти в ЛК юридического лица или ИП на сайте налоговой можно только через IE. Помимо этого, нужно установить миллиард защитных плагинов и настроек. СКБ-Контур автоматизировал цепочку — жмешь «Пуск» и все устанавливается, требуется только в течение 20 секунд хаотично двигать мышью и беспорядочно стучать по клавишам для генерации ключа :-)
По этому ключу можно зайти в ЛК nalog.ru, узнать информацию по задолженностям и переплатам, написать заявления и, в том числе, зарегистрировать кассу.

Регистрация многоступенчатая:
  1. Вбиваем модель и заводской номер кассы, свои данные и данные ОФД в форму заявления, отправляем в ФНС.
  2. Если все в порядке, в этот же или на следующий рабочий день ФНС присваивает Регистрационный номер ККТ (контрольно-кассовой техники).
  3. Касса «прошивается», используя этот номер (этим занимались сотрудники Lifepay; судя по всему это тестовая отправка данных в ФНС и печать тестового чека).
  4. Результат прошивки (дата и цифры с тестового чека) вносятся в форму окончания регистрации кассы. Все готово.
Если сайт налоговой не висит (как часто бывало в конце июня), то все можно проделать за 2 рабочих дня.
У нас затянулось на 4.

Интеграция с miniShop2

Для интеграции предусмотрено простое и понятное API LifePay, которое мы и реализовали в своём новом дополнении mspLifePay.
В ходе тестирования выяснилась пара особенностей, которые пришлось отдельно доработать.

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

Вторая — согласно требованию закона, в обработку не должны попадать безналичные оплаты через расчётные счета организаций (налоговая видит их без дополнительных уведомлений).
Мы выставляем такие счета вручную, уведомляя менеджера при создании заказа по почте. Соотвественно, у метода оплаты «Банковский перевод» нет класса-обработчика платежа, так как нет и самого платежа через какую-либо систему.
Полагая, что примерно такая логика будет у всех магазинов, из передачи в LifePay информации были исключены все платёжные методы с пустым полем class.


Если вам по какой-то причине нужно будет отправить данные своего кастомного метода без class, можно сделать это свои плагином:
<?php
/** @var modX $modx */
switch ($modx->event->name) {
    case 'msOnChangeOrderStatus':
        /** @var mspLifePay $mspLifePay */
        $mspLifePay = $modx->getService('mspLifePay', 'mspLifePay', MODX_CORE_PATH . 'components/msplifepay/model/');
        /** @var int $status */
        /** @var msOrder $order */
        if ($mspLifePay && $status == 2 && $order->payment == 15) {
		$mspLifePay->sendData($order);
        }
        break;
}
Здесь данные будут переданы для всех оплаченных заказов с платежным методом 15.

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

Пакет уже доступен в магазине по цене 990 рублей. [UPDATE] Пакет бесплатный с 1 ноября 2017.



Процесс затянулся на неделю, поскольку техподдержка Lifepay не справлялась с потоком клиентов. К концу недели вал утих, в выходные все настроили окончательно.

Регистрация в ОФД

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

После этого мы провели пару тестовых оплат, увидели чек в ЛК ОФД (а это значит, что он ушел в налоговую), убедились, что чек приходит клиенту на почту. Обрадовались! Вот так он выглядит:



Теперь после покупки клиент получает письмо, содержащее такой вот чек. Проверить чек можно на специальном сайте.

Интеграция с бухгалтерией

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

Заключение

Мы заплатили 27 000 единовременно и будем суммарно тратить 1500 рублей в месяц (ЦОД, ОФД, поддержка) на онлайн-кассу.
Дает ли это нам что-то? Нет, не дает ничего. Это нужно исключительно государству для контроля за уплатой налогов. Но мы их всегда платили, и без такой формы контроля.
Что обрадовало? Объем затраченных сил и количество времени. Ожидалось, что потратим гораздо больше. Но сервисы в цепочке, в том числе государственные, работают довольно быстро и позволяют практически все сделать удаленно.

Надеюсь, наш рассказ кому-нибудь пригодится, буду рад ответить на вопросы в меру своей компетенции. Пишите о своем опыте в комментариях!
Leonid Krylov
Leonid Krylov
14 июля 2017, 06:34
modx.pro
14 319
Реклама

Комментарии: 36

Павел Гвоздь
Павел Гвоздь Эксперт
14 июля 2017, 10:10
Интересно! Особенно порадовало:
Дает ли это нам что-то? Нет, не дает ничего. Это нужно исключительно государству для контроля за уплатой налогов.
Малый бизнес по-всякому имеют, а на словах всячески поддерживают…
    Наумов Алексей
    Наумов Алексей Администратор
    14 июля 2017, 10:15
    Ага, и у меня общее впечатление сложилось именно такое…
    Вот вам 2 недели мучений, 30000 разовых расходов, ежемесячные расходы, и это все с сотен тысяч организаций!

    И да, стоит учесть, что в modstore работают айтишники, хорошие специалисты, которые смогли все сделать сами, тогда как подавляющему большинству компаний придется кого-то нанимать для выполнения этой работы.
      Василий Наумкин
      Василий Наумкин Администратор
      14 июля 2017, 10:22
      подавляющему большинству компаний придется кого-то нанимать для выполнения этой работы.
      Только для бумажной работы.

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

      Что не отменяет, конечно, самого факта ужесточения контроля честных предпринимателей на фоне истечения срока давности хищений на 2.6 млрд рублей у кое-каких нечестных. Мир несправедлив.
      Владимир
      Владимир Старожил
      14 июля 2017, 16:36
      При этом, видимо понимая, что онлайн бизнес может свалить в бизнес-эмиграцию, например в Эстонию (там все условия созданы, как законодательно, так и технически), вот недавно осчастливили «налогом на Google» Суть даже не в том, что гиганты будут платить налог, а в том что граждан обяжут платить за тех иностранных поставщиков услуг, кто не зарегистрируется в РФ, т.е. вот я на VIMEO платный аккаунт завел, купил подписку и сам своими руками должен посчитать этот налог, обложить себя и перечислить — недавно читал это разъяснение. И теперь НДС на покупку в иностранных онлайн-магазинах вводят (вместо пошлины), точно также, все магазины, которые не зарегистрируются платить не будут — обяжут граждан уплатить НДС самостоятельно. Это качается россиян, но как мы видим, подобное быстро расползается по законам соседних стран.
      Всем благ, держитесь :)
        Сергей Шлоков
        Сергей Шлоков Эксперт
        14 июля 2017, 16:52
        Ну потенциал в этом направлении ещё огромный. Все мы помним как вводили акцизы на бензин — сам Шувалов успокаивал народ — мол акцизы введём, но транспортный налог отменим, не беспокойтесь. Помнишь чем всё закончилось :) А ещё и Платон до кучи ввели.
        А закон о кадастровой оценке недвижимости. Всех коснулось и граждан и бизнес. А с последним вообще песня. Мы купили участок за 3 млн. руб. Кадастровая палата оценила в 18 млн. руб (???). С неё налоги платятся. Мы провели независимую оценку и с этим пошли в суд. Но суд согласился снизить оценку только до 9 млн. Супер?
          Владимир
          Владимир Старожил
          14 июля 2017, 17:11
          Еще, уже в этом году введут полный контроль за всеми поступлениями на счета граждан (т.е. дорабатывается система учета). Популярные переводы с карты на карту станут считать доходом, соответственно, надо будет уплачивать 13% (доказывать в суде что «это не доход» можно, ага)
          ****
          Отличие от 90х — вроде значительное, да, почти все автоматизировано, типа прозрачно, нет тех мешков из под картошки с деньгами, которые приходилось в багажнике возить))), но ощущения что вот такой же период наступает не покидают меня, с той разницей, тогда было много надежд и иллюзий, а сейчас, увы, как то все забавненько.
          Извиняюсь за флуд.
            Сергей Шлоков
            Сергей Шлоков Эксперт
            14 июля 2017, 17:48
            Именно поэтому по всем каналам Украину показывают. Иначе народ уже за вилы бы хватался после рассказов с очередного форума, что дно кризиса прошли, доходы россиян растут, инфляция 4%, а безработицы почти нет.

            Извиняюсь за флуд.
            Это всё Леонид, провокатор :)
              Владимир
              Владимир Старожил
              14 июля 2017, 17:55
              Ну и штрафы за недостоверную информацию в интернете, что бы осталось одно телевидение… «предлагают штрафовать граждан на суммы от 3 до 5 млн рублей, а компании — на 30–50 млн» Т.е. ни гу-гу, граждане, больше трех не собираться и не переписывайтесь уже)))
              Не так я представлял себе будущее 30 лет назад. «Перестройка, гласность, плюрализм мнений — главное начать!» Вот теперь точно: "… а у кого нет миллиарда тот идет в ****"
          Andrei D.
          Andrei D. Проверенный
          14 июля 2017, 21:22
          Могу проконсультировать по открытию фирмы в Эстонии, налогах и местных особенностях бесплатно
          До сих пор не по себе после прочтения рассказа Леонида :(
        Сергей Шлоков
        Сергей Шлоков Эксперт
        14 июля 2017, 16:39
        Мне касса обошлась в 28 тыс. р. Точно такая же модель, но не онлайн, стоит около 13 тыс. руб. Хорошо прошлись по всему бизнесу. Причём реальная польза для государства сомнительна. Те кто не платил налоги и не будет их платить, а вот добросовестным предпринимателям очередной удар под дых. Знаю некоторых, которые закрываются. В кассовом сервис-центре, где ставил кассу на обслуживание, сказали, что количество клиентов сократилось в 3 раза. С такими властями и врагов не нужно.
          Антон Слободчук
          17 июля 2017, 19:33
          Кассовый сервис для обслуживание кассы — это же ЦТО (центр технического обслуживания ккм)? Если так, то с вступлением 54-ФЗ в силу, обязательное обслуживание в ЦТО отменили. Поэтому и количество клиентов у них сокращается.
          Наумов Алексей
          Наумов Алексей Администратор
          14 июля 2017, 17:09
          У меня тоже знакомый есть с маленьким интернет-магазином, ну больше как хобби, и в плане финансов нельзя сказать, что прибыльно то прям.

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

          Он тоже под большим вопросом с этими кассами и думает, не закрыться ли, хотя у него авторский товар, интересный и не обычный. Вот такой пинк от государства.
            Сергей Шлоков
            Сергей Шлоков Эксперт
            14 июля 2017, 17:22
            Вопреки слухам о нехватке техники, кассу поставили в ЦОД через день после оплаты счета.
            В Москве проблем нет, а вот в регионах наблюдается. Сам понимаешь, в Москву за кассой не прыгнешь, а держать такие объемы на складах требует больших ресурсов.
            Кроме того, проблема не в самих кассах, а в дефиците фискальных накопителей для них, которые делает только один завод, одного из владельцев которого недавно расстреляли в Лондоне. Ставки очень высокие за возможность подоить народ.
              Leonid Krylov
              Leonid Krylov Проверенный
              14 июля 2017, 17:30
              Интересно, не знал об этом.
                Сергей Шлоков
                Сергей Шлоков Эксперт
                14 июля 2017, 17:44
                Кабы польза была от таких знаний. Только одно расстройство. :(
              Владимир
              Владимир Старожил
              14 июля 2017, 18:26
              Ну и вот суммируя кое-что из сказанного, просто ради интереса, а не выгодно ли онлайн-бизнесу все же свалить в бизнес-эмиграцию?
              Я не подстрекаю, и ни чего не пропагандирую. Просто цифры хочется сравнить, ибо как раз продажа софта, онлайн-услуг, тот же хостинг — выгодно ли бизнесу и потребителю играть в офшорную трансграничную торговлю при таком положении дел?
              Вряд ли это по теме топика, но если кто нароет что-то, просто киньте ссылку на интересный материал…
                Leonid Krylov
                Leonid Krylov Проверенный
                14 июля 2017, 18:41
                Владимир, налогообложение ИП на УСН мне нравится. Я не разбираюсь в налоговом законодательстве других государств, но 6% на доходы — предполагаю, это совсем немного.
                  Владимир
                  Владимир Старожил
                  14 июля 2017, 18:43
                  Собственно, это очень понятный ответ. Спасибо.
                    Василий Наумкин
                    Василий Наумкин Администратор
                    14 июля 2017, 19:35
                    +1% на доходы свыше 300 000 рублей. Ведь богатые буратины должны платить больше. Раньше это было в пенсионный фонд, а теперь всё без затей передали налоговой.

                    Но можно купить патент, и не платить эти 6%, тогда останется только злосчастный 1% и пенсионные взносы. Лично я его купил на этот год — тоже вполне доволен.
                      Владимир
                      Владимир Старожил
                      15 июля 2017, 17:42
                      Читал вчера об инициативе предлагающей отменить имеющим патент необходимость иметь кассовый аппарат, но это только инициатива неправительственной организации, нет даже проекта закона или намека на движение. А было бы хоть какое-то понятное решение, «только патент и все», ни каких дополнительных учетов и отчетов.
                      Стоимость патентов на один и тот же вид деятельности тоже отличается в зависимости от места получения патента (по месту жительства), что нелогично, для осуществляющих деятельность онлайн, например. (законодатель по прежнему рассматривает работающего по патенту как сапожника в конкретной будке или мясника).
                        Антон Слободчук
                        17 июля 2017, 19:19
                        1% свыше 300 тыс. в год имеет ограничение — не более 155 тыс. (округлил).
                    Вася
                    Вася Проверенный
                    15 июля 2017, 16:28
                    У многих ИП 30 — 40 тысяч в месяц неплохой такой новый налог в месячный доход
                      Владимир
                      Владимир Старожил
                      15 июля 2017, 17:31
                      Самое главное, ну ладно бы дополнительно хотели учесть именно движение наличных средств, тут хоть более понятно, что контроль еще не попавших на счета средств интересует государство в первую очередь, но безнал то, он же и так попадает на счета открытые по всем правилам. Или это именно для контроля кошельков которые не банковские счета (что тоже как наличка, с точки зрения государства). Но суть — бизнесу подкинули очередную статью расходов, пытаясь залатать бюджет и повысить уже приближающийся к тотальному контроль. И все за счет самих граждан делая вид что это ж не налоги, и можно по прежнему говорить что налоги не растут.
                        Вася
                        Вася Проверенный
                        15 июля 2017, 20:13
                        Это просто кто то хотел заработать. Для онлайн платежей можно было разработать какие то виртуальные кассы, в виде программки, приложения, а не физического куска пластика и металла.
                        Владимир
                        Владимир Старожил
                        16 июля 2017, 08:45
                        Если касса -разорение, то может для кого-то вот это www.nextpay.ru/faq54.php выход из положения, только там зачисление денег 1-2 дня.
                        nektos
                        nektos Старожил
                        15 июля 2017, 20:04
                        Наше налоговое законодательство на столько кривое и запутанное, что разобратьмя даже самим налоговикам не просто. Я производитель с оборотом 20 мл. в квартал, 45 сотрудников, НДС, 500 наименований комплектующих.
                        Мою продукцию продают перекупщики. Я свожу концы с концами, бьюсь с проверяюшими, утопаю в бумагах — пепекупщики меняют личные автомобили раз 3-5 месяцев и хихикают надо мной.
                        Обидно! Я труженник, они барыги — налоговая ответственность одна и таже.
                        Надоело, я за майдан)))
                          Сергей Шлоков
                          Сергей Шлоков Эксперт
                          16 июля 2017, 11:56
                          «И откуда это к нам такого красивого дяденьку занесло?»
                          © Любовь и голуби.

                          Дочь офицера или просто не туда повернул?
                          Антон Слободчук
                          17 июля 2017, 18:53
                          Используем «Яндекс Кассу» в связке с «Атол Онлайн». Оплатили «Атолу» за год вперед, получилось так:
                          — 1900 р. в месяц за аренду ккт + сюда же включены услуги ОФД;
                          — 6000 р. один раз в год за замену ФН.
                          Итого за год: 28800 р.

                          Отдельно КЭП для регистрации кассы в налоговой — 2600 р.

                          Суммарно это дешевле, чем покупать свою кассу и ставить ее в ДЦ.
                            Антон Слободчук
                            17 июля 2017, 18:57
                            * дешевле на первом годе.
                            Ну и да, пришлось допиливать механизм счетов. Так, чтобы в счет на оплату включались конкретные товарные позиции из заказа.
                            Артем
                            Артем Проверенный
                            20 июля 2017, 11:23
                            Если смотреть в сторону удешевления, то можно рассмотреть такой вариант http://www.kit-invest.ru/TerminalFA. По цене до 8800 + ФН. Есть дока по обмену и интеграции с ним. Остается написать API-прослойку для общения ККТ и сайта.
                              Leonid Krylov
                              Leonid Krylov Проверенный
                              20 июля 2017, 11:39
                              Да, выглядит как оптимальное железо для целей вроде наших.
                                Воеводский Михаил
                                Воеводский Михаил Проверенный
                                31 июля 2017, 11:34
                                Только сейчас увидел коммент. Спасибо, даже не знал о таком производителе.
                                Отправил им запрос, планирую добавить поддержку в onlineKassa.
                                  Олег Захаров
                                  Олег Захаров Проверенный
                                  01 декабря 2017, 17:16
                                  Кто нибудь приобретал этот терминал и настраивал с Modx?
                                    Воеводский Михаил
                                    Воеводский Михаил Проверенный
                                    01 декабря 2017, 17:33
                                    Производитель заинтересован в сотрудничестве. Если Вы приобретёте у них аппарат, уверен, это повлияет на их заинтересованность в разработке интеграции, о чем мы с ними уже говорили. Если интересует, для продолжения напишите на почту.
                                Александр
                                Александр Старожил
                                02 декабря 2017, 08:20
                                Скачал mspLifePay, ввел нужный телефон и ключ API, создал и купил товар, перевел товар в статус оплачено.
                                в журнале ошибок ничего нет. изменил настройку mspLifePay что режим не тестовый, опять купил и оплатил товар и опять тишина и в журнале ошибок и в ЛК LifePay
                                Какой смысл в этом модуле? И как она вообще работает?
                                Как получить тех.поддержу по бесплатному модулю? Понятное дело что никак. но всё же, как сделать так чтобы он заработал?
                                  Leonid Krylov
                                  Leonid Krylov Проверенный
                                  06 декабря 2017, 16:54
                                  Этот компонент интегрирует с онлайн-кассами LifePay, а не платежной системой:

                                  Как уже говорилось, mspLifePay предоставляет и услуги эквайеринга, но нам они не были нужны, так что и реализовывать в дополнении мы их пока не стали — для этого нужны дополнительные логины-пароли на сервисе.
                                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                  36