Интеграции Abonement
- Интеграция iiko и Абонемент / Shelter
- Интеграция Абонемент и RK7 через Farcards
- "Честный знак" и GTIN из RK7 в Абонемент
- Rkeeper - Продажа в кредит. Оплата кредита в Абонементе.
Интеграция iiko и Абонемент / Shelter
Описание интеграции iiko и Абонемент / Shelter.
Структурная схема связки выглядит следующим образом:
Структура взаимодействия модулей и программ.
iiko при оплате на специальным платежом обращается к Connecter, который обращается к ShelterConnect.dll, которая работает с базой данных Абонемент/Shelter.
Используемые версии ПО:
- Версия ПО Абонемент: 1.134
- Версия Connecter: 1.64
- Версия iiko: 5.5
Лицензирование.
Команды для закрытия из iiko защищены ключом, необходимо иметь проект 2 модуль 12 в используемом ключе защиты. До момента доработки плагина от iiko - нужен проект 1 модуль 2.
Необходимые файлы в папке с Connecter.exe.
- SCRK6530.dll
- ShelterConnect.dll
- ShelterConnect.ini
Используются те же файлы, что и при интеграции с RKeeper 7, приложены к статье (ShelterRK7.rar) и есть с сборке FullVersion Абонемент.
Настройки iiko.
Выполняются специалистами, устанавливающими iiko (https://ru.iiko.help/articles/#!special-iiko/ucsshelter)
Плагин от iiko: http://rapid.iiko.ru/plugins/Smart%20UCSShelter/V5/
Настройки Connecter.
- Выполнить стандартные настройки Connecter.
- Connecter Должен быть настроен на БД, в которую будет осуществляться закрытие.
- В секции [Charset] необходимо установить параметр UseUrlEncode=0.
Настроить секцию [HotelInterface]
[HotelInter face]
HotelInterFaceDllname=D:\connecter\SCRK6530.dll
enabled=1
FolioMask=0
Настройки ShelterConnect.
[Database]
dbname=%Путь до БД Абонемент/Shelter%
DBuser = UCS
DBpassword = oQKH8n0BFUE=
[ExternalClient]
ClientID = 1 - код shelterconnect'a, если используются несколько ShelterConnect.DLL
IdentPhysType = 200 - Тип устройства: 2-магнитные карты, 200-замок,ключ
ConvertOperationNeed = 1 - 0- не использовать секцию [TranslateOperation], 1- использовать секцию
ToOEM = 1
NeverRestrictTransaction = 1 - 0- проверять баланс фолио перед совершением транзакции, 1- не проверять баланс перед совершением транзакции
FolioMask = $04 - Фиксированное значение. Устанавливается UCS. Не трогать!
ShowBalance = 1
ShowBalanceFirst = 1 - 1 — при запросе разрешенной суммы оплаты добавлять к имени клиента текущий баланс, 0 - не добавлять
ShowPermissibleSumAsBalance = 1
[log]
FileName = ShelterConnect.log
Level = 40
DebugLevel = 40
[GarbageCollector]
Enabled = 0
LifeTime = 120
[SCRK6]
UseDetails = 0
AlcoholicOperation =999;
Messages =SCRK6.eng.msg
UseScreenHeader0 =0
UseScreenHeader1 =0
UseScreenSequelCode =0
ShowBalance = 1
ShowBalanceFirst = 1
ShowBalanceEverywhere = 1
UseSuperDetails = 1
RoomInfoMode = 3
[PARAMS]
NoAutoDiscount = 1
Section =0
UseSection =1
[TranslateOperation]
; ЧТО_ПРИХОДИТ_ИЗ_iiko=КОД_УСЛУГИ_В_АБОНЕМЕНТЕ
1=301
[TranslatePayment]
1111 = 70996,НАЛ
Реализованный функционал:
Кейс |
Результат |
Закрытие по номеру ФОЛИО |
После ввода номера фолио в iiko отображается гость, администратор визуально идентифицирует его по фотографии и подтверждает. Заказ закрывается, на фолио гостя начисляется услуга. При просмотре внешнего чека можно увидеть подробную информацию о заказе. |
Закрытие на номер по номеру карты гостя |
После ввода номера карты гсотя/считывания карты гостя в iiko отображается гость, администратор визуально идентифицирует его по фотографии и подтверждает. Заказ закрывается, на фолио гостя начисляется услуга. При просмотре внешнего чека можно увидеть подробную информацию о заказе. |
Закрытие по номеру карты поселения |
После ввода номера карты поселения/считывания карты поселения в iiko отображается гость, администратор визуально идентифицирует его по фотографии и подтверждает. Заказ закрывается, на фолио гостя начисляется услуга. При просмотре внешнего чека можно увидеть подробную информацию о заказе. |
Закрытие по номеру комнаты |
После ввода номера комнаты в iiko отборажается проживающий в ней гость, администратор визуально идентифицирует его по фотографии и подтверждает. Заказ закрывается, на фолио поселения начисляется услуга. При просмотре внешнего чека можно увидеть подробную информацию о заказе. |
Закрытие на незаселенный номер |
После ввода номера в iiko отбражается соответствующая ошибка. |
Закрытие на номер комнаты с несколькими проживающими |
После ввода номера комнаты в iiko отборажаетсясписок проживающих в ней гостей. Если проживающие заселены местами и у каждого собственное фолио, то заказ будет закрыт на фолио поселения выбранного гостя, иначе - на общее фолио поселения. |
Закрытие с разными TRANSACTION_ID |
В iiko есть возможность настроить передачу различных TRANSACTION_ID для начисления разных услуг на фолио, например "Бар" и "Кухня". Как настроить необходимо уточнять у специалистов iiko. |
Отмена чека |
При отмене чека создается соответствующая корректирующая транзакция на целевом фолио. |
Закрытие на фолио с недостатком баланса |
При попытке закрыть заказ iiko сообщает об ошибке |
Закрытие со скидкой |
При закрытии чека со скидкой можно увидеть соответствующую информацию (полную стоимость, сумму и название примененной скидки) при просмотре внешнего чека. |
Недочеты, которые будут устранены в ближайшее время: при нехватке средств на фолио, ошибка не отображается в читабельном виде, вместо нее отображается "SCRK6/6.0.1: Ok".
Просмотр внешнего чека (Shelter).
Для просмотра внешнего чека используется rk6check.fr3 (включена в базовую поставку Shelter актуальных версий).
Для корректного отображения содержимого чека iiko необходимо:
1. В ..\Firebird\udf\ скопировать shrk6udf.dll и shrk6udf.ini (эти файлы можно найти в базовой поставке FullVersion актуальных версий)
2. В shrk6udf.ini настроить так:
[heap]
oemtochar=1
[CheckXML]
decodeType=0
3. Перезапустить службы FireBird, выполнить закрытие на номер, проверить результат.
Интеграция Абонемент и RK7 через Farcards
Интеграция RK7 с Абонементом представляет собой следующую структурную схему (рис.1)
Рисунок 1
RKeeper при оплате на специальную валюту, например, "Закрытие на фолио Абонемента" в категории "платежные карты" обращается к FarCards, который вызывает подключенную к нему sdmHTTPFarCard.dll. Последняя dll обращается к ключу защиты и если лицензия найдена (проект 2 модуль 11), отправляется XML запрос на TCP/IP сервер - программу HTTPRKtoSH. Этот сервер обращается к базе данных через библиотеку ShelterConnect.dll
Интеграция проверялась на версии Абонемента 145+ с версией RK7 7.6.5.475.
- Версия FarCards 6.04
- Версия HttpToSH 1.5.0.1
- ShelterConnect 1.9.0.3
- sdmHTTPFarCard.dll 1.17.0.5
Новая схема работы связки с продажами в кредит. Rkeeper v7.25.04.001 + Абонемент v148 по ссылке:
Подготовка утилит
1. FarCards
FarCards устанавливается на любом компьютере в одной сети с кассой и кассовым сервером. Если модуль лицензии прописан в одном ключе с Абонементом, то FarCards обязательно устанавливается на машину, где установлен этот ключ, как правило это сервер, в противном случае необходимо в настройках будет указать ip/port в секции [LOCK.SERVER] машины, где установлен сервер блокировок.
Настройка FARCARDS.INI
[FarServer]
Type = 1
DLL = sdmHTTPFarCard.dll
Gate = 1
log = 30
XMLCP=1251
[LinkDLL]
1 = pds_netk
[pds_netk]
NetServerName=rk_first
ininame=netk.ini
DebugMessages=1
NetServerName - серверное имя. Оно понадобиться в настройках PDS интерфейса RK7.
2. sdmHTTPFarCard.dll
[PARAMS]
ClientCode = HOTEL
UserCode = UCS
UserPwd = 12345
LangCode = RU
[SERVER]
Port =2277
Host =127.0.0.1
[LOCK.SERVER]
TCPHost = 81.94.140.196
TCPPort = 1116
Project = 2
Module = 11
[LOG]
FileName=HTTPFarCards_AB.log
Level = 100
DebugLevel = 100
3. HTTPRKtoSH.exe
[SERVER]
Port = 2277
RKInterfaceID=7
AllCheckToHotel = 1
IdentPhysType = 2
Autostart = 1
Autohide =1
[LOG]
FileName = C:\UCS\AbRK7_Example\HTTPtoAB\LOG\HTTPRKtoSH.log
Level = 30
DebugLevel =30
ByMonthes = 1
ByDays = 1
ByHours = 1
[MAIN]
messages=errors.msg
Секция [SERVER]
Port - порт, на который будут прилетать данные из sdmHTTPFarCard
RKInterfaceID - Код интерфейса в RK7
4. ShelterConnect.dll
ShelterConnect.ini настроечный файл ShelterConnect.dll, который управляет тем, в каком формате данные будут переданы во внешнюю систему.
[Database]
DBname = 81.94.140.196/3080:D:\Base\Garbage\n.kamyshnikova\Vpark2\FITNESS145.FDB
DBUser = ucs
DBPassword = oQKH8n0BFUE=
[ExternalClient]
ClientID = 1
IdentPhysType = 2
ConvertOperationNeed = 1
ToOEM = 0
NeverRestrictTransaction = 1
FolioMask = 1
ShowBalance = 0
ShowBalanceFirst = 0
RoomInfoMode =4
TransSection =0
ConvertOperationType=1
[log]
FileName = ShelterConnect.log
Level = 100
DebugLevel = 100
[GarbageCollector]
Enabled = 0
LifeTime = 120
[SCRK6]
AlcoholicOperation =999
Messages =sc.msg
UseScreenHeader0 =1
UseScreenHeader1 =1
UseScreenSequelCode =1
ShowBalance = 1
ShowBalanceFirst = 1
ShowBalanceEverywhere = 1
UseDetails = 1
UseSuperDetails = 1
[TranslateOperation]
1 = 888
3 = 888
[TranslatePayment]
1 = 1005,910
1000632 = 1005,901
8 = 1005,901
3 = 1005,901
;[Abonement]
;AbonementIdentCheckResource =ID_RESOURCE
[params]
Balance_ExtraParamStr = &USE_ABON_FREEBALANCE=1
Секция [DataBase] - параметры подключения к БД Абонемент
[ExternalClient]
ClientID = 1
IdentPhysType = 2 - тип физической карты в Абонементе
ConvertOperationNeed = 1 - использовать секцию [TranslateOperation]
ToOEM = 0 - настройка кодировки
NeverRestrictTransaction = 1 - ( разрешить закрывать на фолио выше кредитного лимита клиента) (баланс в RK будет отображаться, как 99999999999)
FolioMask = 1 - разрешить поиск по фолио ( в рк при оплате на фолио вместо карты можем ввести F#### ( #### - номер фолио))
ShowBalance = 0 - отобразить баланс гостя
ShowBalanceFirst = 0 - отобразить баланс гостя в начале
RoomInfoMode =4 -
TransSection =0
ConvertOperationType = 0 -сопоставление кода группы станций с кодом услуги в Абонементе
=1 -сопоставление кода категории заказа с кодом услуги в Абонементе. (закрывать разные категории заказа на разные услуги, для случаев разных юр.лиц)
Секция [SCRK6] не работает при данной схеме связки. Некоторые аналогичные параметры можно использовать в [ExternalClient]
[TranslateOperation]
;Таблица соответствия Кода кассовой станции r_k и создаваемой в Абонемент услуги.
Код можно посмотреть в RK7
Код услуги в Абонементе.
Настройки на стороне RK7
Все настройки производятся в станции менеджера.
1. Настройка кассовой станции и устройства (Сервис - Станции и устройства)
Добавляем в устройства PDS интерфейс.
2. Настройка интерфейса (Сервис - Интерфейсы)
Добавить новый интерфейс. Назовем его RKtoAbonement. См рис. 3 В данном интерфейсе указываем , ранее заведенный PDS interface#1. Код интерфейса нужно запомнить и прописать в файле HTTPRKtoSH.ini. См. настройки HTTPRKtoSH.exe.
Для передачи ППР позиций меню в Абонемент (с версии 136) и последующей печати их в чеке, необходимо в параметр интерфейса xml dish attributes установить как: 2560.ItemKind (Начиная с версии 7.6.5 необходимо поставить 2560.ItemKind.ItemIdent, иначе при передаче вместо значения ППР будет передаваться его GUID)!!!!
xml dish attributes = 2560.ItemKind.ItemIdent
Общая информация по полю XML dish attributes
Для того, чтобы определить из какого справочника запрашивается информация:
для этого:
1. Из строки вида 2560.ItemKind выделяем первое число - 2560
2. Нацело делим число на 256:
3. 2560 mod 256 = 10 - это идентификатор справочника, в данном случае - это MenuItems. (Идентификатор справочников можно посмотреть в таблице REFTABLES)
В полученном справочнике ищем поле ItemKind. Если поле не является ссылочным, то править ничего не нужно, должны выводиться данные из указанного поля.
Если поле ссылочное (можно определить по таблице REFLINKS по комбинации код таблицы+ название поля - если такая комбинация есть в таблице REFLINKS, то поле ссылочное, иначе - нет), то через точку можно получить значения полей из таблицы, на которую ссылается поле.
В рассмотренном примере поле ItemKind ссылается на таблицу с кодом 41 - это ENUMSTYPESDATAS.
Поля, которые можно получить из этой таблицы можно посмотреть xml запросом:
<?xml version="1.0" encoding="UTF-8"?> <RK7Query> <RK7CMD CMD="GetRefData" RefName="ENUMSTYPESDATAS" /> </RK7Query> Если не задано выводимое поле, то выводится guidString (начиная с версии 7.6.5). Если нужно выводить какое-то другое поле, то его нужно указать через точку.
Например:
2560.ItemKind.ItemIdent
Подготовка XML для передачи в GetCardInfo или Transaction
Xml состоит из нескольких частей, формирующихся в разных модулях. Итоговый xml собирается конкатенацией строк отдельных тэгов в модуле MIDSERV\intfcash.pas->GetXMLText
CHECKDATALink to CHECKDATA
Тэг CHECKDATA со всем содержимым формируется в модуле MIDSERV\ReceiptXML.pas. В CHECKDATA попадают не удаленные строки с блюдами, оплатами/предоплатами и скидками заказа.
Информация делится на данные о блюдах (тэг CHECKLINES), кастомных свойствах заказа (тэг ORDER - в текущий момент закоментирован) и данных по актуальному чеку (все остальные тэги).
Блок может быть пустым: например при проверке баланса карты.
EXTINFO - INTERFACESLink to EXTINFO - INTERFACES
Тэг INTERFACES формируется в модуле MIDSERV\intfcash.pas. В этом тэге указывается карта, добавление которой вызвало операцию, и все карты, добавленные с использованием текущего интерфейса в заказ. При добавлении карты в заказ она не выводится в блоке всех карт, т.к. выполняется только проверка на ее добавление.
Настройки, влияющие на формирование xmlLink to Настройки, влияющие на формирование xml
Xml dish attributes
Формат заполнения:
[Код справочника].[Имя поля]
[Код справочника].[Название поля - ссылки на справочник].[Имя поля]
Можно указать сразу несколько значений, разделенных переносом каретки
где Код справочника - код справочника в Class Infos
Код справочника = RefNo*256+Num. Если Num не указан, то он считается нулевым
Например:
<Rec RefNo="10" Group="3" GUIDString="{E4D77859-5120-486E-A10D-EAB2650584BD}" ciNameOfClass="TRK7MenuItem" ciUserName="Menu Item" ciUserPlName="Menu Items" ciOptions="3" ciNamesUnique="1" ciParentPowCode="1">
10 * 256 + 0 = 2560 - TRK7MenuItem
При заполнении этого параметра в тэге CHECKDATA добавляется дочерний тэг ATTRS. В нем выводится:
type_id - гуид справочника (из ClassInfos)
type_name - Название справочника (из ClassInfos)
key_id - guid промежуточного справочника (из ClassInfos)
key_name - Название промежуточного справочника (из ClassInfos)
value - значение поля
Output mode of non-fiscal payment in xml
Этот параметр отвечает за формат вывода оплат валютами, которые должны печататься как скидки.
Если выбрано значение Write as discount, то такие оплаты будут выводиться, как скидки
Если выбрано значение Write as payment, то такие оплаты будут выводиться, как оплаты не смотря на настройки самой валюты
3. Настройка обработки сигналов. (Сервис - Обработка сигналов и устройств - MCR алгоритм
Указываем тип «Интерфейс». Объект Интерфейс RKtoAbonement, заведенный в пункте 2.
Если указать тип «Валюта», то будет ошибка 232: "Не получается напечатать чек: Персональное ограничение для "" = 0.00."
Можно завести несколько интерфейсов для разных типов идентификаторов. Сделаем два интерфейса, один карт E-Marine и другой для Mifare. Они будут отличаться только названием и содержимым скрипта.
Пример скрипта под E-marine
function MCR1000636(DeviceSignal: Integer; DeviceIdent: Integer; var Parameter: String): Boolean;
var RestCode: integer;
i, j, t1, t2, S, res1: Integer;
hex, resulttext: string;
begin
Result := false;
if pos('Em-Marine',Parameter)>0 then
begin
i := pos(']',Parameter);
j := pos(',',Parameter);
resulttext:=copy(Parameter,i+2,3);
resulttext:=resulttext+copy(Parameter,j+1,5);
Result := true;
Parameter:=resulttext;
end;
end;
Пример скрипта под Mifare
function MCR1000637(DeviceSignal: Integer; DeviceIdent: Integer; var Parameter: String): Boolean;
var RestCode: integer;
i, j, S: integer;
res1, t1, t2: int64;
hex, resulttext: string;
begin
Result := false;
if pos('Mifare[',Parameter)>0 then
begin
i := pos('[',Parameter);
j := pos(']',Parameter);
Parameter := copy(Parameter,i+1, j-i-1);
if length(Parameter) > 0 then begin
Result := true;
res1:=strtoint64('$'+Parameter);
Parameter:= Int64ToStr(Res1 and $FFFFFFFF );
end;
end;
end;
4. Настройка валюты (Деньги - валюты)
Заводим валюту в платежных картах. В названии НЕ используем кавычки "".
Так же можно установить наценку для чаевых и чаевые будут передаваться в Абонемент и отдельно там фиксироваться - НЕ ТЕСТИРОВАЛОСЬ.
5. Отображение кнопки оплата картой
Также для отображение кнопки оплаты в интерфейсе кассы необходимо будет настроить параметр оплата платежной картой, который находится в настройках менеджера. (Настройки - параметры - параметры работы станции - редактирование заказа - расчет/оплата заказа - оплата платежной картой, в свойствах поле "значение" установить "спрашивать" )
Настройки параметра отображения выглядит так:
Проверка настройки оплаты
Открываем кассовую станцию, создаем заказ и начисляем блюдо.
Нажимаем на оплатить.
Выбираем платежные карты
Нажимаем на созданную валюту, в нашем случае Abonement
Вводим идентификатор или номер фолио (рис А. идентификатор, рис. Б фолио)
Рисунок А.
Рисунок Б.
После ввода нажимаем на галочку и должны увидеть карточку клиента.
В нашем случае клиент с фолио номер 1598 это IIKO Maylo Maskovich. В зависимости от настройки утилит можно увидеть его реальный баланс. В нашем случае стоит параметр в утилитах на безлимит. Нажимаем на "оплата картой".
Подтверждаем наше действие. После успешной оплаты мы возвращаемся на стартовый экран. Либо мы должны увидеть ошибку в области обозначенной желтым цветом.
Проверить начисление мы можем, зайдя на фолио клиента в Абонементе.
На фолио должна появится услуга с указанным кодом в ShelterConnect.ini, которая заранее заведена в Абонементе.
"Честный знак" и GTIN из RK7 в Абонемент
Базовая настройка связки: Интеграция Абонемент и RK7 через Farcards
Инструкции ПО Абонемент для работы с "Честным знаком":
- Настройка кодов и сканера
- Разрешительный режим
- АТОЛ. "Честный Знак"
- Модуль работы с маркированной продукцией "Честный Знак"
Появилась возможность проверки марки "Честный знак" в чеке, полученном из Rkeeper. Появилась возможность проверки GTIN и атрибутов объемно-сортового учета в чеке, полученном из RK.
В Режиме HoReCa при продаже пива к блюду будет добавляться модификатор Объемно сортового учета с GTIN марки кега. И будут использованы следующие отраслевые атрибуты:
"tag1262": "030"
"tag1263": "26.03.2022"
"tag1264": "477"
"tag1265": "mode=horeca"
Для тега 2108 https://www.consultant.ru/
Заполняется тег 2108 (параметр QuantityUnitType).
Постановка кега на кран и настройка связи r_keeper с Честным знаком происходит при помощи сервиса rkDExch.
Основные требования
РЕГИСТРАЦИЯ, ПРОШИВКА И ПО ФИСКАЛЬНОГО РЕГИСТРАТОРА ДОЛЖНЫ СООТВЕТСТВОВАТЬ ДАННОМУ РЕЖИМУ РАБОТЫ!
ФР должен быть зарегистрирован для продажи подакцизных и маркированных товаров и работы с объемно-сортовым учётом.
ПО Абонемент | 147 версия |
Лицензия | 5-9 Абонемент модуль Продажа маркированной продукции "Честный Знак" |
ПО Rkeeper | 7.07.00.339 |
URunPos.dll | 2.13.0.6 |
fpRU_AtolDTO.dll | 7.72.122 |
fpShtr54.dll | 7.72.184 |
HTTPRKtoSH.exe | 1.6.0.1 |
sdmHTTPFarCard.exe | 1.17.1.5 |
ServerT1 | 2.3.20.3 |
Актуальные драйвера ККТ |
Атол или Штрих. (x32) |
Настройки
URunPos.ini
[Main]
VolumeQuantityUnitType=41
Abonementmanager.ini
(добавить регулярное выражение)
[TrueMark.RegExp]
;Регулярные выражения на проверку соответствия трека Честному знаку
; Если список не пустой, то он используется в первую очередь. Смотри также RegExpListFillMode
0=(0(\d{13}))(){1,14}$
В общих настройках на вкладке "Услуги и платежи" установить параметр "Использовать детализацию внешнего чека".
В режиме RK Horeca Абонемент с целыми литрами пива не работает совсем. Решение - продавать не целыми литрами, а по 100 мл, 200 мл, 300 мл, 500 мл, 1500 мл и т.п.
От RK требуется, чтобы в настройках все объемно-весовые товары были только в литрах
У них в инструкции это четко сказано. https://docs.rkeeper.ru/rk7/latest/ru/realizatsiya-v-rozliv-piva-i-slaboalkogol-nyh-napitkov-v-r_keeper-100335925.html
Результат
Пример корректно переданного чека
ВОЗВРАТЫ
Делаем аннулирование или удаление чека через RKeeper.
Таким образом на фолио в Абонемент падает корректирующая транзакция услуги. Проверка марки не производится.
Платеж становится нецелевым.
В Абонементе производим возврат только платежа.
Rkeeper - Продажа в кредит. Оплата кредита в Абонементе.
Правила оформления чеков при продаже в кредит
Изменения в порядок применения контрольно-кассовой техники внесены Федеральным законом 54-ФЗ ст. 1.2 п.5.11.
Работа с чеками намерения поддержана с версии r_keeper 7.25.02.2+
Правило оформления чеков при продаже в кредит: Кредитор в момент оплаты заказа формирует на кассе чек с операцией «Приход» и признаком способа расчета (ПСР) «Кредит»/«Частичный расчет и кредит» и суммой приобретенного права требования долга. Обращаем ваше внимание, что чек формируется именно на сумму задолженности покупателя. После погашения долга (кредита) покупателем (оговоренным ранее способом) кредитор формирует на кассе чек с признаком способа расчета «Оплата кредита».
Закрытие чека происходит на стороне ПО Абонемент. Инструкция настройки связки:
Интеграция Абонемент и RK7 через Farcards
Rkeeper настраивается в соответствии с инструкциями:
Продажа в кредит
Чек намерения (Чек до оплаты с 1.03.2025)
Для работы с маркированной продукцией валюты также необходимо настроить, как продажу в кредит. То есть на валюте закрытия на фолио в свойстве Налоговая льгота выбрать значение Кредит, а в разделе Фискальные типы для фискального регистратора выставить значение, соответствующее продаже в кредит. Это позволит формировать фискальный чек на стороне r_keeper, следовательно, передавать все необходимые данные по маркированной продукции.
Требования:
- Фискальный регистратор на кассе Rkeeper и на кассе Абонемента.
- ПО Абонемент v148
- Rkeeper v7.25.04.001 +
- Farcards v6.05
- ShelterConnect.dll 1.9.0.3
- sdmHTTPFarCard.dll 1.17.1.5
Новые настройки ПО Абонемент
Настройки -> Общие параметры -> Вкладка "Услуги и платежи"
В группе 'Форматы фискальных данных (ФФД)' появилась подгруппа 'Внешний чек'.
Новый параметр "Внешний чек фискализируется во внешней системе".
По умолчанию не установлен. Следует устанавливать, если в RK при закрытии на фолио гостя выдается фискальный чек.
- Если параметр установлен, то при оплате услуги из внешней системы (RKeeper) признак способа расчета устанавливается "Оплата кредита". - Новая схема, соответствующая 54-ФЗ ст. 1.2 п.5.11.
- Если параметр не установлен, то при оплате услуги из внешней системы (RKeeper) признак способа расчета устанавливается "Полный расчет". - Старая схема. На кассе RK не используется ФР.
Новая схема. Rkeeper - Продажа в кредит. Абонемент - Оплата кредита.
Включить новый параметр:
В карточке услуги в Абонементе, на которую происходит закрытие чека прописывается
"Код налога ФР" соответствующий ставке "Без НДС" вашего ФР. Штрих = 4. Атол = 0.
"СНО (Система налогообложения)"
"Признак предмета расчета" = ПЛАТЕЖ
Результат.
- Rkeeper: фискальный чек с ПСР - "Последующая оплата (Кредит)" и ваш НДС.
- Абонемент: фискальный чек с ПСР - "ОПЛАТА КРЕДИТА", ППР - "ПЛАТЕЖ" и ставкой "БЕЗ НДС". Именно такие реквизиты фискального чека установлены налоговой для "Оплаты кредита".
Абонемент работает с чеком RK, как с фискальным чеком. При оплате кредита Абонемент берет ППР из карточки услуги (ППР должен быть "Платеж").
Марка ЧЗ в этом режиме Абонементом игнорируется и никак не проверяется и не обрабатывается. Считается, что все проверки сделаны на стороне RK.
Старая схема. Rkeeper без фискального регистратора.
При работе связки RKeeper c Абонементом 148 версии по старой схеме:
В карточке услуги в Абонементе "Признак предмета расчета" НЕ указывается, остается пустым.
При оплате услуг RKeeper`а Маркировка проверяется на стороне Абонемента. Параметр ППР будет браться из XML RKeeper`а, а не из карточки услуги. Важно для работы с маркированной продукцией, где ППР - (33) ТМ.
Если ППР в карточке услуги будет указан - Товар, то при оплате маркированного товара выходит ошибка