Система автоматически отслеживает технические показатели ККМ, ведёт статистику печати документов, уведомляет администратора системы о неполадках.
Для управления очередью предоставляется удобный RestAPI с заданиями в JSON. Можно использовать одну ККМ для обслуживания нескольких баз / магазинов одного юрлица.
Так же наше решение позволит забыть о проблеме медленной печати из терминального режима RDP-сессий.
Можно полностью отключить печать как чеков так и отчетов (в том числе и для АТОЛа!) — прекрасный вариант для интернет-магазинов, когда все чеки — электронные.
С приходом ОнЛайн касс остро встал вопрос о внедрении поддержки кассы в разные информационные системы. Мы предоставляем решение, которое соответствует всем современным требованиям, которые предъявляются к ОнЛайн кассам, а так же обеспечиваем удобные интерфейсы работы с кассами как для программиста: удобное API, набор примеров работы, консультирование в мессенджерах и по телефону; так и для администратора сети: отчеты по всем ККМ, уведомления об ошибках, автоматическое исправление логических ошибок в работе ККМ (если это возможно), уведомления о приближающемся сроке окончания действия фискального накопителя. Т.е. все те данные, которые могут понадобиться системному администратору в процессе инвентаризации кассовой сети.
Вся информация — в удобном виде в личном кабинете.
ВНИМАНИЕ, АКЦИЯ!
Разработайте модуль интеграции с кассовым сервером и получите год бесплатного обслуживания!
Акция действует как для конфигураций 1С, так и для любых других систем (интернет-магазинов и т.п.)
Для работы с сервисом из интернет-магазинов предоставляется PHP-библиотека, которая доступна в загрузках.
Как организовать печать чеков
- на рабочее место кассира (или иной выделенный ПК к которому будет подключена ККМ) устанавливается компонента QKkmServer.NODE.
Она выпускается для всех основных операционных систем Windows / Linux и RaspberryPI. Скачать можно из вложения.
Установка производится стандартным для ОС способом: установщик в Winodows и пакет в Linux.
В самой программе указывается IP-адрес кассы или название(путь) к порту COM1 или /dev/ttyACM0 в зависимости от ОС.
Замечание: если касса подключена по USB (Serial) в ОС Linux, то обязательно надо добавить пользователя в группу dialout, иначе у пользователя не будет прав на работу с serial-портом!sudo adduser USERNAME dialout
- Регистрируем организацию в личном кабинете.
Ссылка на сайт будет предоставлена в письме при покупке подписки на сервис.
Пожалуйста, указывайте правильный ИНН, т.к. в дальнейшем на его основании будут выставляться счета на оплату.
- Регистрируем NODE.
Каждая НОДа имеет свой уникальный идентификационный код. Посмотреть его можно в меню About. Там же есть кнопка копирования идентификатора в буфер обмена.
- Для всех обслуживаемых касс необходимо прописать параметры по-умолчанию
После регистрации НОДы система автоматически примет информацию о всех ККМ, которые подключены и обслуживаются этой НОДой.
Каждая НОДа может обслуживать до 4-х ККМ в циклическом режиме.
- Для работы по RestAPI необходимо сформировать секретный ключ магазина. Для этого воспользуйтесь меню "Ключи API"
* отображенный ключ создан на демо-стенде и не может использоваться в работе
На этом настройка Кассового сервера завершена.
Печать чеков из внешней системы (добавление чеков в очередь)
Примечание. В рамках данной статьи нельзя указывать адрес сайта проекта. Поэтому он будет заменён на $(SERVER}. В дальнейшем это значение достаточно будет заменить и получится рабочий скрипт.
Каждая касса имеет свой уникальный идентификатор. Все задания маркируются: на какой кассе (с каким идентификатором) следует исполнить задание. В тексте примеров это будет переменная ${CreItemID}.
Каждый запрос необходимо дополнить заголовками:
Content-Type: application/json;charset=UTF-8
X-Api-Key: секретный_ключ_магазина (его сформировали в пункте 5 настройки сервера)
Адрес API для помещения задания в очередь
https://api.${SERVER}.ru/open/api/v1/print-documents
Адрес API для проверки исполнения задания
https://api.${SERVER}.ru/open/api/v1/print-documents/${object.id}
${object.id} — идентификатор задания в очереди.
Команды RestAPI:
Открыть смену
Печать чека
{
"commands":[
{
"amountElectronic":"10.34",
"isPrintable":true,
"lines":[
{
"ppr":"goods",
"price":"10.34",
"psr":"full_settle",
"quantity":"1.0",
"tax":"vat_20",
"title":"Сигареты",
"total":"10.34",
"tags":[
{ "id":"1162", "type":"array", "value":" 15 20 04 36 03 BE F5 14 73 67 45 4b 4b 50 50 63 53 32 35 79 35"}
]
}
],
"sno":"sno_ysn_dmr",
"tagCashierINN":"123456789047",
"tagCashierName":"asdfsdafsa",
"tagClientContact":"user@mail.ru",
"tagClientINN":"123456789047",
"tagClientTitle":"ИмяКлиента",
"type":"sale"
}
],
"creItemId":"${CreItemId}"
}
type (строка): тип чека. Доступные типы чеков: "sale", "returnSale", "buy", "returnBuy"
lines (массив): содержит строки товаров
Суммы и типы оплат:
amountCash — сумма оплаты наличными
amountElectronic — сумма оплаты картами
amountPrepaid — предоплата
amountCredit — сумма кредита
amountIncoming — встречным предложением / взаимозачетом.
Суммы оплат могут использовать в сочетании друг с другом.
ppr (строка): признак предмета расчета. Основные значения приведены в таблице. ИФНС постоянно пополняет данный перечень. Если Вы не нашли нужного значения — обратитесь в техподдержку, скорее всего мы его уже добавили, но в документации ещё не отобразили:
goods |
Товар |
excise_goods |
Подакцизный товар |
job |
Работа |
service |
Услуга |
bet_in_game |
Ставка в игре |
winning_in_game |
Выигрыш в игре |
lottery_ticket |
Лотерейный билет |
lottery_winning |
Выигрыш в лотерее |
ipr |
Результаты интеллектуальной деятельности |
payment |
Платёж |
composite |
Составной предмет расчёта |
agent_commission |
Агентское вознаграждение |
other |
Иной предмет расчёта |
psr (строка): признак способа расчета. Значения приведены в таблице
prepayment_100 |
Предоплата 100% |
prepayment |
Предоплата |
advance |
Аванс |
full_settle |
Полный расчёт |
credit |
Частичный расчёт и кредит |
credit_transfer |
Передача в кредит |
credit_payment |
Оплата кредита |
price (строка): Стоимость товара в виде десятичного числа записанного строкой. Числа больше 2-х знаков после разделителя (принимается как точка, так и запятая) число округляется до 2-х знаков по правилам математики
quantity (строка): Количество товара. Может содержать до 3-х знаков после разделителя. Далее округляется.
tax (строка): применяемая к позиции чека ставка налога. Возможные значения:
vat_none |
Без НДС |
vat_0 |
НДС 0% |
vat_10 |
НДС 10% |
vat_20 |
НДС 20% |
vat_110 |
НДС 10/110 |
vat_120 |
НДС 10/120 |
title (строка): печатаемое наименование товара (услуги). Длина строки до 250 символов — ограничение ФФД.
total (строка): итоговая стоимость по строке
tags (массив): массив тегов в соответствии с ФФД (не обязательная секция)
tags.id (число): номер тега
tags.type (строка): тип данных, передаваемых в теге ""string", "byte", "int16", "int32", "double" и "array"
tags.value (строка): записываемое в тег значение. Для массива используется шестнадцатиричное представление, разделение чисел пробелами. В примере передан тег 1162 "честный знак" для табачной продукции.
sno (строка): какую систему налогообложения применить к чеку
sno_osn |
ОСН |
sno_ysn_d |
УСН Доходы |
sno_ysn_dmr |
УСН Доходы — Расходы |
sno_envd |
ЕНВД |
sno_esn |
ЕСХН |
sno_psn |
Патентная СНО |
tagClientContact (строка): адрес электронной почты или телефон для отправки электронного чека. Обязательно должно присутствовать, если isPrintable установлено в значение false.
tagClientINN (строка): ИНН клиента. Не является обязательным для физических лиц. Рекомендуется к указанию для организации.
tagClientTitle (строка): наименование клиента. Рекомендуется ФФД 1.05 для указания при расчетах с юрлицами.
Общий формат чека
{
"creItemId": идентификатор кассы в системе,
"commands": [
{
"type": "sale",
"isPrintable": true,
"sno": идентификатор системы налогового обложения,
"tagCashierName": имя кассира,
"tagCashierINN": ИНН кассира,
"tagClientTitle": Получатель (1227),
"tagClientContact":Телефон покупателя (1008),
"tagClientINN": ИНН покупателя (1228),
"tagSaleLocation" : Адрес оформления чека (1187),
"tagAgentType": признак платежного агента (1057),
"tagTransferServiceOperatorContact": телефон оператора перевода (1075),
"tagAgentOperator": оператор агента (1044),
"tagAgentContact": телефон платежного агента (1073),
"tagPayeeServiceOperatorContact": телефон оператора приема платежа (1074),
"tagTransferServiceOperatorTitle": оператор перевода (1026),
"tagTransferServiceOperatorAddress": адрес оператора перевода (1005),
"tagTransferServiceOperatorINN": ИНН оператора перевода (1016),
"lines": [
{
"title": название товара (1030),
"price": цена (1079),
"quantity": количество (1023),
"total": стоимость (1043),
"tax": название налога из таблицы tax (????),
"ppr": признак предмета расчета из таблицы ppr (1212),
"psr": признак способа расчета из таблицы psr (1214),
"tagAgentType": признак агента по предмету расчета (1222),
"tagServiceProviderINN": ИНН поставщика (1226),
"tagServiceProviderContact": телефон поставщика (1224:1171),
"tagServiceProviderTitle": Наименование поставщика (1224:1171),
"tagExcise": сумма акциза,
"tagCountry": код страны импорта,
"tagGtdNumber":номер ГТД,
"tags":[
{
"id":"код тега по ФФД",
"type":"тип тега aaray | byte | int16 | int32 | double | string ",
"value":" 15 20 04 36 03 BE F5 14 73 67 45 4b 4b 50 50 63 53 32 35 79 35"
}
]
}
],
"amountCash": сумма наличными (1031),
"amountElectronic": сумма безналичными (1081)}
]
}
Печать чека коррекции
Печать текста, слип-чеков, QR-кода, протяжка ленты
Отчет без гашения (X-отчет)
Внесение денег и инкассация
Закрыть смену (Отчет с гашением)
Причины купить
Несмотря на многообразие подобных решений, каждый администратор, разработчик выбирает решение "по-себе".
Для кого-то основным фактором является "долгожительство" проекта — мы старожилы. На рынке уже почти 10 лет. Начинали с интеграции касс для терминалов приема платежей, подключали к DOS-программам и т.п. Таким образом накопили богатый практический опыт, которым делимся с нашими клиентами.
Кто-то смотрит на технологичность решения: мы используем самые передовые технологии для построение действительно безотказной системы фискализации.Это и интеграция с использованием RestAPI, и шифрование SSL-сертификатами, и постоянный мониторинг кассовых устройств, и система уведомлений, и защита от повторных транзакций и… … много чего ещё полезного и необходимого в администрировании насыщенного парка ККМ
Для кого-то критична техподдерка: тут так же всё на высоте. Коллекция документации, сообщества в соцсетях, персональная помощь по телефону, мессенджерам и почте. Доработка как нашего, так и стороннего ПО на заказ (при наличии такой возможности). Обращайтесь и мы с радостью обсудим проект.
Бюджет. Это критично всегда. Мы предлагаем систему корпоративного уровня по цене 1-2 чашек кофе в месяц. Это совершенно небольшая стоимость при условии что остановившаяся касса приносит гораздо больше убытков как финансовых, так и репутационных. Наша служба менеджмента касс не только уведомит о случившемся инциденте, но так же постарается заранее предупредить о возможной аварийной ситуации.
Кстати, для любых проектов у нас имеется система скидок. Чем больше касс в проекте, тем больше размер скидки.
Достоинства
- Наше программное обеспечение позволяет организовать печать чеков по единому протоколу, который не зависит от марки/модели кассы. Это JSON, который позволяет максимально гибко описывать кассовые документы и визуально человеко-читаем.
- Мы постарались собрать все диагностические данные от касс в одном месте, организовав единый центр контроля за кассами. Данный функционал постепенно дорабатывается, но уже сейчас можно получить отчет о состоянии ККМ, статусе фискального накопителя и т.п.
- Высокая стабильность кассового модуля, отказоустойчивость. Работа в условиях плохих каналов связи с одинаково корректным результатом.
- Нативная поддержка разных операционных систем. Нами написан код управления кассами, который компилируется под каждую целевую платформу. Мы не используем программы-имитаторы типа wine для работы в ОС Linux. Вы всецело используем возможности ОС напрямую, достигая тем самым высокой скорости печати чеков и надежности решения.
- Полная кросс-платформенность. Если необходимая Вам ОС не представлена в списке поддерживаемых, то мы рассмотрим вопрос о сборке пакета именно под ваш дистрибутив.
- Успех программы — это результат труда ряда высококлассных специалистов. Мы гордимся своей техподдержкой, т.к. она компетентна не только в технических вопросах, но и хорошо разбирается в аспектах применения 54-ФЗ на практике.
Сравнение версий
В версии 5.19.12.06
1. Оптимизирована скорость работы по печати слипа за счет вынесения в команду startSlip команд по включению принтера (если отключен) и проверки состояния ККТ. Теперь для БСО (нефискальной части) все проверки выполняются в секции startSlip и потом анализируются уже только результаты текущих команд.
2. В команде printQR добавилась опция size от 3 до 8 — размер точки (масштаб) QR-кода
3. Корректные ответы, если кассы с ИД нет (некорректный ИД), касса не активирована (не лицензирована) на сервере (для JSON-API через файлы)
4. Поддержка именных тегов для операций с агентами
Гарантия возврата денег
ООО «Инфостарт» гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.
Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.
Для возврата оплаты просто свяжитесь с нами.