Как мы создавали сервис касс АТОЛ Онлайн

    С 1 июля 2017 года в соответствии с законом 54-ФЗ все онлайн-расчеты с помощью банковских карт должны проходить через кассу, выдающую электронные чеки. А значит, на онлайн-торговлю ложатся все тяготы, свойственные офлайн-ритейлу – регистрация касс, техобслуживание, замена фискальных накопителей, хранение старых ФН.  Упрощенный вариант — не приобретать все оборудование, а воспользоваться сервисом по аренде ККТ и ПО. Мы хотим рассказать о том, как мы придумывали и реализовывали наш сервис АТОЛ Онлайн, зачем нам понадобилось ломать и вновь строить бизнес-процессы, а также о самой проектной команде и принципе работы сервиса. За подробностями — под кат.



    Первые зачатки идеи сервиса появились в середине 2016 года, когда мы, проанализировав требования 54-ФЗ, начали искать решение для рынка, ранее не применявшего (хотя обязанного) кассовую технику, — интернет-торговли. Компании, которые принимают плату за контент или товар через интернет, как правило, не имеют собственной инфраструктуры, а активно используют облачные сервисы. Для них появление физического устройства, которое нужно регистрировать, подключать, обслуживать, — это лишняя головная боль.

    Обладая опытом в разработке контрольно-кассовой техники, мы сделали опытный образец кассы АТОЛ 42ФС, которую можно применять только при расчетах через интернет. Она не имеет печатающего модуля, это такая маленькая коробочка со светодиодом и двумя разъемами.
    Касса есть. Но что дальше? Ее нужно как-то интегрировать, эксплуатировать, чтобы она работала в режиме 24/7 365 дней в году, ведь онлайн-торговля идет круглосуточно.



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

    Решение проблемы одинаковое — нужно больше касс. Даже маленькой компании оптимально использовать как минимум 2 кассы. При большом количестве покупок в интернет-магазине бесперебойную и комфортную работу можно организовать с помощью десятков онлайн-касс. Мы еще расскажем об этом подробно, а пока вернемся к идеям.

    С учетом рекомендаций крупных игроков этого рынка и платежных сервисов мы подошли к идее некоего универсального сервиса, избавляющего интернет-предпринимателей от большинства проблем при переходе на ккт. В законченном виде она появилась к октябрю, ее идеологами стали Юрий Ярков и Эдуард Болмосов.

    Для компании это был абсолютно новый опыт: содержание ЦОД, выстраивание модели ежемесячных платежей, работа с большим количеством пользователей.

    Вопиющие в пустыне


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

    В начале года мы поняли, что рынок не осведомлен совсем, и начали активную маркетинговую коммуникацию, провели несколько мероприятий. Мы стали знакомить рынок с основами технической реализации законодательства, так называемыми форматами фискальных документов, согласно которым вся эта экосистема работает. АТОЛ провел огромное мероприятие на РИФе, семинар на целый день в четыре слота. Казалось, что мы охватили весь рынок, но на самом деле дотянулись далеко не до всех.

    Осознание рынком, что «касса нужна, что делать?» случилось в июне, а самый пик пришелся на крайние две недели перед 1 июля. В сентябре, когда начнутся первые штрафы по новому закону, наверняка поднимется вторая волна.

    Анатомия сервиса



    АТОЛ Онлайн условно можно разделить на три составляющие. Первая – касса АТОЛ 42ФС как устройство для фискализации платежей.


    Вторая – инфраструктура, в которой размещаются кассы. Мы арендуем ЦОД с уровнем отказоустойчивости Tier 3. Кассы монтируются в сборки, на двухюнитовую основу устанавливается 48 касс. Они имеют 2 интерфейса: по USB идет питание, по Ethernet – управление и обмен данными.



    Третья составляющая – программное обеспечение, фронтенд и бэкенд. Фронтенд — это личный кабинет, через который происходит менеджмент услуги: подключение к сервису, авторизация, обмен информацией, необходимой для фискализации кассы. Бэкенд следит за состоянием техники и управляет балансировкой нагрузки. Ведь у одного юрлица может быть как 1 касса, так и 1000 или 10 тыс.

    Одной кассы мало


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

    Как только у компании возникает потребность в 100% доступности операции по выдаче электронных чеков, так как риски простоя для бизнеса очень высоки — ей требуется как минимум две кассы. Вероятность выхода из строя двух касс одновременно очень низкая: мы размещаем их особым образом, не храним в одной стойке, в одной сборке, они разнесены внутри ЦОДа.

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

    1. Скорость работы. ФН работает медленно. Общее время на обработку одного чека составляет примерно 0,9 с. Но на практике при работе периодически возникают сетевые задержки — поскольку чек надо отправить ОФД и получить от него ответ. В итоге при самом хорошем раскладе не стоит рассчитывать на скорость более одного чека в секунду. Если у магазина нагрузка выше и есть только одна касса, будет формироваться очередь. Запрос на формирование чека может храниться до пяти минут, после чего «отваливается» с тайм-аутом. Если у магазина 50 транзакций в секунду, в идеальном случае нужно установить 50 касс. У нас есть специальный калькулятор, с помощью которого можно посчитать, сколько касс необходимо (и экономически выгодно), чтобы обеспечить требуемую пропускную способность. Стоит также заложить запас на выход касс из строя или техобслуживание. Точные значения каждый определяет сам, но обычно при большом числе касс «запас» — это 10-15%.



    2. Емкость ФН. Фискальный накопитель может подписать ограниченное количество документов. Типичная емкость — 250 тысяч документов. Если такому ФН присылать по одному документу в секунду, он заполнится за 3 дня. При этом длина чека и количество товаров в нем не имеют значения, поскольку ФН хранит только итоговую сумму, занимающую примерно 40 байт. Замена ФН — это процедура, связанная с налоговой, она требует перерегистрации и занимает 1-2 дня. Если менять эти накопители раз в два дня, работать будет невозможно. Для того, чтобы сервис не простаивал, имеет смысл рассчитать количество касс так, чтобы замена ФН происходила раз в несколько месяцев, а лучше не чаще чем раз в полгода, и кассы останавливались на замену определенными партиями. То есть так чтобы система была не перенагружена и защищена от сбоев.

    Все крупные интернет-компании закладывают эти риски при подсчете и арендуют у нас от 50 касс.

    Внутренний стартап


    Для нас все было новое: и проект, и рынок, и сервис. Проект потребовал переработки всех внутренних бизнес-процессов в компании и организации клиентского обслуживания. Все необходимо было адаптировать и перестраивать наживую, так как времени было мало.
    Создание сервиса АТОЛ Онлайн стало для компании по сути внутренним стартапом. На старте проекта численность команды не превышала 10 человек. Их силами в первый месяц был создан прототип. Когда увидели перспективы, команда стала расти, сейчас активно задействованы в развитии сервиса около 40 человек.

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

    Все было как в стартапе: неизведанный рынок, поиск и реализация идей, их тестирование на потенциальных заказчиках. Использовали Agile-подход, методологию Kanban. Сначала мы пообщались с топами интернет-торговли, определили их потребности и ожидания, собрали обратную связь, поняли, что людям действительно требуется такой сервис.

    Момент, когда владельцы бизнеса поверили в стартап, случился в декабре, после того как сформировался бизнес-план, первая итерация бизнес-модели. Основная сложность была связана с отсутствием достоверной информации об объеме рынка интернет-торговли. Оценки разнятся очень сильно, от 20 до 100 тысяч компаний. Мы взяли за основу, что компаний, которые ведут коммерческую деятельность с картами в интернете, порядка 40 тысяч, и каждой из них нужно минимум по одной кассе. Изначально закладывалась сильно пессимистическая модель, но и она дала понять, что этим стоит заниматься.

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



    Бескровная интеграция


    Больше всего тревог у владельцев интернет-бизнеса вызывали вопросы интеграции. Тут требовалось максимально простое решение. Мы реализовали несколько вариантов интеграции, непосредственно из CMS-системы и через платежные сервисы. У нас API для всех единый, JSON REST, достаточно простой в реализации. Он выполнен по всем требованиям стандарта фискальных документов.

    С платежными системами все совсем просто. Владелец сайта подключается к нашему сервису, ставит кассу на учет, мы ее фискализируем, и на финальном этапе он получает файл настройки, там 3 строки: код группы, логин, пароль. Пользователь задает эти данные платежному сервису в личном кабинете, там есть соответствующие параметры для ввода. Все, можно работать.
    Сейчас выполнена интеграция с основными игроками рынка: 14 CMS (1С-Битрикс, AdvantShop,  NetCat, RetailCRM и иные) и 19 платежными сервисами (например, Яндекс.Касса, Robokassa, интернет-эквайринг от Сбербанка и Тинькофф и др.)

    Перспективы


    В ближайших планах развития сервиса – модернизация API, поддержка формата фискальных документов версии 1.05, это позволит пользователю корректно отражать информацию по авансам, предоплатам, подарочным картам. Кроме того мы планируем расширять набор пользовательских функций, доступных из личного кабинета: добавить возможность проведения ручных операций по возвратам и коррекций, такую мини-CMS, а также информацию по сервисному мониторингу и подробную статистику по кассам.

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

    Идеи есть, много, надо делать. Ведь АТОЛ Онлайн для компании – это возможность диверсифицировать свои решения, вывести их на развивающийся рынок Digital-технологий, выйти на другой класс потребителя. Мы давно и профессионально разрабатываем кассы, но всегда хотелось сделать что-то большее, чем просто «железку», дать еще и сервис. Это не только наш путь развития, но и многих других компаний, которые хотят в перспективе расти, развиваться, как того требует рынок: потребитель меняется, и бизнес тоже.
    АТОЛ
    25.31
    Company
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 31

      0
      Подскажите у какого магазина поток заказов — 50 в секунду или 3000 в минуту?
      Из описанного выше следует, что для большинства магазинов 1 кассы более чем достаточно.
      Даже при нескольких тысячах заказов-сутки, так как чек можно отправить в течении нескольких минут, а всплески свыше 60 заказов/минуту — не самое распространенное явление и спокойно можно обработать поток на одной железке.

        0
        Так проблема то в том что там на ККТ как минимум:
        — 1 раз в сутки надо закрыть и открыть заново смену — это простой до 10-15 минут что уже за пределами дозволенного ФНС 5-и минутного интервала между операцией и чеком.
        — периодически (и об этом написано в статье) надо менять ФН — а это при самом лучшем раскладе — уже почти час простоя и скорее всего стоять ККТ будет днем, когда на работе есть главбух с ключом для доступа в ЛК ФНС.… да и ФН нужно купить успеть…

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

        Но, да, про магазин у которого 50 заказов секунду в течении достаточно долгого периода — хотелось бы услышать?
        Истерию такие как АТОЛ нагнали на рынке — значительную, и не удивлюсь если кто-то заказал 50 ККТ, Но оправдано такое — вряд ли.
          0
          Спасибо, дохотчиво. 2 KKT и забыли.
            0

            2 и запускать со сдвигом во времени. Если на две поровну раскидывать чеки то и ФН закончатся в одно время. Т.е. первая работает, а вторая только подстраховывает первую. Чуть позже можно запустить полноценную балансировку.

            0
            Нет никаких 5 минут в онлайне. Не надо выдумывать.
          +1

          Зачем вообще реализовывать кассы ввиде отдельного устройства? Почему нельзя сделать кассу, как ПО для компа, а ФН подключать к нему через серийный порт?

            +1
            Вы это тем скажите, кто законы пишет.

            Технари то понимают что реализованная законом ФЗ-54 модель — ни разу не для онлайн-торговли. Но законотворцы этого не понимают.
            +1

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


            ФН работает медленно. Общее время на обработку одного чека составляет примерно 0,9 с. Но на практике при работе периодически возникают сетевые задержки — поскольку чек надо отправить ОФД и получить от него ответ. В итоге при самом хорошем раскладе не стоит рассчитывать на скорость более одного чека в секунду. Если у магазина нагрузка выше и есть только одна касса, будет формироваться очередь. Запрос на формирование чека может храниться до пяти минут, после чего «отваливается» с тайм-аутом. Если у магазина 50 транзакций в секунду, в идеальном случае нужно установить 50 касс
              +1

              Пфф. У продвинутых стран сама налоговая предоставляет такой API без извращений с железками.

                0
                Вот тоже возникла эта мысль. Почему бы не сделать со стороны налоговой этой? Без железок и другого геморроя.
                  0
                  Решили контролировать все интернет-обороты, у налоговой бизнес такой — продавать ФН.
                  С точки зрения ускорения товарооборота по РФ это не так весело продавать в розницу ФН.

                  Отчасти похоже на оптимизацию сбора свежих данных со всего товарооборота через интернет. Надеюсь дальше сбора данных для налоговой дело не пойдет.
                  0
                  Но ведь нужно было поддержать отечественного «производителя» касс.
                    0
                    Преследовался смысл в продаже железок, штрафов, т.е. нужен процесс, ради процесса, а не результат и эффективность. И это далеко от заявленного в статье:
                    Это не только наш путь развития, но и многих других компаний, которые хотят в перспективе расти, развиваться, как того требует рынок: потребитель меняется, и бизнес тоже.

                    Интересно, сколько ресурсов затрачивается на всю эту железную ерунду? Кстати, в статье не сказано о надежности и отказоустойчивости их коробочек, 50-ти хватит?
                    0
                    С дублированием платежей в ОФД уже разобрались? Очень уж много жалоб было по этому поводу, из-за этого выбрали другое решение.
                      0
                      Если не секрет, то какое выбрали?
                        0
                        Да особо выбора же нет, модулькасса. Плюс в ней то, что касса у тебя и можно пробивать еще и руками.
                          0

                          модулькасса это сервис по приему платежей?

                            0
                            это физическая касса, которая может интегрироваться и для интернет-продаж
                            modulkassa.ru
                              0

                              спасибо за ссылку!
                              дорогой продукт, однако
                              Нам хватает обычной кассы+офд+яндекс.касса и банк-эквайер

                      0
                      Интересно, но не рассказали самое главное: откуда такая цена в месяц?
                      Ну серьезно, вы же когда услугу эту анонсировали, фактически задали уровень цен которого почти все придерживаются.
                        0
                        Если не секрет, и об этом можно говорить — из чего состоит цена на сервис АТОЛ Онлайн (я про ежемесячную составляющую)?
                        Когда вопрос возник, меня отпугнули две вещи: цена, и отсутствие реакции на запрос на сайте (кстати, его не было до сих пор).
                          0
                          Возникает логичный вопрос, а зачем вообще кассы нужны теперь? По крайней мере для онлайн торговли. Раньше кассы требовались для контроля бизнеса, товар вернуть насколько помню и без чека можно. А теперь? Почему в качестве кассы не может быть простой софт, который можно поставить на любом vps — пусть он шлёт в налоговую на или оператору данные о продажах, и чек в PDF делает. Зачем для этого отдельная коробка, да ещё за такие деньги?
                            0
                            >а зачем вообще кассы нужны теперь… Раньше кассы требовались для контроля бизнеса…
                            Для контроля вашего бизнеса налоговой

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

                            В голову приходят сервисы типа delivery club. А так, даже сетевые магазины, работающие от одного юридического лица на всей территории РФ, не наберут такого объема.

                              0
                              Хорошая схема нарисована в видеоролике, но на деле — очень не многие CMS внедрили в свой код интеграцию с онлайн кассой.
                                0
                                Почему нет в продаже АТОЛ 42ФС?
                                  0
                                  с 7 утра не ходят чеки

                                  $ host online.atol.ru
                                  Host online.atol.ru not found: 3(NXDOMAIN)
                                    0
                                    Вообще, отличный топик. Ни одного комментария от автора
                                      0
                                      Чукча — не читатель, чукча — писатель!
                                      0

                                      Интересно, какой логике вы следуете, указывая в API дату без часового пояса? Например, из документации:


                                      "timestamp": "29.05.2017 17:56:18"

                                      Почему есть необходимость указывать дату и время именно в таком формате, а не в формате ISO 8601?

                                        0

                                        Москвичи потому что)

                                      Only users with full accounts can post comments. Log in, please.