Начиная с версии 10.2.96.0 реализована возможность с помощью специального плагина Mastercard и только для карт данного типа производить выдачу наличных денежных средств на кассе покупателю вместе с транзакцией оплаты покупки.
1. Перейдите в Интеграция → кликните Внешние процессинги → кликните .
2. Наберите наличн → клинките Процессинги товаров → установите флажок Наличные с покупкой → кликните .
3. Кликните по плагину Наличные с покупкой.
4. Установите настройки работы плагина на вкладках ОБЩИЕ:
Для разных магазинов торговой сети могут использоваться разные настройки плагина (телефон платежного агента, банковские реквизиты и т.д.). |
5. Так как услуга снятия наличных будет добавляться в чек как обычный товар, установите настройки поведения для него, как и для других товаров на вкладках ТОВАР:
6. Кликните .
7. Перейдите в Кассовый модуль → кликните Шаблоны касс → кликните → выберите Редактировать.
8. Перейдите на вкладку ПРОЦЕСС ТОРГОВЛИ → введите в строку поиска Mastercard → установите флажок для типа товара Плагин CashOut-Mastercard → кликните .
9. Все настройки отправятся на кассы. Для применения их применения перезагрузите кассовый модуль.
Добавление товара для выдачи наличных на кассе SetTouch производится только двумя способами. В ручную ввод штрихкода услуги товара выдачи наличных невозможен на кассе SetTouch.
Подробнее в главе Указание штрих-кода в плитках меню SetTouch.
1. Например, если у Вас есть существующий шаблон меню, перейдите в Кассовый модуль → кликните Настройки меню Set Touch → кликните → выберите Редактировать.
2. Кликните по любому дню → выберите Редактировать.
4. Установите тип шаблона По умолчанию → введите название вкладки меню → кликните по плитке → установите флажок Ввести в ручную → введите штрихкод услуги товара выдачи наличных → кликните .
Кассу перезагружать не нужно. Меню обновиться автоматически.
После процесса продажи чек выдачи наличных и чек продажи товара отображаются в разделе Операционный день → Чеки.
Чек продажи с обычным товаром в операционном дне будет первее чека с товаром-услугой выдачи.
В нем будет отображаться обычная товарная позиция.
На вкладке ОПЛАТЫ будет отображена только сумма, оплаченная за эту товарную позицию.
При этом общая сумма банковской транзакции будет отображатсья на вкладке ТРАНЗАКЦИИ ОПЛАТЫ именно чека с товарной позицией.
Чек продажи с товаром-услугой выдачи наличных в операционном дне будет после чека с товарной позицией.
В нем будет отображаться позиция товара-услуги выдачи наличных.
При этом артикул товара будет с кодом CASHOUT.
На вкладке ОПЛАТЫ будет отображена сумма к выдаче с наличным типом оплаты.
На вкладке ТРАНЗАКЦИИ операция по списанию с карты не отображается в данном типе чека.
Экспорт чеков и Z-отчетов в ERP производится согласно интеграционной документации по выгрузке:
В чеке продажи с обычным товаром производится экспорт данных о транзакции выдачи наличных с плагинным свойством <plugin-property key="cashout.amount" value="100000"/>
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <purchases count="1"> <purchase tabNumber="123123" userName="Иванова Ксения Ивановна" operationType="true" operDay="2021-03-23+03:00" shop="234" cash="9" shift="79" number="21" saletime="2021-03-23T16:45:15.925+03:00" begintime="2021-03-23T16:44:49.151+03:00" amount="28.8" discountAmount="0.0" inn="7802781104" qrcode="t=20210323T1645&s=28.80&fn=null&i=541&fp=2974060208&n=1"> <plugin-property key="UID_PURCHASE" value="f22c29e1-d779-42bd-9f8b-680b429b1099"/> <positions> <position order="1" departNumber="583" goodsCode="45033" barCode="4607141310331" count="1.0" cost="28.8" nds="10.0" ndsSum="2.62" discountValue="0.0" costWithDiscount="28.8" amount="28.8" dateCommit="2021-03-23T16:44:49.161+03:00" insertType="3"> <plugin-property key="countryName" value="Россия"/> </position> </positions> <payments> <payment typeClass="BankCardPaymentEntity" amount="28.8" description="Оплата по банковской карте"> <plugin-property key="card.hash" value="320CBC12375D73A50F00B5DB36E977B779A5EC70"/> <plugin-property key="cash.transaction.id" value="495105"/> <plugin-property key="terminal.number" value="00689949"/> <plugin-property key="cash.transaction.date" value="2021-03-23 16:45:13.404"/> <plugin-property key="bank.id" value="Сбербанк"/> <plugin-property key="ref.number" value="161650712390"/> <plugin-property key="card.type" value="Mastercard"/> <plugin-property key="auth.code" value="06I200"/> <plugin-property key="cashout.amount" value="100000"/> <plugin-property key="bank.type" value="SBERBANK"/> <plugin-property key="card.number" value="************2380"/> </payment> </payments> </purchase> </purchases> |
В чеке выдачи наличных производится стандартный экспорт данных, но со значением тега о выдачи суммы goodsCode="CASHOUT"
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <purchases count="1"> <purchase tabNumber="123123" userName="Иванова Ксения Ивановна" operationType="true" operDay="2021-03-23+03:00" shop="234" cash="9" shift="79" number="22" saletime="2021-03-23T16:45:22.276+03:00" begintime="2021-03-23T16:44:49.151+03:00" amount="1000.0" discountAmount="0.0" inn="7802781104" qrcode="t=20210323T1645&s=1000.00&fn=null&i=542&fp=1932320400&n=6"> <plugin-property key="UID_PURCHASE" value="f22c29e1-d779-42bd-9f8b-680b429b1099"/> <positions> <position order="1" departNumber="1" goodsCode="CASHOUT" barCode="999777" count="1.0" cost="1000.0" nds="-1.0" ndsSum="0.0" discountValue="0.0" costWithDiscount="1000.0" amount="1000.0" dateCommit="2021-03-23T16:44:54.247+03:00" insertType="2"> <plugin-property key="cashOutPosition" value="true"/> </position> </positions> <payments> <payment typeClass="CashPaymentEntity" amount="1000.0" description="Оплата наличными"/> </payments> </purchase> </purchases> |
1. Для экспорта Z-отчета переключите веб-сервис экпорта. Выполните скрипт в базе данных set:
На стороне ERP на версию 1.4:
UPDATE public.sales_management_properties SET property_value='1.4' WHERE property_key='export.set10wsclient.zreports.version'; |
На стороне SetRetail на версию 1.4:
UPDATE public.sales_management_properties SET property_value='1.4' WHERE property_key='export.file.zreports.version'; |
2. Данные о расходных операциях изъятия будут указаны в следующих полях, согласно интеграционной документации:
Элементы с данными по экспорту о расходных операциях:
<reversals>...</reversals>
- список операций по чеку расхода. <reversal operation="..." amount="..." sum="..."/>
- данные о типах расходных операций кроме выдачи/продажи.operation
:ANNULMENT
- операция аннулирования чека целиком.CANCEL
- операция отмены добавления позиции, то есть, отмены товара из подвала чека.STORNO
- операция удаления товарной позиции из чека.amount
- количество товаров по данной операции.sum
- сумма стоимости товаров по данной операции.<countExpenseReceipt>...</countExpenseReceipt>
- количество чеков расхода.<countCashExpenseReceipt>...</countCashExpenseReceipt>
- количество наличных чеков расхода.<countCashlessExpenseReceipt>...</countCashlessExpenseReceipt>
- количество безналичных чеков расхода.<amountByExpenseReceipt>...</amountByExpenseReceipt>
- сумма чеков расхода.<amountByExpenseReceiptFiscal>...</amountByExpenseReceiptFiscal>
- сумма чеков расхода в ФР.<amountByCashExpenseReceipt>...</amountByCashExpenseReceipt>
- сумма наличных чеков расхода.<amountByCashlessExpenseReceipt>...</amountByCashlessExpenseReceipt>
- сумма безналичных чеков расхода.<incresentTotalExpenseStart>...</incresentTotalExpenseStart>
- нарастающий итог расхода на начало смены.<incresentTotalExpenseFinish>...</incresentTotalExpenseFinish>
- нарастающий итог расхода на конец смены.<countReturnExpenseReceipt>...</countReturnExpenseReceipt>
- количество чеков возврата расхода.<countCashReturnExpenseReceipt>...</countCashReturnExpenseReceipt>
- количество наличных чеков возврата расхода.<countCashlessReturnExpenseReceipt>...</countCashlessReturnExpenseReceipt>
- количество безналичных чеков возврата расхода.<amountByReturnExpenseReceipt>...</amountByReturnExpenseReceipt>
- сумма чеков возврата расхода.<amountByReturnExpenseReceiptFiscal>...</amountByReturnExpenseReceiptFiscal>
- сумма чеков возврата расхода в ФР.<amountByCashReturnExpenseReceipt>...</amountByCashReturnExpenseReceipt>
- сумма наличных чеков возврата расхода.<amountByCashlessReturnExpenseReceipt>...</amountByCashlessReturnExpenseReceipt>
- сумма безналичных чеков возврата расхода.<incresentTotalReturnExpenseStart>...</incresentTotalReturnExpenseStart>
- нарастающий итог возврата расхода на начало смены.<incresentTotalReturnExpenseFinish>...</incresentTotalReturnExpenseFinish>
- нарастающий итог возврата расхода на конец смены.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <reports count="1"> <zreport> <reportType>ZReport</reportType> <shiftNumber>79</shiftNumber> <shopNumber>234</shopNumber> <docNumber>26</docNumber> <cashNumber>9</cashNumber> <serialCashNumber>0000000000029350</serialCashNumber> <userTabNumber>123123</userTabNumber> <userName>Иванова Ксения Ивановна</userName> <dateOperDay>2021-03-23+03:00</dateOperDay> <dateShiftClose>2021-03-23T17:31:28.475</dateShiftClose> <dateShiftOpen>2021-03-23T13:33:44.592</dateShiftOpen> <countCashPurchase>0</countCashPurchase> <countCashlessPurchase>8</countCashlessPurchase> <countPurchase>8</countPurchase> <countCashReturn>0</countCashReturn> <countCashlessReturn>0</countCashlessReturn> <countReturn>0</countReturn> <counterIncoming>4</counterIncoming> <counterWithdrawal>1</counterWithdrawal> <amountByCashPurchase>0.00</amountByCashPurchase> <amountByCashlessPurchase>230.40</amountByCashlessPurchase> <amountByPurchaseFiscal>230.40</amountByPurchaseFiscal> <amountByCashReturn>0.00</amountByCashReturn> <amountByCashlessReturn>0.00</amountByCashlessReturn> <amountByReturnFiscal>0.00</amountByReturnFiscal> <amountCashIn>23.00</amountCashIn> <amountCashOut>1500000.00</amountCashOut> <amountCashDiscount>0.00</amountCashDiscount> <returnDiscountCashPay>0.00</returnDiscountCashPay> <incresentTotalStart>155449995</incresentTotalStart> <incresentTotalFinish>155473035</incresentTotalFinish> <incresentTotalReturnStart>664452</incresentTotalReturnStart> <incresentTotalReturnFinish>664452</incresentTotalReturnFinish> <factoryCashNumber>0128061140</factoryCashNumber> <cashName>Пирит 2Ф</cashName> <inn>7802781104</inn> <payments> <payment typeClass="CashPaymentEntity" amountExpense="11028.80"/> <payment typeClass="BankCardPaymentEntity" amountPurchase="230.40"/> </payments> <reversals> <reversal operation="STORNO" amount="0.000" sum="0.00"/> </reversals> <countExpenseReceipt>8</countExpenseReceipt> <countCashExpenseReceipt>8</countCashExpenseReceipt> <countCashlessExpenseReceipt>0</countCashlessExpenseReceipt> <amountByExpenseReceipt>11028.80</amountByExpenseReceipt> <amountByExpenseReceiptFiscal>11028.80</amountByExpenseReceiptFiscal> <amountByCashExpenseReceipt>11028.80</amountByCashExpenseReceipt> <amountByCashlessExpenseReceipt>0.00</amountByCashlessExpenseReceipt> <incresentTotalExpenseStart>18710000</incresentTotalExpenseStart> <incresentTotalExpenseFinish>19812880</incresentTotalExpenseFinish> <countReturnExpenseReceipt>0</countReturnExpenseReceipt> <countCashReturnExpenseReceipt>0</countCashReturnExpenseReceipt> <countCashlessReturnExpenseReceipt>0</countCashlessReturnExpenseReceipt> <amountByReturnExpenseReceipt>0.00</amountByReturnExpenseReceipt> <amountByReturnExpenseReceiptFiscal>0.00</amountByReturnExpenseReceiptFiscal> <amountByCashReturnExpenseReceipt>0.00</amountByCashReturnExpenseReceipt> <amountByCashlessReturnExpenseReceipt>0.00</amountByCashlessReturnExpenseReceipt> <incresentTotalReturnExpenseStart>6560000</incresentTotalReturnExpenseStart> <incresentTotalReturnExpenseFinish>6560000</incresentTotalReturnExpenseFinish> </zreport> </reports> |
"Наличные с покупкой", составная операция, состоящая из двух частей: приход и расход.
Приход - это с, подтвержденная фискальным чеком прихода (продажи)
Расхода - это выдача наличных денежных средств, подтвержденная фискальным чеком расхода.
При наличии в чеке услуги "Наличные с покупкой", тип оплаты по умолчанию должен устанавливаться как "банковская карта (Сбербанк)", т.к. функционал работает только с процессингом Сбербанка.
Первая оплата всегда той картой, с которой будут сниматься наличные.
Сумма первой оплаты должна быть не менее чем суммы выдачи наличных + 0,01р.
Доплата может быть выполнена любым типом платежа, в том числе и "банковская карта (сбербанк)", но без выдачи наличных.
На текущий момент банковский процессинг Сбербанка не поддерживает функцию частичного одобрения транзакции (только оплата), поэтому текущей реализации эта функциональность не реализована. |
Касса вызывает плагин оплат (для Сбербанка) и передает ему чек.
Плагин оплат обращается к эквайринговому терминалу (sb_pilot) и передает ему запрос на выдачу наличных с покупкой:
если транзакция оплаты одобрена банком:
Плагин оплат передает кассе информацию об одобрении банком транзакции оплаты.
Касса создает дополнительный чек расхода и переносит в него услугу "Наличные с покупкой" из чека прихода (продажа).
Транзакция оплаты привязывается к чеку прихода (продажи). В транзакции указана полная сумма списания денежных средств со счета банковской карты покупателя.
если транзакция оплаты не одобрена банком полностью:
Плагин оплат сообщает кассиру об ошибке/отказе в проведении транзакции оплаты.
При ошибке связи кассир может повторить попытку оплаты. При ошибке недостаточности средств на счете - удалить услугу "Наличные с покупкой", уменьшить сумму выдачи наличных, уменьшить сумму приобретаемых товаров (удалить позиции, изменить количества). Касса возвращается в режим добавления товаров.
Услуга, "Наличные с покупкой" в чеке может быть только одна (одна позиция, количество - 1шт).
Выдача наличных может быть осуществлена только совместно с покупкой.
Редактирование количества услуги "выдача наличных" запрещено. Количество всегда равно - 1.
Выдача наличных возможна только при одновременной оплате той же оплате банковской картой суммы, минимальный размер которой - 0,01р. (константа. величина не настраиваемая).
При оплате чека с услугой "Наличные с покупкой", первой должна быть применена карта, с которой будет осуществляться выдача наличных. Доплаты, при их наличии, могут быть выполнены любым типом оплаты и любыми картами.
Выполняется в двух вариантах:
Возврат по чеку (полный или частичный).
Произвольный возврат.
Возврат наличных только по чеку (произвольный недопустим)
должен открываться денежный ящик для приема возвращаемых покупателем наличных
активируется банковский платежный терминал (Сбербанк) для применения банковской карты покупателем
Возврат наличных может быть выполнен только:
на ту карту, с которой наличные выдавались.
в той же торговой точке, в которой выдавались наличные
в той же торговой точке и в том же операционном дне, в которых выдавались наличные
При возврате оформляются возвратные фискальные документы на оба чека (продажа и наличные) в полном объеме. Чек продажи необходимо формировать вновь.
Возврат производится только с помощью команд sb_pilot.
Операция «Возврат» проводится, если требуется вернуть денежные средства на карту клиента.
Операция возврата может быть преобразована в операцию отмены терминалом автоматически, в случае если выполняются следующие условия:
При аннулировании чека с услугой "наличные с покупкой" банковская транзакция так же должна быть отменена, для того чтобы денежные средства не резервировались и не списывались со счета покупателя.
В случае аварийной ситуации, когда сделка по выдаче наличных еще не исполнена, то есть. не получен фискальный кассовый чек и/или не деньги не приняты покупателем, или покупатель отказался от покупки (нехватка денежных средств для доплаты, после совершения первого частичного платежа с выдачей наличных), возможно аннулирование чека и отмена банковской транзакции в полном объеме.
Аннулирование чека производится стнадртным способом.
1. Кассир добавляет товар-услугу вводом штрих-кода.
2. Появляется меню выбора суммы для выдачи.
3. Кассир выбирает сумму → нажимает клавишу ВВОД.
4. Товар-услуга добавился в позиции чека.
5. Следующим этапом добавляет любой другой товар.
|
6. Кассир добавляет обычный товар для продажи.
7. Товар для продажи добавился в чек → кассир нажимает РАСЧЕТ.
8. Появляется сообщение о том, что покупка будет разделена на два чека → кассир нажимает клавишу ВВОД.
9. Появляется сообщение о том, что покупатель должен произвести авторизацию банковской карты.
10. На пин-паде появляется вопрос к покупателю с просьбой об авторизации карты.
11. Покупатель прикладывает карту к пин-паду.
12. Вводит пин-код и подтверждает его.
13. Отправляется запрос в банк.
14. В случае успешного ответа, на пин-паде появляется положительный статус.
15. Печатаются чековые документы:
16. Открывается денежный ящик, кассир отдает покупателю наличные, указанные в размере выдачи товара-услуги.
17. Кассир закрывает денежный ящик и продолжает работу.
1. Кассир добавляет обычный товар в чек.
2. Кассир переходит на вкладку меню с товаром-услугой выдачи наличных и нажимает кнопку с этой позицией.
|
4. Появляется меню выбора суммы для выдачи → кассир выбирает сумму выдачи и нажимает .
5. Позиция с суммой выдачи добавилась в чек → кассир нажимает .
6. Появляется сообщение о том, что покупка будет разделена на два чека → кассир нажимает клавишу .
7. Появляется итоговая сумма → кассир нажимает .
8. Появляется сообщение о том, что покупатель должен произвести авторизацию банковской карты.
9. На пин-паде появляется вопрос к покупателю с просьбой об авторизации карты.
10. Покупатель прикладывает карту к пин-паду.
11. Покупатель вводит пин-код и подтверждает его.
12. Отправляется запрос в банк.
13. В случае успешного ответа, на пин-паде появляется положительный статус.
11. Печатаются чековые документы:
12. Открывается денежный ящик, кассир отдает покупателю наличные, указанные в размере выдачи товара-услуги.
13. Кассир закрывает денежный ящик и продолжает работу.
<Письмо> ФНС России от 13.11.2018 N ЕД-4-20/22064 "О направлении методических указаний"
В ОФД товар-услуга записывается в тег 1030.
Признаки расчета записываются во второй чек продажи обычного товара.
Для выполнения операции «Возврат» кассовая программа должна вызвать модуль sb_pilot со следующими параметрами:
sb_pilot 3 <Сумма> <Тип_карты> <Трек2\QSELECT> <RRN> /q=<REQ_ID> /r=<Код_валюты> /d=<Номер_отдела> |
Аргументы /d и /r, при их наличии во входных данных, будут использоваться как дополнительные условия при поиске исходных операций. При выполнении операции без карты с выбором исходной транзакции по RRN, терминал копирует из исходной операции код валюты и номер отдела.
Пример вызова модуля sb_pilot для проведения операции «Возврат» на сумму 300 руб. без предъявления карты
sb_pilot 3 30000 0 QSELECT /q=ABCDABCD |
Пример вызова модуля sb_pilot для проведения операции «Возврат» на сумму 500 руб. с предъявлением карты
sb_pilot 3 50000 /a=ABCDABCD |