Как мы подключали онлайн-кассу в 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
14 июля 2017, 06:34
modx.pro
9
12 835
+19

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

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

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

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

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

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

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

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

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

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

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

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

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