QKkmServer — Печать 54-ФЗ чеков без проблем! Менеджмент касс. Мониторинг ФН. Все теги ФФД, в том числе маркировка и честный знак (1162)

















QKkmServer — это облачная очередь печати чеков в соответствии с 54-ФЗ. Кассовый модуль может быть установлен на любой ОС: Windows / Linux / RaspberryPI и управлять любой онлайн-кассой из семейства АТОЛ, Штрих-М, РР Электро, PayOnline, Казначей и т.п..
Система автоматически отслеживает технические показатели ККМ, ведёт статистику печати документов, уведомляет администратора системы о неполадках.
Для управления очередью предоставляется удобный RestAPI с заданиями в JSON. Можно использовать одну ККМ для обслуживания нескольких баз / магазинов одного юрлица.
Так же наше решение позволит забыть о проблеме медленной печати из терминального режима RDP-сессий.
Можно полностью отключить печать как чеков так и отчетов (в том числе и для АТОЛа!) — прекрасный вариант для интернет-магазинов, когда все чеки — электронные.

С приходом ОнЛайн касс остро встал вопрос о внедрении поддержки кассы в разные информационные системы. Мы предоставляем решение, которое соответствует всем современным требованиям, которые предъявляются к ОнЛайн кассам, а так же обеспечиваем удобные интерфейсы работы с кассами как для программиста: удобное API, набор примеров работы, консультирование в мессенджерах и по телефону; так и для администратора сети: отчеты по всем ККМ, уведомления об ошибках, автоматическое исправление логических ошибок в работе ККМ (если это возможно), уведомления о приближающемся сроке окончания действия фискального накопителя. Т.е. все те данные, которые могут понадобиться системному администратору в процессе инвентаризации кассовой сети.

Вся информация — в удобном виде в личном кабинете.

 

ВНИМАНИЕ, АКЦИЯ! 

Разработайте модуль интеграции с кассовым сервером и получите год бесплатного обслуживания!
Акция действует как для конфигураций 1С, так и для любых других систем (интернет-магазинов и т.п.)

Для работы с сервисом из интернет-магазинов предоставляется PHP-библиотека, которая доступна в загрузках.

 

Как организовать печать чеков

  1. на рабочее место кассира (или иной выделенный ПК к которому будет подключена ККМ) устанавливается компонента QKkmServer.NODE.
    Она выпускается для всех основных операционных систем Windows / Linux и RaspberryPI. Скачать можно из вложения.
    Установка производится стандартным для ОС способом:  установщик в Winodows и пакет в Linux.
    В самой программе указывается IP-адрес кассы или название(путь) к порту COM1 или /dev/ttyACM0 в зависимости от ОС.

    Замечание: если касса подключена по USB (Serial) в ОС Linux, то обязательно надо добавить пользователя в группу dialout, иначе у пользователя не будет прав на работу с serial-портом!

    sudo adduser USERNAME dialout
  2. Регистрируем организацию в личном кабинете.
    Ссылка на сайт будет предоставлена в письме при покупке подписки на сервис.
    Пожалуйста, указывайте правильный ИНН, т.к. в дальнейшем на его основании будут выставляться счета на оплату.

     
  3. Регистрируем NODE.
    Каждая НОДа имеет свой уникальный идентификационный код. Посмотреть его можно в меню About. Там же есть кнопка копирования идентификатора в буфер обмена.

     
  4. Для всех обслуживаемых касс необходимо прописать параметры по-умолчанию
    После регистрации НОДы система автоматически примет информацию о всех ККМ, которые подключены и обслуживаются этой НОДой.
    Каждая НОДа может обслуживать до 4-х ККМ в циклическом режиме.


     

  5. Для работы по 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-ти дней со дня поступления денег на наш счет.

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

Для возврата оплаты просто свяжитесь с нами.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *