Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Если по каким-либо причинам один и тот же документ выгружается повторно, а в выходном каталоге файл с этим же документом уже был создан ранее, то он будет заменён последней версией.

Имена файлов

Файлы с чеками

receipt_[Store]_[PosNum]_[ShiftNum]_[Receipt]_[1].xml

Файлы со сменами

shift_[Store]_[PosNum]_[ShiftNum]_[1].xml

Файлы с информацией об открытии смены

shiftOpen_[Store]_[PosNum]_[ShiftNum]_[1].xml

Файлы с операциями с денежным ящиком (внесения/изъятия)

cashbox_[Store]_[PosNum]_[ShiftNum]_[DocNum]_[1].xml

Здесь:

Receipt, shift, shiftOpencashBox — название головного тега документа.

...

Номер смены, присвоенный смене ККТ, выгружается в составе файла Shift в теге <kkm_shift_number>.

Структуры файлов экспорта

Условные обозначения в столбце "Обязательность":

            * – значение должно указываться;

            1:∞ – секция должна быть указана хотя бы один раз;

            0:∞ – секция может быть не указана;

            1:1 – секция должна быть, и только одна.

Оглавление
minLevel3

Оперативные чеки


Примечание

Обяз.

Формат в

конвертореидентификатор

конвертере

Якорь
oper
oper
<receipt

storeId=””

posNum=””

shiftNum=””

receiptNum=””>

      storeId


номер

Идентификатор магазина во внешней системе

*

String(100)

      posNum        

уникальный

Номер кассы в кассовой системе

*

Int(11)

      shiftNum

Уникальный идентификатор кассовой смены в кассовой системе

*

Номер чека в смене


String(100)

Int(11)

      receiptNum    

номер чека в смене

*

Int(11)

Int(11)

<version>=”1.2”     

версия

<version>   

Версия формата документа

*

String(20)

<receiptDateTime>

время

Время закрытия чека

*

yyyy-

MM

mm-ddThh:mm:ss

<receiptOpenDateTime>

время

Время открытия чека


yyyy-

MM

mm-ddThh:mm:ss

<receiptSubtotalDateTime>

время

Время последнего нажатия на клавишу "Расчет"


yyyy-

MM

mm-ddThh:mm:ss

<cashierCode>

код

Код кассира

*

Int(11)

<cashierName>

имя

Имя кассира

*

String(100)

<type>

Тип чека

*

Int(11)

0

-

продажа

1

-

возврат

4

-

возврат по исходному чеку

5

-

продажа по восстановленному чеку

<POSsale>

для

Для чеков

возврата -

возврата – номер кассы, на которой была продажа

)


Int(11)

<shiftNumSale>

для

Для чеков

возврата -

возврата – номер смены, в которой была продажа

)


Int(11)

<receiptNumSale>    

для

Для чеков возврата

-

номер чека продажи


Int(11)

<amount>     

сумма

Сумма чека, уменьшенная на величину скидок

*

Decimal(20.2)

<item>


0:∞


  <position>        

номер

Номер позиции

*

Int(11)

Нумерация начинается с 1

  <positionSale>    

для

Для чеков

возврата -

возврата – номер позиции в чеке продажи

*

Int(11)

  <article>

артикул

Артикул товара

*

String(40)

  <barcode>

штрихкод

Штрихкод товара (если он был введён по штрихкоду)


String(40)

  <egaisBarcode>

штриховые

Штриховые коды алкогольных марок PDF417


String(200)

  <KIZ>

КИЗ -

КиЗ – полное содержание кода маркированной продукции без дополнительной обработки. Кодировка BASE64

.


String(255)

 

<serialNumber>              - серийный

<serialNumber> 

Серийный номер, выделенный

из кода

из кода DataMatrix (может отсутствовать)

Серийный номер, выделенный их КИЗ


String(20)

  <maxPrice>Максимальная розничная цена, выделенная из
КИЗ
КиЗ (табак)
Decimal (20.2)

  <quantity>

количество

Количество товара в позиции

*

Decimal(20.3)

  <price>    

цена

Цена товара по прайс-листу

*

Decimal(20.2)

  <total>

стоимость

Стоимость позиции, уменьшенная на величину скидок

*

Decimal(20.2)

 

Якорь
entertype
entertype
<enterType>

способ

Способ ввода товара в чек


*

Int(11)

0 – сканер, заказ, распознавание

1 -

1 – клавиатура

2 -

2 – горячая клавиша/ пик-листы

10 – прочие способы

  <sellerId>

код

Код продавца


String(50)

  <sellerName>

фамилия

Фамилия продавца


String(50)

  <stockId>

Номер отдела


Int(11)

  <Property>Код
доп.
дополнительного свойства (размер)
String(20)
  <PropertyValue>
Значение доп.
Значение дополнительного свойства (размер)
String(20)
  <Tax>
0:∞
      <TaxGroupId>Код налоговой группы*Int(11)
      <TaxId>Код налога*Int(11)
      <TaxName>Название налога*String(40)
      <percent>Ставка налога*Decimal (20.2)
      <amount>Сумма налога, рассчитанная кассой*Decimal (20.2)
  </Tax>


  <discount>

скидки

Скидки, которые привели к изменению суммы продажи

0:∞



    <programId>

код

Код скидки

в УКМ

в кассовой программе

*

Int(11)

    <programName>   

название

Название скидки в

УКМ

кассовой программе

*

String(40)

    <programType>

тип

Тип системы лояльности

*

Int(11)

    <amount>

значение скидки -

Значение скидки – положительное число

*

Decimal(20.2)

    <discCardNumber>

номер диск.карты, но

Номер дисконтной карты – не клубной карты!


String(40)

  </discount>




  <addition>
наценки
Наценки, которые привели к изменению суммы продажи0:∞
    <programId>
код
Код скидки в
УКМ
кассовой программе*Int(11)
   
<programName>   
<programName> 
название
Название скидки в
УКМ
кассовой программе*String(40)
    <programType>
тип
Тип системы лояльности*Int(11)
    <amount>
значение наценки -
Значение наценки – положительное число*Decimal (20.2)
    <discCardNumber>
номер диск.
Номер дисконтной карты –
номер карты, возвращенный loya
не клубной карты!
String(40)
  </addition>


</item>


<TaxTotal>Суммы налогов по чеку0:∞
    <TaxGroupId>Код налоговой группы*Int(11)
    <TaxId>Код налога*Int(11)
    <TaxName>Название налога*String(40)
    <percent>Ставка налога*Decimal (20.2)

    <amount>

Сумма налога*Decimal (20.2)
</TaxTotal>


<removedItems>
Отменёнными позициями
Отменённые позиции0:∞
 
<item>                   
<item>
структура
Структура такая же, как у нормально завершённых чеков, но добавлен тег <supervisor>

     <position>
*Int(11)
     <article>
*String(40)
     <barcode>
*String(40)
     <quantity>
*Decimal (20.3)
     <price>
*Decimal (20.2)
     <total>
*Decimal (20.2)
     <stockId>

Int(11)
     <enterType>
*Int(11)
     <supervisor>   
кассир
Кассир, разрешивший операцию отмены позиции1:1
       <id>

       <id>
*Int(11)
       <name>
*String(100)

     </supervisor>




  </item>


</removedItems>


<gift>


0:∞


   <loyalty_type>

тип

Тип системы лояльности, выдавшей подарок

*

Int(11)

   <article>

   <article>

артикул

Артикул товара, выданного как подарок

*

String(40)

   <quantity>

количество

Количество товара-подарка

*

Decimal(20.3)

   <programId>

id

Id скидки в

УКМ

кассовой системе, которая инициировала выдачу данного подарка


Int(11)

    <programName>

Название скидки, которая инициировала выдачу данного подарка


String(40)

</gift>




<loyality_used_gifts>


    <loyalty_type>
тип
Тип системы лояльности, выдавшей подарок

    <item>
артикул
Артикул товара, выданного как подарок

    <quantity>
количество
Количество товара-подарка

</loyality_used_gifts>


<loyality_cardNum>

номер

Номер карты клиента

0:∞


    <loyalty_type>        

тип

Тип внешней системы лояльности

*

Int(11)

    <card_num>

номер

Номер карты покупателя в системе лояльности

*

String(128)

</loyality_cardNum>




<loyality_used_coupons>

применённые

Применённые в чеке купоны

0:∞


   <loyalty_type>

тип

Тип внешней системы лояльности

*

Int(11)

    <coupon_num>

номер

Номер полученного купона

*

String(40)

    <coupon_amount>

использованная

Использованная сумма купона (если она определена)


Decimal(20.2)

</loyality_used_coupons>




<loyality_award_coupons>

выданные

Выданные купоны

0:∞


    <loyalty_type>  

тип

Тип внешней системы лояльности

*

Int(11)

    <coupon_num>

номер

Номер выданного купона

*

String(40)

    <coupon_amount>

сумма

Сумма купона (если она определена)


Decimal(20.2)

</loyality_award_coupons>




<payment>

оплаты

Оплаты по чеку

1:∞


    <paymentId>

«тип»

«Тип» средства оплаты


*

Int(11)

«тип»

«Тип» средства оплаты: если не включено мапирование средств оплаты в настройках

конвертора Экспорта

конвертера экспорта или не указан код, в который надо мапировать, то коды присваиваются по следующим правилам:

0 - Наличные"

0 – наличные

101 – оплаты

банк.

банковскими авторизациями,

включая  «голосовые/ пустые» авторизации)102 - Подарочный

включая голосовые/"пустые" авторизации

102 – подарочный сертификат

103 –

Оплата

оплата баллами с внутреннего счета или баллами внешних систем лояльности (кроме

подар.

подарочных сертификатов)

104 –

Ранее полученные авансы/предоплаты

оплата в счет ранее полученных авансов/предоплат

105 –

Оплата

оплата в кредит

   <paymentName>

название

Название средства оплаты в

УКМ

кассовой системе


*

String(40)

<paymentId>=0 –

«Наличные»;

наличные

<paymentId>=101 –

«Банковская карта»;

банковская карта

<paymentId>=102 –

«Подарочный сертификат»;

подарочный сертификат

<paymentId>=103 –

«Оплата баллами»

оплата баллами

<paymentId>=104 –

«Предоплата»

предоплата

<paymentId>=105 –

«Кредит»

кредит

   <paymentAmount>


*

Decimal(20.2)

   <maskedCardNumber>

Маскированный номер банковской карты

при      

, при наличии данных


String(100)


   <cardType>

Тип банковской карты, при наличии данных


String(100)


   <authCode>

Код банковской авторизации, при наличии данных


String(100)


   <rrn>

Код ссылки банковской авторизации, при наличии данных


String(100)


</payment>




</receipt>




Внесение в/изъятие

...

из денежного ящика


Примечание

Обяз.

Формат

конвертора

в конвертере

<cashBox

storeId=””

posNum

=”” shiftNum=”” docNum=””>

Аналогично чеку

(docNum -

=””

shiftNum=””

docNum=””>


Идентификатор магазина во внешней системе

Номер кассы в кассовой системе

Уникальный идентификатор кассовой смены в кассовой системе

Номер документа о внесении/изъятии в кассовой системе


String(100)

Int(11)

Int(11)

Int(11)

<version>=”1.0”            

<version>   


*

String(20)

<dateOper>


*

String(

“yyyy

yyyy-

MM

mm-

ddTHH

ddThh:mm:

ss”

ss)

<operCode>

код

Код операции

*

Int(11)

100 – внесение

101 – изъятие

<cashierCode>

код

Код кассира

*

Int(11)

<cashierName>

имя

Имя кассира

*

String(100)

<saleAmount>

сумма

Сумма операции

*

Decimal(20.2)

<saleAmount_before>

сумма

Сумма в денежном ящике до выполнения операции

*

Decimal(20.2)

</cashbox>




Особенности

СМСуперМаг+ файл  не загружает файл.Отрытие

Открытие смены


Примечание

Обяз.

Формат

конвертора

в конвертере

<shiftOpen

storeId=””

posNum=””

shiftNum=””


Идентификатор магазина во внешней системе

Номер кассы в кассовой системе

Уникальный идентификатор кассовой смены в кассовой системе

*

Аналогично чеку

<version>=”1.0”

String(100)

Int(11)

Int(11)

<version>


*

String(20)

<dateOpen>


*

String(

“yyyy

yyyy-

MM

mm-

ddTHH

ddThh:mm:

ss”

ss)

<cashierCode>

кассир

Кассир, открывший смену

*

Int(11)

<cashierName>


*

String(100)

</shiftOpen>




Особенности

...

СуперМаг+

...

 не загружает файл.

Закрытие смены


Примечание

Обяз.

Формат в

конверторе

конвертере

<shift

storeId=””

posNum=””

shiftNum=””>


Идентификатор магазина во внешней системе

Номер кассы в кассовой системе

Уникальный идентификатор кассовой смены в кассовой системе

*

Аналогично чеку

<version>=”1.2”

String(100)

Int(11)

Int(11)

<version>


*

String(20)

<dateClose>


*

String(

“yyyy

yyyy-

MM

mm-

ddTHH

ddThh:mm:

ss”

ss)

<kkm_shift_number>

номер

Номер смены по ККТ

*

Int(11)

<kkm_serial_number>

заводской

Заводской номер ККТ (при закрытии смены без ККТ тег будет отсутствовать)


String(40)

<kkm_registration_number>

регистрационный

Регистрационный номер ККТ (при закрытии смены без ККТ тег будет отсутствовать)


String(40)

<kkm_model_name> 

название

Название модели ККТ (при закрытии смены без ККТ тег будет отсутствовать)


String(40)

<cashierCode>

кассир

Кассир, закрывший смену

*

Int(11)

<cashierName>


*

String(100)

<saleAmount>

сумма

Сумма всех чеков продажи за смену по данным УКМ 5 (учитывается сумма каждого чека за

минусом

вычетом скидок)

*

Decimal(20.2)

<returnAmount>

сумма

Сумма всех чеков возвратов за смену по данным УКМ 5

*

Decimal(20.2)

<kkm_saleAmount>
сумма
Сумма всех чеков продажи за смену по данным ККТ*Decimal (20.2)
<kkm_returnAmount>
сумма
Сумма всех чеков возвратов за смену по данным ККТ*Decimal (20.2)

<saleCount>

количество

Количество чеков продаж за смену по данным УКМ 5

*

Int(11)

<returnCount>

количество

Количество чеков возвратов за смену по данным УКМ 5

*

Int(11)

<kkm_saleCount>
кол-во чеков
Количество чеков продажи за смену по данным ККТ
Int(11)
<kkm_returnCount>
кол-во
Количество чеков возвратов за смену по данным ККТ
Int(11)
<kkm_withdrawal>    
кол-во
Количество изъятий по данным ККТ
Int(11)
<kkm_
insertion>     
insertion>
кол-во
Количество внесений по данным ККТ
Int(11)
<payment>
оплаты
Оплаты по смене0:∞
    <paymentId>
*

Int(11)

Правила формирования как для чека

   
<paymentName>          
<paymentName>
название
Название средства оплаты в УКМ*

String(40)

Правила формирования как для чека

   

    <paymentAmountSale>

сумма
Сумма оплат данным средством за смену по данным УКМ*Decimal (20.2)
   
    <paymentAmountReturn>
сумма
Сумма возвратов данным средством за
смену 
смену по данным УКМ*

Decimal (20.2)

   
    <kkm_paymentAmountSale>
сумма
Сумма оплат данным средством за смену по данным ККТ
Decimal (20.2)
  
    <kkm_paymentAmountReturn>
сумма

Сумма возвратов данным средством за смену по данным ККТ


Decimal (20.2)
</payment>


<receipt storeId=””

posNum=””

shiftNum=””

receiptNum=””>

Перечень нормально завершённых чеков

0:∞


Структура такая же, как у

Оперативных

оперативных чеков

</receipt>




<receipt storeId=""

posNum=""

shiftNum=""

receiptNum=""

cancelled="true">

Перечень отменённых (аннулированных) чеков

0:∞

       


Структура такая же, как у оперативных чеков

   <receiptDateTime>

        <receiptOpenDateTime>




   <receiptOpenDateTime>


*


   <cashierCode>


*

Int(11)

   <cashierName>


*

String(100)

   <type>


*

Int(11)

(

аналогично оперативному чеку

)

    <amount>




    <supervisor>  

кассир

Кассир, разрешивший отмену

*


        <id>


*

Int(11)

        <name>


*

String(100)

    </supervisor>




    <item>


0:∞


       <position>


*

Int(11)

       <article>


*

String(40)

       <barcode>



String(40)

       <quantity>


*

Decimal(20.3)

       <price>


*

Decimal(20.2)

       <total>


*

Decimal(20.2)

       <stockId>



Int(11)

       <enterType>


*

Int(11)

Возможные значения

– возможные значения такие же, как для чека

     </item>




  </receipt>




</shift>





Проблемы

  1. Выгрузка доп.свойств

...