...

воскресенье, 28 апреля 2019 г.

[Из песочницы] Облачная касса, мой скромный опыт

Есть вещи, которые понимаешь, что делаешь раз в жизни и больше полученный опыт не пригодится. От этого грустно, но делать приходится. Таким опытом и набитыми шишками легко делиться, может поможет кому.

Ниже приведен мой небольшой опыт по поднятию интернет-магазина с приемом оплаты согласно законодательству. Делать это после вступления в силу 54 Федерального Закона стало прилично сложнее и затратнее. Я не настоящий бизнесмен, а инженер. Поэтому, все повествуется с точки зрения инженера, с приличным слоем автобиографичности.
История началась как у многих: мы с друзьями образовали клуб по интересам, и начали кое-что делать для себя, допустим, глиняные свистульки. Потом другие друзья попросили сделать для них. Потом друзья друзей. Деньги в начале не брали, но любовь к искусству быстро опустошила кошелек, а малознакомые люди толкали по срокам. Поэтому, стали брать наличные на комплектующие. Потом как-то выросли объемы, появились заказы из других городов, начались быстрые переводы, в том числе с карты на карту.

Отваги получать большие суммы на карту, ровно как и желания объясняться с налоговой у меня не было, поэтому было решено зарегистрировать ИП, что и было сделано через госуслуги и две поездки в МФЦ, и открыть расчетный счет (неделя).

Бояться стало нечего, знай себе, работай, развивайся, плати 6% налогов и успокаивай-объясняй клиентам, что переводы по 1-2 дня на счет юр.лица — это норма, деньги не пропали, просто сегодня суббота. И, мол, извините, как раньше, за 15 минут по номеру карты больше не можем.

Сроки обработки — не радовали и было написано заявление в банк на эквайринг.

Эквайринг — это возможность для юрлиц принимать оплату на расчетный счет картами и другими видами электронных платежей. Сумма списывается с карты клиента, поступает на счет юр.лица, за вычетом комиссии организации предоставляющей услугу. Делается это как физически, например, в продуктовом, так и по интернету, когда заполняется форма оплаты картой.

Все бы ничего, но замаячил 54ФЗ и обязал на любое получение оплаты от физических лиц выдавать электронный чек, с отправкой в налоговую.

Деньги на счет ИП от физических лиц оставалось получать пол года, т.к. законом было предписано всем, кто получает деньги от физиков обзавестись кассами. Интернет-кассами, чтобы они физически были в офисе / торговой точке / квартире, подключены к интернету и информация о пробитом чеке отправлялась в налоговую.

Традиционно, в законе было много разночтений, несколько исключений, были двоякие толкования, а главное, что техники — просто не было. Очередь на кассы была на несколько месяцев вперед. Все были напуганы, т.к. штрафуют у нас легко и непринужденно.

Как увязывать сайт и счет — никто не знал. Те, у кого был подключен эквайринг — забили тревогу.

Мне не очень хотелось иметь кассовый аппарат, дежурить возле него в офисе, а главное, для чего? Я прекрасно получал оплату на счет, клиенты были уже со всей России, физически я никого не видел. Получил оплату, выполнил заказ, отнес на почту. Сколько получено денег — налоговая и так знает, банк ей сообщит. Но, закон есть закон и были начаты работы по поиску легального метода получения оплаты.

Упрощенно, как теперь должна выглядеть интернет-торговля:

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

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

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

Поэтому, было окончательно решено отказаться от физической кассы в пользу облачной. Это эмулятор кассовой машины. Касса с веб интерфейсом, если можно так выразиться.

Так же регистрируется в налоговой, требует подключения к ОФД, но место нахождения указывается — ЦОД кассового провайдера. Я нахожусь в Петербурге, место установки облачной кассы — Москва. Никого это не смущает.

Чтобы более-менее все наладить, пришлось прикинуть план действий для регистрации кассы и получения пластика на счёт.

