С 1 июля 2024 года вступили в силу изменения в 54-ФЗ. По закону при приеме платежей нужно использовать онлайн-кассы, а электронные чеки необходимо отправлять покупателю.
С 2024 г. требования расшили на организации и предпринимателей сфер торговли и питания, сферы услуг.
С 1 июля 2024 года практически все предприятия, занимающиеся коммерческой деятельностью, должны иметь онлайн-кассы. 54-ФЗ «О применении контрольно-кассовой техники при осуществлении расчетов в Российской Федерации» (ссылка на текст закона).
Мы разобрались с вариантами использования онлайн-касс и возможностями интеграции.
В кейсе расскажем о сценариях работы с арендованными онлайн-кассами (облачными кассами). Приведем общую схему работы, удовлетворяющую требованиям закона. Опишем интересное нетиповое решение интеграции с 1С.
Аренда или покупка онлайн-кассы
К настоящему моменту расширился перечень сфер бизнеса, для которых онлайн-кассы обязательны.
Начать пользоваться кассовым оборудованием можно двумя способами:
-
купить онлайн-кассу;
-
взять онлайн-кассу в аренду, воспользовавшись специальным сервисом (см. ниже).
Основные сложности для предпринимателя при покупке онлайн-кассы:
-
значительные расходы при приобретении оборудования;
-
необходимость ремонта и обслуживания онлайн-кассы;
-
непонимание, как использовать возможности онлайн-кассы с выгодой для бизнеса.
Далее расскажем, что такое сервис аренды онлайн-касс и как эффективно внедрить его в свой бизнес.
Примерные расценки на покупку и аренду онлайн-касс
Аренда онлайн-касс: облачные кассы
Аренда онлайн-кассы (облачная касса) — сервис, который предоставляет доступ к виртуальному кассовому аппарату в облаке за ежемесячную плату. Такой способ позволяет не приобретать обычную (физическую) онлайн-кассу, а только зарегистрироваться и передавать информацию о расчетах при помощи специальных модулей или API. Часто такой сервис еще называют интернет-кассами или кассами для интернет-магазина.
Примеры сервисов по аренде онлайн-касс:
-
Orange Data;
-
Checkonline;
-
Бизнес.ру Онлайн-чеки.
Основные преимущества сервиса аренды облачной кассы:
-
Гарантированная отправка чеков в ОФД;
-
Не нужно беспокоиться об обслуживании или ремонте кассы. Техническим обслуживанием оборудования занимается сервисная компания;
-
Касса работает 24 часа в сутки, 7 дней в неделю. В датацентрах, где установлены сервера, нет перебоев с электричеством;
-
При повышении объема платежей, нагрузка на фискальные накопители распределяется равномерно. Мы пытались смоделировать повышенную нагрузку за счет большого количества покупок, но очереди на облачной кассе создать так и не удалось;
-
Облачный сервис работает с большинством популярных программ и CMS: 1C-Битрикс, WordPress, Joomla!, Drupal и другим. Если нет готового решения, тогда программисты могут интегрировать сервис через открытый API.
-
Не нужно самому открывать и закрывать кассовую смену.
-
Облачная касса работает со всеми режимами налогообложения.
Как работает сервис аренды онлайн-касс
Общая схема работы сервиса выглядит так:
В проекте, выполняемом нами для одной компании, покупка товара и дальнейшие действия с данными по расчету выглядели так:
-
Кассир в момент покупки отсутствует, покупатель сам выбирает товар и оплачивает его по безналичному расчету при помощи банковской карты;
-
В момент оплаты система запрашивает у покупателя адрес электронной почты;
-
Покупатель вводит электронный адрес, при помощи платежной карты и терминала совершает платеж;
-
Введенный адрес электронной почты вместе с данными о покупке попадает в систему на платформе 1С;
-
Данные о покупке и электронный адрес обрабатываются в 1С и передаются в облачную кассу;
-
В облачной кассе происходит обработка данных фискальным накопителем и формируется чек;
-
Данные из облачной кассы о сформированном чеке передаются в систему 1С;
-
Покупателю распечатывается бумажный чек;
-
Облачная касса отправляет данные об операции в ОФД;
-
ОФД обрабатывает полученную данные и отправляет чек в ФНС;
-
ОФД отправляет электронный чек на электронную почту покупателя.
Интеграция облачной кассы и 1С
Что было сделано
При покупке онлайн-кассы нет проблемы интеграции с 1С. Большинство современных продуктов 1С поддерживают работу с онлайн-кассами различных производителей.
Для интеграции облачной кассы и интернет-магазинов существует множество готовых решений. Проблема была в том, что для 1С готового модуля обмена данными с облачной кассой не существовало.
Сначала при настройке использовали стандартные возможности 1С. Для оплаты с помощью банковской карты настроили эквайринговый терминал и подключили к компьютеру с 1С. В 1С:Розница создали и настроили необходимые объекты, установили драйвера для поддержки оборудования. Кроме терминала для оплаты к 1С подключили чекопечатающую машинку для вывода на печать бумажного чека.
Далее потребовалось интегрировать 1С с облачной кассой. Наш клиент уже работал с конкретным сервисом аренды онлайн-касс ранее, поэтому решили продолжить сотрудничать с ним и в этом проекте. Для передачи данных о покупке на арендованную кассу потребовалось разработать в 1С механизм интеграции.
Для прямой интеграции с сервисом изучили документацию по API, получили сертификаты и ключи к продуктовым и тестовым средам облачной кассы. Тестовая среда нужна при разработке интеграции и отладке процедуры продаж.
Реализовали два варианта взаимодействия:
-
В момент покупки происходит отправка информации о продаже в облачную кассу, в которой она обрабатывается и возвращается в 1С с данными о фискализации.
-
Отложенная обработка списка чеков на тот случай, если в момент покупки облачная касса недоступна. Эта обработка выполняется в отложенном режиме по расписанию.
В обоих случаях на почту покупателю направляется электронный чек.
Пример электронного чека, который приходит на почту покупателю.
Технические детали интеграции с облачной кассой (информация для программиста)
Используя API облачной кассы в 1С нами было разработано несколько http-сервисов для двустороннего обмена данными с сервисом, созданы регистры для обработки и хранения данных фискализации.
В нескольких пунктах опишем, как именно 1С обменивается данными с сервисом аренды онлайн-кассы в момент оплаты покупки:
-
При оплате покупателем сформированной корзины покупок в 1С через http-сервис передаются данные о товарах. На основании этих данных в 1С создается и заполняется документ «Чек ККМ». При проведении документа в 1С контролируются остатки товаров.
-
При успешном проведении документа «Чек ККМ» формируется JSON-строка с параметрами покупки в требуемом формате для отправки в облачную кассу. К данным чека добавляется идентификатор документа, уникальный в пределах организации. В API сервиса предусмотрено, что отправка чека — это асинхронный запрос. В 1С формируется запрос к облачной кассе с данными в JSON. В результате чек оказывается в очереди на обработку в облачной кассе.
-
Как правило, после отправки полученный статус ответа соответствует успешной обработке чека. Если такой ответ получен, то через 3 сек. отправляется запрос (JSON-строка с идентификатором ранее отправленного документа) на получение подробных данных о фискализации чека (номер кассы, номер смены, номер чека в очереди, фискальный номер, дата и время регистрации и т.д).
-
Данные по чеку, принятые от облачной кассы записываются в регистр 1C и выводятся на печатном чеке.
-
В случае иного ответа сервера (очередь переполнена, клиентский сертификат не прошел проверку и т.д) в специальный регистр в 1С записывается строка со ссылкой на документ «Чек ККМ», но без данных фискализации. В дальнейшем отправка необработанных чеков на облачную кассы выполняется регламентной операцией.
Блок-схема работы интеграции с облачной кассой (информация для программиста)
Некоторые особенности интеграции с облачной кассой
Сейчас наличие интернета почти так же важно для торговли, как электричество.
Основным риском при взаимодействии с арендованной кассой является зависимость от интернет соединения. Для минимизации сбоев связанных с сетью в случае неудачной отправки данных в облачную кассу нужно выполнять несколько повторов через 10-15 секунд. Для решения вопроса мы создали дополнительный регистр для чеков. Если облачная касса недоступна, чеки записываются в этот регистр и обрабатываются позже. Данные передадутся в ОФД, а покупатель получит электронный чек.
Сервис полностью не контролирует корректность переданных в облачную кассу данных. Например, нет проверки корректности переданного электронного адреса, существуют ограничения на использование некоторых символов. При разработке нужно внимательно относиться к проверке данных, которые вводит пользователь или оператор. Для решения этого вопроса мы сделали дополнительные проверки на корректность вводимой информации.
тема облачных касс интересная.
Покупка кассы — 8 000 р. (при условии что за год не сломается)
Аренда кассы — 1800*12=21 600 р/год
Облако более чем в 2 раза дороже выходит.
Тема однозначно интересная и не однозначная.
Было бы не плохо если автор добавит вид деятельности Заказчика.
Из статьи не понятно у заказчика интернет магазин, вендинговый бизнес или какое-то самообслуживание.
Не всем можно применять облачные кассы. В последней редакции закона сферы деятельности где можно применять облачные, а точнее в определениях закона «удаленные» кассы, чётко определены. Если ваш клиент попадает в число таких счастливчиков, то дальше можно спорить что лучше.
Покупка кассы за 8000 рублей — это фантастика! прибавьте сюда покупку ФН(фискального накопителя)((его кстати покупать при любом варианте, даже для облачных касс)), а вот услуги ОФД как правило входят в аренду касс, но для физической кассы оплачиваются дополнительно!
Если вы чеки на физической кассе печатать не будут, то и ломаться там не чему. Поставить ИБП на кассу и роутер — не проблема и даже самый дешевый будет долго резервировать электропитание.
Мы своим партнёрам советуем облачные кассы только в случаи большой пиковой нагрузки (несколько десятков тысяч чеков в час). Во всех других случаях рекомендуем покупать.
Сервис удаленных касс
Даже при покупке есть проблема: как или за счет какого программного обеспечения управлять кассой. Но и тут есть решения…
мы используем сервис
Из Вашей же схемы:
Получается, есть принтер чеков или устаревшая ККТ (не на обычном ведь принтере он печатается?), а это уже обслуживание+ремонт, тогда не дешевле будет заменить сразу на онлайн-кассу?
Прошу ответить в личку по стоимости такого внедрения
(5)тоже интересна стоимость самого внедрения))))
И вопрос к автору: ваше решение заточено под конкретный облачный сервис или несколько на выбор?
(4) В данном решении был принтер чеков и т.к. здесь покупка осуществляется без присутствия продавца, то онлайн-касса — не вариант. Сравнивать цены нужно для каждого конкретного случая, тогда будет понятнее как выгоднее.
Написал в личку!
(6) Делали решение используя API OrangeData
интересно, почему в перечне сервисов отсутствует атол-онлайн.
у себя реализовал интеграцию БП20,БП30 с api атол-онлайн.
(10) Добрый день ! Сейчас тоже стоит задача с Атол-онлайн интегрироваться, но в доступном виде (на сайте) нету описания API как получать, например свои Чеки в XML , что б грузить у себя в 1С автоматом. Позвонил им в тех поддержку — молчат ))
(11) звонить в ТП атола практически бесполезно. описание api доступно на сайтеhttps://online.atol.ru/lib/
(12) Спасибо,
Не нашёл информации по ВЫГРУЗКЕ чеков( нам необходимо получить, например за сутки все чеки в XML рег. заданием ) — и создавать у себя в базе.(есть у них кнопка скачать в CSV — но это уже ручками) )) GET — запросом пытался перейти по этой команде — но там куча КУКИ afqkjd — что очень ненадёжно и не верно…
Есть например ответ такого вида — об успешной фискализации. Но ни данных Чека, клиента , и тд. нету…Мне же нужно всё получить — Товары, клиента, ну, документ ЧекККМ в Рознице создать.
«uuid»: «2ea26f17–0884–4f08–b120–306fc096a58f»,
«error»: null,
«status»: «done»,
«payload»: {
«total»: 1598,
«ofd_inn»: «7709364346»,
«fns_site»: «www.nalog.ru»,
«fn_number»: «1110000100238211»,
«shift_number»: 23,
«receipt_datetime»: «12.04.2017 20:16:00»,
«fiscal_receipt_number»: 6,
«fiscal_document_number»: 133,
«ecr_registration_number»: «0000111118041361»,
«fiscal_document_attribute»: 3449555941
«ofd_receipt_url»: «https://consumer.1-ofd.ru/v1?fn=9288000100014915&fp=3004144185&i=10
8&t=20180522T122800&s=4500.00&n=1″
},
«timestamp»: «12.04.2017 20:15:08»,
«group_code»: » MyCompany_MyShop»,
«daemon_code»: «prod–agent–1»,
«device_code»: «KSR13.00–1–11»,
«external_id»: «TRF10601_1»,
«callback_url»: «»
}
(12)