...
Супермаг Плюс XML экспорт
Супермаг Плюс XML импорт
Статья на публичной wiki: http://wiki.servplus.ru/index.php/Супермаг_Плюс_XML_(импорт/экспорт)
Статью требуется обновлять вместе с изменением ТЗ и включением изменений в УКМ 4Статью требуется обновлять вместе с изменением ТЗ и включением изменений в УКМ 4.
Супермаг Плюс XML (импорт/экспорт)
Конвертеры Супермаг Плюс XML импорт и Супермаг Плюс XML экспорт реализованы для обмена данными системы УКМ v.4 c внешними программными продуктами в формате XML. Передача данных осуществляется с помощью файлов в формате .xml и возможна только в рамках операционной системы Windows.
Примечание: Данные XML-конвертеры можно использовать для интеграции УКМ v.4 не только с программным продуктом СуперМаг Плюс, но и с любыми внешними системами. Обмен данными из СуперМаг в УКМ v.4 и из УКМ v.4 в СуперМаг реализуется через раздельные каталоги. Набор каталогов един для всех магазинов, зарегистрированных на одном сервере. В одном файле формата .xml передается только один тип данных. Конвертер непрерывно дорабатывается для поддержки передачи новых типов данных по запросам пользователей, но уже доступные теги и свойства не удаляются.
Внимание! В рамках доработки конвертера, образовались связки версий программного обеспечения СуперМаг плюс и УКМ v.4:
СМ+ 1.32.1 <-> УКМ4 65 сп 6
СМ+ 1.32.1 <-> УКМ4 66 сп 5
СМ+ 1.32.1 <-> УКМ4 67 сп 3
СМ+ 1.32.1 <-> УКМ4 68 и выше.
Другие связки версий работать, используя конвертеры "Супермаг Плюс XML импорт\экспорт", не будут.
Принципы обмена данными между УКМ 4 и СуперМаг
- Процесс передачи данных между программами исключает дублирующие потоки информации. Сервер УКМ 4 получает всю информацию о товарах из сервера СуперМаг. Другими словами, в случае наличия центрального сервера СуперМаг и сервера главного офиса УКМ 4, информация о товарах будет загружаться и на СГО и на сервера магазинов. Соответственно, в УКМ 4 репликация товарных справочников с СГО на сервера магазинов заблокирована.
- При настройке передачи данных из СуперМаг в УКМ 4 необходимо учитывать, что все магазины в УКМ 4 работают с одной номенклатурой. Если настройка сделана неверно, то в УКМ 4 будет использована одна из номенклатур (выбор номенклатуры произойдет случайным образом). Ограничение отслеживается административными методами.
Передача информации из СуперМаг в УКМ4
Настройка интерфейса сервера УКМ 4 для приема данных из СуперМаг
Перед настройкой сервера УКМ 4 убедитесь, что в настройках СуперМаг указаны следующие параметры:
- Каталог куда СуперМаг выгружает информацию;
- Выгружать или не выгружать:
скидки;отделы (если не выгружать отделы, то справочник отделов и привязка товаров к отделам не будут выгружены);продавцы.
Настройки в УКМ4:
- Создать каталог куда СуперМаг будет выгружать информацию;
- На сервере УКМ 4 создать маркетинговую схему и рекламную акцию, в которую должна выгружаться информация по скидкам.
Для подключения конвертера "Супермаг Плюс XML импорт" перейдите в раздел веб-интерфейса "Настройка сервера и оборудования/Конвертеры". В открывшемся окне нажмите кнопку "+ Добавить". Далее выберите из списка конвертер и нажмите "+ Создать":
После создания конвертера откроется окно его настройки:
Название - в поле указывается название конвертера (по умолчанию присваивается значение типа добавляемого конвертера);
Запускается - указывается служба, через которую будет осуществляться обмен данными (при условии, что пользователь имеет право доступа к ресурсам). Существуют следующие варианты значений:
Сервер - обмен будет осуществляться через серверную часть УКМ 4;
Терминал - обмен будет осуществляться через клиентскую (терминальную) часть УКМ 4;
Каталог для загрузки данных - в поле указывается путь до каталога, куда СуперМаг помещает файлы выгрузки данных;
Архивировать файлы после загрузки - если включить данный флаг, то файлы выгрузки, после обработки конвертером, будут сохранены в виде архива в каталоге обмена данными;
Роль, которая назначается кассирам - указывается одна из ролей кассового персонала. Загружаемые записи о кассирах будут привязаны к этой роли. Пароли при загрузке зашифрованы;
Магазины - для выбора магазинов, в которых будет действовать конвертер, кликните по ссылке "Добавить магазины";
Рекламная акция - в поле необходимо указать рекламную акцию, куда будут выгружаться данные по скидкам.
Описание передаваемой информации и правила работы с ней
Тип информации | Имя файла и головного тега | Тип выгрузки |
---|---|---|
Общая информация (одинаковая для всех магазинов) | ||
Справочник свойств товаров | рroperties | всегда полная |
Справочник налогов | taxes | всегда полная |
Справочник отделов магазинов | stocks | всегда полная |
Товарный классификатор | classif | всегда полная |
Товары (включая штрихкоды и дополнительные характеристики товаров) | updateItems | полная/частичная |
Скидка по дисконтным картам | discountPersonal | полная/частичная |
Скидки на товарную группу | classifDiscount | всегда полная |
Скидка на чек (по времени и сумме) | receiptDiscount | всегда полная |
Скидка на количество товара | quantityDiscount | всегда полная |
Информация для пивного чека | BeerEGAIS.xml | всегда полная |
Информация для магазинов | ||
Цены на товары | storePrices | полная/частичная |
Продавцы | storeSellers | всегда полная |
Привязка товаров к отделам магазина | itemStoreStock | всегда полная |
Кассиры | storeCashiers Пример: storeCashiers _[5]_[1]_[F].xml [5] – код магазина в СМ+; [1] – номер выгрузки п/п; [F] – флаг, что файл содержит полный перечень кассиров | всегда полная |
Коды немаркированных акцизных товаров для магазина | storeEGAIS Формируется только для товаров с признаком egaisType= 2 (немаркированный) | всегда полная |
Правила выгрузки информации из СуперМаг в УКМ 4
- Все справочники, кроме товаров (артикулов), цен и содержимого скидки "Персональная на классификатор", выгружаются из СуперМаг полностью (если в них произошли изменения в СуперМаг с момента предыдущей выгрузки). Если изменений в СуперМаг не было, то файлы соответствующих типов не создаются.
- Удаления записей о товарах (артикулах) и ценах в рамках протокола обмена информацией не предусмотрено. Удаление товара (запись в прайс-листе) производится через интерфейс УКМ 4.
- Удаления записей в скидке «Персональная на классификатор» с помощью конвертора не предусмотрено. При необходимости удаления записей следует удалить на сервере УКМ 4 саму скидку (или скидки) и сделать полную выгрузку всех скидок из СуперМаг. Конвертер создаст недостающие скидки заново.
- Полные выгрузки СуперМаг может делать либо по расписанию, либо при ручной выгрузке, при этом загрузку на сервер УКМ 4 предыдущих порций информации СуперМаг не проверяет.
Правила обработки информации сервером УКМ 4
- Каждый файл, передаваемый из СуперМаг в УКМ 4 содержит один тип информации и обрабатывается сервером УКМ 4, как отдельная транзакция, т.е. он или обрабатывается целиком или не обрабатывается вообще. Каждый файл обрабатывается независимо от другого.
- Файлы обрабатываются сервером УКМ 4 в порядке, в котором они перечислены в таблице (см. выше). При этом для каждого типа информации (тега), УКМ 4 ищет файл полной выгрузки с наибольшим номером. Загружает его и все последующие файлы этого же типа с инкрементной выгрузкой.
- Все файлы из входного каталога УКМ 4 переносит подкаталог Archive, добавляя к концу имени дату-время (YYYYMMDDHHMMSS) его обработки. При этом если файл был загружен, то в конец имени дописывается «Load», если файл был пропущен – «Ignor».
- Если при обработке файла возникли ошибки любого типа (как связанные с доступом к файлу, так и с его содержанием), то работа конвертера останавливается, он переходит в режим периодического рестарта. При каждом старте конвертер начинает обработку каталога заново. В этом случае предполагается, что проблема будет исправлена с помощью ручной полной выгрузки из СуперМаг. Файлы, при обработке которых возникли ошибки, остаются в каталоге обмена и УКМ 4 дописывает к их имени [error]. Например - Classif_[1]_[F]_[error]. При рестарте конвертера файлы по-прежнему участвует в обработке информации по общим правилам, но отметка [error] остается у файла навсегда, в том числе и при переносе в подкаталог Archive. При этом файл может быть успешно обработан (load) или может быть пропущен (ignor).
Структура данных, передаваемых из СуперМаг в УКМ 4
В программе СуперМаг можно настроить 4 типа скидок – "скидка по дисконтным картам", "скидка на группу классификатора", "скидка по времени и сумме чека" и "скидка на количество товара". Каждый тип скидки может иметь столько экземпляров, сколько существует видов цен в СуперМаг. В УКМ 4 передаются только те экземпляры скидок, которые настроены для видов цен, определяемых, как "цена для касс" в СуперМаг. СуперМаг выгружает информацию о всех экземплярах скидок одного типа в отдельный файл, при этом для каждого экземпляра скидки передаются "код вида цены в СуперМаг" и "название вида цены в СуперМаг":
<discountType>
<program>// minOccurs=”0” maxOccurs="unbounded"
<id></id> <код вида цены в СМ>
<name></name> <название вида цены в СМ>
</program>
Здесь "discountType" может принимать значения"
discountType | Скидка в СМ | Скидка в УКМ |
---|---|---|
discountPersonal | Скидка по дисконтным картам | Персональная скидка на классификатор (УКМ 2) |
classifDiscount | Скидка на товарную группу | Классификатор (УКМ 2) |
receiptDiscount | Скидка на чек по времени и сумме | На чек по времени и сумме |
quantityDiscount | Скидка на количество товара | Количество товара (УКМ2) |
Тег <program> содержит один экземпляр скидки данного типа. УКМ 4, при обработке такого файла, проверяет для каждого экземпляра скидки, есть ли в списке скидок в рекламной акции (указывается в настройках конвертера импорта) скидка с алгоритмом соответствующим полученному файлу и для соответствующего вида цены. Если такой скидки в УКМ 4 нет, то она будет создана. При этом код вида цены будет сохранен, а название скидки сформируется, как название алгоритма в УКМ 4, к которому будет добавлено название вида цены заключенное в круглые скобки.
Свойства товаров (весь справочник) (в СуперМаг - справочник "Размеры")
<Properties fullness=”F”>
<version=””>
<Property> // minOccurs=”0” maxOccurs="unbounded"
<id></id>
<name></name>
<PropertyValue>
<value></value>
</PropertyValue>
</Property>
</Properties>
Налоговые группы (весь справочник)
<taxes fullness=”F”>
<version=””>
<group>// minOccurs=”0” maxOccurs="unbounded"
<id></id>
(в СМ+ - «Тип группы» - украинские группы А,B,C…) <tax> // minOccurs=”0” maxOccurs="unbounded" <id></id> <name></name> <sequence></sequence> (в СМ+ - «приоритет начисления налога») <percent></percent> </tax> </group> <taxes/>
Структура магазинов (отделы) (весь справочник)
<stocks fullness=”F”>
<version=””>
<store storeId=””> // minOccurs=”0” maxOccurs="unbounded"
<stock> // minOccurs=”0” maxOccurs="unbounded"
<id></id> (код магазина в СМ+)
<name></name>
</stock>
</store>
</stocks>
Классификатор товаров (весь справочник)
<classif fullness=”F”>
<version=””>
<group> // minOccurs=”0” maxOccurs="unbounded"
<id></id>
<owner></owner>
<name></name>
</group>
</classif>
Товары (может быть весь справочник или только изменения)
<updateItems fullness=”F/I”>
<version=””>
<item>// minOccurs=”0” maxOccurs="unbounded"
<article></article>
<name></name>
<measure></measure> (Сокращение)
<measprec></measprec> (Точность – 1, 0.001, 0.01, 0.1)
<groupId></groupId> (ссылка на узел классификатора)
<egaisType></egaisType> (EgaisType (int), признак акцизного товара; 0 - неакцизный товар, 1 - маркированный товар, 2 - немаркированный)
<propertyId></PropertyId> («Свойство» в СМ+, Размеры в терминах УКМ2. В СМ+ к товару может быть привязано только одно «Свойство»)
<taxgroupId></taxgroupId>
<addProperty> // minOccurs=”0” maxOccurs="unbounded"
<id></id> (код доп.характеристики в СМ+)
<value></value>
</addProperty>
<barcode> // minOccurs=”0” maxOccurs="unbounded"
<id></id> (сам штрихкод)
<PropertyValue></PropertyValue> («Размер» в УКМ2)
<quantity></quantity> (в СМ+ «Количество» для штрихкода)
</barcode>
</item>
</updateItems>
Скидка «Персональная скидка на классификатор (СМ+)» (может быть весь справочник или только изменения)
<discountPersonal fullness=”F/I”>
<program>// minOccurs=”0” maxOccurs="unbounded"
<id></id> (идентификатор вида цены в СМ)
<name></name> (название вида цены в СМ)
<storeDiscount>
<store storeId=””/> //minOccurs=”0” maxOccurs="unbounded" (перечень магазинов, для которых действует данный экземпляр скидки)
</storeDiscount>
<card>// minOccurs=”0” maxOccurs="unbounded"
<number></number> (номер карты, в т.ч. префикс)
<block></block> (признак блокировки карты)
<type></type> (1 – совместная применимость, 0 – не применимость)
<name></name> (имя клиента в чеке)
<classifId></classifId> (ссылка на узел классификатора)
<discount></discount>
</card>
</program>
</discountPersonal>
Для каждой карты всегда выгружается полный перечень узлов классификатора, на которые должна быть предоставлена скидка.
Скидка на классификатор (СМ+) (весь справочник)
<classifDiscount fullness=”F”>
<program>// minOccurs=”0” maxOccurs="unbounded"
<id></id>
<name></name>
<storeDiscount>
<store storeId=””/> //minOccurs=”0” maxOccurs="unbounded"
</storeDiscount>
<classif classifId=””> // minOccurs=”0” maxOccurs="unbounded"
<discount></discount>
<classif>
</program>
</classifDiscount>
Скидка на сумму чека (СМ+) (весь справочник)
<receiptDiscount fullness=”F”>
<program>// minOccurs=”0” maxOccurs="unbounded"
<id></id>
<name></name>
<storeDiscount>
<store storeId=””/> //minOccurs=”0” maxOccurs="unbounded"
</storeDiscount>
<receipt> // minOccurs=”0” maxOccurs="unbounded"
<amountFrom></amountFrom>
<timeFrom></timeFrom>
<discount></discount>
</receipt>
</program>
</receiptDiscount>
Скидка на кол-во товара (СМ+) (весь справочник)
<quantityDiscount fullness=”F”>
<program>// minOccurs=”0” maxOccurs="unbounded"
<id></id>
<name></name>
<storeDiscount>
<store storeId=””/> //minOccurs=”0” maxOccurs="unbounded"
</storeDiscount>
<item article=””> // minOccurs=”0” maxOccurs="unbounded"
<threshold> // minOccurs=”0” maxOccurs="unbounded"
<quantity></quantity>
<discount></discount>
</threshold>
</item>
</program>
</quantityDiscount>
Розничные цены магазина (может быть весь справочник или только изменения)
<storePrices fullness=”F/I” storeId=””>
<version=””>
<item article=””>// minOccurs=”0” maxOccurs="unbounded"
<price> // minOccurs=”0” maxOccurs="1"
<value></value>
<minprice></minprice> (минимальная цена продажи в ден.единицах, а не в процентах)
</price>
</item>
</storePrices>
Продавцы магазина (весь справочник)
<storeSellers fullness=”F” storeId=””>
<version=””>
<seller> // minOccurs=”0” maxOccurs="unbounded"
<id></id>
<name></name>
</seller>
</storeSellers>
Назначение товаров на отделы магазина (весь справочник)
<itemStoreStock fullness=”F” storeId=””>
<version=””>
<item article=””>
<stockId></stockId> // minOccurs=”0” maxOccurs="1"
</item>
</itemStoreStock>
Продавцы магазина (весь справочник)
<storeCashiers fullness=”F” storeId=””> (код магазина в СМ+ (целое число). Мапируется в настройках конвертора в магазин в УКМ)
<version=””>
<cashier> // minOccurs=”0” maxOccurs="unbounded"
<id></id> (целое число больше 0, используется в УКМ как идентификатор (код) кассира)
<name></name> (символьная строка – 40 символов)
<password></password> (символьная строка – 15 символов. Выгружается без шифрования)
</cashier>
</storeCashiers>
Коды немаркированных акцизных товаров для магазина (весь справочник)
<storeEGAIS fullness=”” storeId=””> (код магазина в СМ+ (целое число). Мапируется конвертером в магазин в УКМ 4)
<version></version>
<item> // minOccurs=”0” maxOccurs="unbounded"
<article></article> (символьная строка – 40 символов)
<NOPDF></NOPDF> (символьная строка – 255 символов)
</item>
</storeEGAIS>
<NOPDF> может содержать поля:
* code – код вида алкогольной продукции;
* price – цена товара;
* bname – наименование товарной позиции;
* alc – крепость;
* volume – объем продукции;
* ean – EAN-продукта;
* count– количество единиц пивной продукции данного вида.
Значение параметра <NOPDF> передается в виде:
<article="ХХХХХ" code="ХХХ" bname="ХХХ ХХХ" alc="ХХХ" volume="ХХХ" />
Если внутри значения атрибута bname используются кавычки, то они заменяются по следующим правилам:
если для указания значения атрибута используются двойные кавычки, такие же кавычки внутри значения атрибута заменяются на сущность "
если для указания значения атрибута используются одинарные кавычки, такие же кавычки внутри значения атрибута заменяются на сущность '
можно использовать двойные кавычки внутри значений атрибутов, заключенных в одинарные кавычки, и наоборот.
Например:
<article="005356" code="123" bname="Пиво "Балтика"" alc="4,6" volume="0,5" />
или
<article="005356" code="123" bname=”Пиво 'Балтика'" alc="4,6" volume="0,5" />
Загрузка информации для пивного чека
<BeerEGAIS fullness=”F/I”>
<version></version>
<item> // minOccurs=”0” maxOccurs="unbounded"
<article></article> (символьная строка – 40 символов)
<NOPDF></NOPDF> (символьная строка – 255 символов)
</item>
</BeerEGAIS>
Значение параметра <NOPDF> должно быть в виде:
<nopdf article="ХХХХХ" code="ХХХ" bname="ХХХ ХХХ" alc="ХХХ" volume="ХХХ" />
Передача информации из УКМ 4 в СуперМаг
- УКМ 4 выгружает в СуперМаг+ информацию двух типов:
чеки;кассовая смена (в виде совокупности чеков по смене).
Чеки выгружаются в каталог, указанный в настройках обеих систем. Каждый чек помещается в отдельный файл.
- Смены выгружаются по мере появления на сервере информации о закрытии смен. Информация по каждой смене выгружается в отдельный файл.
Настройка интерфейса сервера УКМ 4 для передачи данных в СуперМаг
Перед настройкой сервера УКМ 4 убедитесь, что в настройках СуперМаг указаны следующие параметры:
- Каталог для получения данных из УКМ 4.
Настройки в УКМ4:
- Создать каталог для передачи данных из УКМ 4 в СуперМаг;
Для подключения конвертера "Супермаг Плюс XML экспорт" перейдите в раздел веб-интерфейса "Настройка сервера и оборудования/Конвертеры". В открывшемся окне нажмите кнопку "+ Добавить". Далее выберите из списка конвертер и нажмите "+ Создать". После создания конвертера откроется окно его настройки:
Название - в поле указывается название конвертера (по умолчанию присваивается значение типа добавляемого конвертера);
Запускается - указывается служба, через которую будет осуществляться обмен данными (при условии, что пользователь имеет право доступа к ресурсам). Существуют следующие варианты значений:
Сервер - обмен будет осуществляться через серверную часть УКМ 4;
Терминал - обмен будет осуществляться через клиентскую (терминальную) часть УКМ 4;
Магазины - для выбора магазинов, в которых будет действовать конвертер, кликните по ссылке "Добавить магазины";
Экспорт средств оплаты - в данном подменю можно установить пользовательскую кодировку средств оплаты. Поля для настройки станут доступны, если в выбранном магазине используется более одного средства оплаты:
Каталог для выгрузки данных - в поле указывается путь до каталога, куда УКМ 4 помещает файлы выгрузки данных;
Игнорировать поврежденные чеки - при включенном флаге информация по чекам, данные которых повреждены, передаваться не будет;
Выгружать оперативные чеки - при включенном параметре передача данных по чеку будет производиться сразу после его печати;
Архивировать данные - если включить данный флаг, то файлы выгрузки, после обработки конвертером, будут сохранены в виде архива в каталоге обмена данными;
При первом подключении выгружать:
Все - после сохранения настроек конвертера будет произведена выгрузка всех данных по чекам и сменам;С момента подключения конвертера - после сохранения настроек конвертера выгрузка данных будет производиться по мере появления на сервере информации о закрытии смен;От начала открытой смены на момент подключения конвертера - после сохранения настроек конвертера будет произведена выгрузка данных по последней (открытой) смене и далее по мере появления на сервере информации о закрытии смен.
Структура данных, передаваемых из УКМ 4 в СуперМаг
Чек
<receipt storeId=”” posNum=”” shiftNum=”” receiptNum=””> (id магазина, номер терминала, номер смены, номер чека)
<version=””>
<receiptDateTime></receiptDateTime> (время закрытия чека)
<receiptOpenDateTime></receiptOpenDateTime> (время открытия чека)
<receiptSubtotalDateTime></receiptSubtotalDateTime> (время подытога по чеку чека)
<cashierName></cashierName> (ФИО кассира)
<cashierCode></cashierCode> (id кассира)
<type></type> (тип чека: 0 - продажа, 1 - чек на возврат, 4 - возврат по чеку, 5 - восстановленный чек)
<item> // minOccurs=”1” maxOccurs="unbounded" <секция товара в чеке>
<article></article> (артикул товара)
<quantity></quantity> (количество товара)
<price></price> (цена товара по прайс-листу)
<barcode></barcode> (штрихкод товара)
<egaisBarcode></egaisBarcode> (штриховой код алкогольной марки PDF417)
<NOPDF></NOPDF> (содержание QR кода)
<total></total> (стоимость позиции, уменьшенная на величину скидок)
<stockId></stockId> (id отдела)
<enterType></enterType> (способ ввода товара: 0 - сканер ШК, 1 - клавиатура, 2 - "горячая" клавиша)
<sellerId></sellerId> (идентификатор продавца)
<sellerName></sellerName> (ФИО продавца)
<Property></Property> (идентификатор свойства товара из нормализированного хранилища. В случае нескольких значений выбирается случайным образом)
<PropertyValue></PropertyValue> (значение свойства товара)
<discount> // minOccurs=”0” maxOccurs="unbounded" (выгружаются скидки, которые привели к изменению суммы продажи)
<programId></programId> (код скидки в УКМ)
<programName></programName> (название скидки в УКМ)
<programType></programType> (тип скидки в УКМ (значение поля trm_out_receipt_discounts.efts) integer)
<amount></amount> (значение скидки - положительное число)
<discCardNumber></discCardNumber> (номер диск.карты, но не клубной карты)
</discount>
<addition> // minOccurs=”0” maxOccurs="unbounded" (наценки, которые привели к изменению суммы продажи)
<programId></programId> (код скидки в УКМ, которая увеличивает стоимость позиции в чеке)
<programName></programName> (название скидки в УКМ, которая увеличивает стоимость позиции в чеке)
<programType></programType> (тип скидки в УКМ (значение поля trm_out_receipt_discounts.efts) integer)
<amount></amount> (значение наценки - положительное число)
<discCardNumber></discCardNumber> (номер диск.карты, но не клубной карты!)
</addition>
<enterType></enterType> (способ ввода товара 0 – сканером 1 – с клавиатуры 2 – по «горячей» клавише)
<sellerId></sellerId> (идентификатор продавца)
<sellerName></sellerName> (фамилия продавца)
</item>
<gift> // minOccurs=”1” maxOccurs="unbounded" (выданные подарки)
<article></article> (артикул товара, выданного как подарок)
<programId></programId> (код скидки в УКМ, в рамках которой выдан подарок)
<programName></programName> (название скидки в УКМ, в рамках которой выдан подарок)
<quantity></quantity> (количество)
</gift>
<payment> // minOccurs=”1” maxOccurs="unbounded" (оплаты по чеку)
<paymentId></paymentId> (тип средства оплаты: 0 – наличные, 101 – все средства оплаты, связанные с банковскими авторизациями и голосовыми/пустыми серверами авторизаций в УКМ 4,
102 – оплата подарочными картами и сертификатами, 103 – оплата баллами (внутренние счета и средства оплаты, связанные с внешними программами лояльности))
<paymentName></paymentName> (название средства оплаты в УКМ 4)
<paymentAmount></paymentAmount> (размер платежа)
</payment>
</receipt>
Смена
<shift storeId=”” posNum=”” shiftNum=”” dateClose=””> (id магазина, номер терминала, номер смены)
<version></version>
<dateClose></dateClose> (дата и время закрытия смены)
<cashierName></cashierName> (ФИО кассира, закрывшего смену)
<cashierCode></cashierCode> (ID кассира, закрывшего смену)
<saleAmount></saleAmount> (сумма продаж за смену)
<returnAmount></returnAmount> (сумма возвратов за смену)
<saleCount></saleCount> (количество чеков на продажу за смену)
<returnCount></returnCount> (количество чеков на возврат за смену)
<receipt> // minOccurs=”0” maxOccurs="unbounded" (чек)
<receiptNum></receiptNum > (номер чека)
<receiptDateTime></receiptDateTime> (дата и время закрытия чека)
<cashierCode></cashierCode> (ID кассира, закрывшего чек)
<cashierName></cashierName> (ФИО кассира, закрывшего чек)
<type></type> (тип чека: 0 – продажа, 1 – чек на возврат, 4 – возврат по чеку, 5 – восстановленный чек)
<amount></amount> (итоговая сумма чека)
<item> // minOccurs=”1” maxOccurs="unbounded" (товар)
<article></article> (артикул товара)
<barcode></barcode> (штрихкод товара)
<egaisBarcode></egaisBarcode> (штриховой код алкогольной марки PDF417)
<NOPDF></NOPDF> (содержание QR кода)
<quantity></quantity> (количество товара в чеке)
<price></price> (цена товара по прайс-листу)
<total></total> (стоимость позиции, уменьшенная на величину скидки)
<stockId></stockId> (идентификатор отдела)
<Property> (свойство товара)
<соdе></соdе> (код свойства)
<value></value> (значение свойства)
</Property>
<enterType></enterType> (способ ввода товара: 0 – сканером, 1 – с клавиатуры, 2 – по «горячей» клавише)
<sellerId></sellerId> (идентификатор продавца)
<sellerName></sellerName> (ФИО продавца)
<discount> // minOccurs=”0” maxOccurs="unbounded" (скидка)
<programId></programId> (код скидки в УКМ)
<programName></programName> (название скидки в УКМ)
<programType></programType> (тип скидки в УКМ (значение поля trm_out_receipt_discounts.efts, integer))
<amount></amount> (значение скидки - отрицательное число)
<discCardNumber></discCardNumber> (номер дисконтной карты, но не клубной карты)
</discount>
<addition> (наценка)
<programId></programId> (код наценки в УКМ)
<programName></programName> (название наценки в УКМ)
<programType></programType> (тип наценки в УКМ (значение поля trm_out_receipt_discounts.efts, integer))
<amount></amount> (значение наценки - положительное число)
</addition>
</item>
<gift> // minOccurs=”1” maxOccurs="unbounded" (подарки)
<article></article> (артикул товара, выданного в качестве подарка)
<programId></programId> (код скидки в УКМ, в рамках которой выдан подарок)
<programName></programName> (название скидки в УКМ, в рамках которой выдан подарок)
<quantity></quantity> (количество)
</gift>
<payment> (оплаты по чеку)
<paymentId></paymentId> (тип средства оплаты: 0 – наличные, 101 – все средства оплаты, связанные с банковскими авторизациями и голосовыми/пустыми серверами авторизаций в УКМ 4,
102 – оплата подарочными картами и сертификатами, 103 – оплата баллами (внутренние счета и средства оплаты, связанные с внешними программами лояльности))
<paymentName></paymentName> (название средства оплаты в УКМ 4)
<paymentAmount></paymentAmount> (размер платежа)
</payment>
</receipt>
</shift>
Требования к загрузке налоговых ставок
В связи с добавлением в УКМ 4 функционала автоматического мапирования ставок НДС со стороны УКМ 4 имеются новые требования к загрузке налоговых ставок через конвертеры: Для работы алгоритма автоматического выбора индекса ставки для ККТ при передаче данных о налогах через конвертеры УКМ 4 требуется указанием формулы налоговой ставки НДС в заданном виде.
Список НДС ставок ожидаемых конвертерами УКМ 4:
№ | Рекомендуемое значение ставки до 01.01.2019 | Рекомендуемое значение ставки после 01.01.2019 | Допустимые варианты значений | Описание |
---|---|---|---|---|
1 | 18% | 20% | 18.00%, 20.00% | НДС 18%/ НДС 20% |
2 | 10% | 10% | 10.00% | НДС 10% |
3 | 0% | 0% | 0.00% | НДС 0% |
4 | Не облагается | Не облагается | Без НДС | |
5 | 18/118% | 20/120% | НДС 18/118 / НДС 20/120 | |
6 | 10/110% | 10/110% | НДС 10/110 |
1. В случае, если формулы ставок отличаются от рекомендуемых, то товары могут быть добавлены в чек с не корректной ставкой налога.
Примечание: Для ставок НДС 10%, 18%, 20% допустима форма передачи процента ставки: "XX%" и "XX.00%", например, 10.00% является допустимым значением ставки при передаче через конвертер.
2. Регистр для значения ставки не облагается - можно указывать любой при передаче данных конвертеру.
3. Ставка не облагается может отсутствовать в справочнике налогов в нескольких случаях (это не вызовет проблем в работе кассовой системы):
- При использовании опции "Формировать налоговые ставки автоматически, в соответствии с ФЗ РФ" для заказчиков с не основной системой налогообложения в чек всегда будет добавляться корректная ставка "не облагается" не зависимо от того, как заданы параметры ставки для списка карточек товаров для импорта.
Актуально для конвертеров:
Стандартный 2 DBF импорт
Стандартный 2 CSV импорт
Супермаг Плюс CSV импорт
- Ставка не облагается будет автоматически использоваться УКМ 4 при пустом справочнике налогов для добавления товаров в чек. Актуально для пользователей с не основной системой налогообложения, которые не выгружают налоги в УКМ 4 с любыми конвертерами.
- Ставка не облагается будет использоваться УКМ 4 для объектов пользователя с не основной системой налогообложения во всех случаях: даже если эта ставка не загружена в справочник налогов УКМ 4 и не выбрана для товаров и справочник налогов не пуст. Актуально для пользователей, которые в одной системе УКМ 4 поддерживают работу как магазинов с основной системой налогообложения, так и магазинов с любой не основной системой налогообложения (например, ЕНДВ). Поддерживаются все конвертеры.
Вложенные страницы:
Отображение дочерних |
---|