По шагам он таков:

  1. Получить услугу эквайринга в банке. Я получил в своем, банке Т. Можно в Яндекс.деньгах, или ином подобном сервисе. Это для зачисление оплаты картами на счет.
  2. Найти подходящий движок интернет-магазина. Чтобы был живой, удобный, с неплохими отзывами, а главное, совместимый с эквайером (чтобы был модуль оплаты под заданный движок). Мне хотелось побыстрее закрыть вопрос (ха-ха, наивный!), поэтому пошел в лоб и выбрал Opencart (в последнем туре участвовали надстройка к Word Press, Opencart, Magento, Presta Shop). Opencart — один из самых ходовых движков, наглядный, людей разбирающихся, вроде бы не мало.
  3. Найти облачную кассу в аренду. Тут почти пусто. Я выбрал Атол, потому что выбирать было не из чего. Остальные полторы существовавшие на конец 2018 года облачные кассы выглядели не очень внушающе. Список совместимости с движками интернет-магазинов банками — короткий, список совместимых ОФД — тоже не очень.
  4. Выбрать ОФД — кому касса должна отправить данные для регистрации чека в налоговой. ОФД много, но на деле — многие агенты друг у друга. Был выбран ОФД по которому было наименьше плохих отзывов и он был в списке партнеров провайдера кассы. Подумалось, что раз партнер, значит совместимость должна быть хорошей.
  5. Начать регистрировать облачную кассу у провайдера касс, потом полученные данные передать в налоговую, потом полученные от налоговой данные ввести провайдеру. Опять многоходовочка.

    Для регистрации кассы в налоговой потребовались бы поездки (у меня неплохая налоговая инспекция, но там постоянно что-то происходит: то ремонт здания и кабинеты переезжают рандомно, то аппарат электронной очереди ломается и анархия, то сограждане из живой очереди норовят вставить люлей тем, кто записался по интернету, хотя время назначила сама налоговая, выдала приоритет. Охрана, конечно, срабатывает, но все равно осадок остается). Чтобы видоизменить данный участок квеста, можно воспользоваться пунктом 6.

  6. Получить квалифицированную электронную подпись, чтобы регистрировать кассу (или много касс) по интернету, через сайт nalog.ru.

Внезапно, тут тоже квест. Множество провайдеров ЭЦП. Тех поддержка отвечает зазубренными фразами, на вопрос в лоб: «Смогу ли я с предложенной ЭЦП зарегистрировать кассу в налоговой», чаще всего зачитывался абзац размытого текста. Потом я проредил список по организациям, отсеяв тех, у чьих офисов нулевые шансы на парковку даже платно (на момент регистрации кассы я работал на двух работах, доступное временное окно было узким). Потом осталось готовое решение, которое так и называлось «ключ для кассы», правда ехать на другой конец города.

Итак, участники цепочки:

  1. Я как ИП;
  2. Провайдер сайта интернет-магазина;
  3. Банк, в котором счет и услуги эквайринга;
  4. Провайдер облачной кассы;
  5. Налоговая для регистрации кассы;
  6. Провайдер электронной подписи для регистрации кассы в налоговой;
  7. ОФД для регистрации чеков.

До вступления в силу закона, хватило бы первых трёх пунктов. После вступления — их семь и надо согласовывать одних с другими. Чтобы эквайринг дружил с движком сайта, а выбранная касса — с банком.

Что с чем соединялось:

  1. К CMS подключался модуль предоставленный банком. В модуле прописывались номер платежного терминала и пароль.
  2. В разделе эквайринга банка в подразделе «Кассы» прописывались логин: пароль кассы и какой-то код, а-ля «код подразделения» скачанные с сайта Атол. В открытом виде их нет, пришлось выковыривать из XML.
  3. Касса и ОФД соединились сами (был нюанс, что ОФД хотел отдельно денег, несмотря на «всё включено» от Атол).

Что на деле получилось и что я об этом всем думаю:

1. Не очень просто далось заполнение всех форм у того же Атол, за разъяснением по заполнению отдельных полей приходилось писать в поддержку. Менеджер помогал с оформлением и обещал помочь с настройкой кассы через Team Viewer после регистрации в налоговой и это ровно до тех пор, пока организация не получила оплату. Потом пришлось расчитывать лишь на себя.
Для создания электронной подписи на регистрацию кассы пришлось попотеть и обвесить плагинами браузер Chrome. Я не до конца понимал что делаю, все не с первой попытки, но как-то оно получилось.

Налоговая считает, что нет никакого хрома и под неё пришлось ставить плагины для Internet Explorer. Я им не пользовался много лет, и апгрейд с 9й версии на 11ю привело к зависанию Windows при загрузке. После починки — перестала работать часть софта.

2. Банк Т. предоставил для отладки эквайринга тестовые явки: логин с припиской демо и пароль, тестовые номера карт, при которых деньги не списывались и чеки не отправлялись в кассу и ОФД. Тесты — толковые, но.

3. Оказалось, что модуль для интернет-магазина предоставленный банком оказался несовместим по протоколу с партнером банка — Атол. Банк Т. мог работать лишь по протоколу 1.0, в то время как касса работала на несовместимом с ним 1.05. Смена протокола зависла дней на 10 (система писала что все хорошо, ошибок не было, но чеки не пробивались!).

С 2019 года эта проблема закрыта, т.к. государство принудило всех перейти на протокол 1.05. Но это до введения нового протокола.

4. Модуль банка Т. отлично вылетал. Есть платная доставка на сайте — оплата вылетает с неизвестной ошибкой на последнем шаге оплаты. Нужны колбэки, чтобы оплаченный товар списывался автоматом со склада — аналогично. Любой чих и все, оплата не прошла, репутация — подорвана. Что-то поменял на сайте, будь добр остановить сайт и пройти серию тестов заново, иначе не факт, что модуль будет работать.

Перед первой настоящей оплатой, тестовых оплат было сделано порядка 60 штук и это вместо 5. Тех поддержка банка сама просила отключать колбэки и разные фичи сайта, лишь бы пройти тест. Сейчас многие баги подлатаны, причем, втихаря. То, что они починили свой модуль — даже письмом не обмолвились. Сейчас все равно страшно что-то менять на сайте, потому что придется останавливать сайт и делать серию тестов. А еще, глядя в логи CMS, если человек дошел до оплаты, но не оплатил, сразу думается, что модуль оплаты вылетел.

5. Приходится жить в логах. Смотреть логи CMS, и логи ОФД, вдруг опять пропадет касса из эфира. Атол часто встает на профилактику, 9 писем за 2019й год об остановке на профилактику и одно про технический сбой. Потом надо смотреть логи были ли продажи и «пробивать» чеки вручную.

Время:

  1. На регистрацию облачной кассы в сумме ушла неделя. Квест в плагины. Электронная подпись не очень быстро формировалась, были сложности с заказом, а главное, что зачисление оплаты за подпись производилось пресловутых три для.
  2. Сопряжение CMS, банка и облачной кассы заняло почти месяц. Было бы сильно короче, если бы модуль предоставленный банком был без заметных ошибок и Атол переключал протокол не за сутки (от суток, до «пока не дернешь»).

Деньги:
  • Электронная подпись — 1500р., разово
  • Аренда облачной кассы на год. + ОФД — 36000р.
  • Эквайринг — 2.79% с каждой оплаты
  • Пара модулей для CMS — 2800р. (разово)
  • Хостинг CMS — 1800р. в год.

Можно ли было не ставить облачную кассу?

Во-первых, надо прочитать закон 54-ФЗ и пояснения к нему, возможно, для Вашей деятельности касса пока не нужна.

Если все же нужна, а возможности и желания нет, есть сервисы вроде РобоМаркет, который берет продажи физическим лицам на себя: принимает заказ и оплату от физика, потом пересылает заказ продавцу и тот отправляет заказ клиенту. Затем, сервис переводит оплату на расчетный счет как юридическое лицо юридическому лицу. Но, там достаточно запутанный и пугающий договор, за любой чих штрафы в 1000 евро. В результате, сервис оказался непопулярным, как у продавцов, так и у покупателей.

Можно поставить обычную, онлайн (физическую) кассу. Она получает данные о продажах с сайта/банка и отправляет чек. На момент поиска решений о принятии оплаты от физических лиц такая схема работала с CMS Bitrix + какой-то конфой 1С. Скорей всего, сейчас таких решений стало больше.

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

В целом, задача решена, принимать оплату по интернету от физических лиц — получилось.
Удалось распутать достаточно запутанную схему и привести её в работоспособное состояние, но даже простое решение в лоб на всем готовом состоялось на троечку (хорошо, что хватило ума взять готовую CMS, а не заказывать самописную).

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

В общем, удовлетворительно, граничащее с плохо.

Отдельно нужно отметить, что нужна подготовка в IT хотя бы на уровне колледжа. Быть готовым читать логи, прописывать явки, добывать их из XML, и в целом понимать что с чем соединяется.

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

Все вышеприведенное — мой личный опыт, без претензии на абсолютную истину.

Ссылки, которые могут пригодиться:

Let's block ads! (Why?)

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

Отправить комментарий