З Вересня 2024 року запрацювала програма "Національний кешбек" за якою покупці можуть отримати до 10% від вартості товарів українського виробництва.
Умови участі:
Як доєднатись до програми детальніше читайте за посиланням.
Далі розказуємо про останній пункт, а саме як коректно передавати дані в ДПС для участі в програмі.
Для того щоб дані передавались коректно потрібно оновити Device Manager до версії 5.197.1 або вище.
Загалом для коректної передачі даних для участі в програмі "Національний Кешбек" потрібно виконати 3 пункти:
Детальніше:
Для того щоб штрихкод передавався в ДПС та відображався в чеках потрібно в json body запиту до товару (fiscal.receipt.rows
) додати:
"code1"
- значення штрихкоду.
Якщо до всіх товарів у вас і раніше передавались штрихкоди при фіскалізації чеків, даний пункт можна пропустити.
Приклад запиту:
{
"ver": 6,
"device": "postgres1",
"type": 1,
"pay": {
"task": 1,
"cancelid": "000007"
},
"fiscal": {
"cashier": "",
"task": 1,
"receipt": {
"sum": 1,
"pays": [
{
"type": 0,
"sum": 1
}
],
"rows": [
{
"code1": "4044572307200",
"name": "Товар 1",
"cnt": 1,
"price": 1,
"cost": 1,
"taxgrp": 7,
"disc": 0
}
]
}
}
}
Приклад чеку:
Згідно вимог участі в "Національному кешбеку" потрібно обов'язково передавати 4 пункти даних які були отримані з терміналу, а саме
Проте вимогою податкової при проведенні безготівкових розрахунків за допомогою терміналів є вказувати всі дані по платіжному засобу згідно наказу 13
Які поля потрібно заповнити для коректної відправки даних в ДПС та відображення даних на чеку?
Якщо ви використовуєте термінал що підключено в Device Manager та робота з терміналом здійснюється через Device Manager в пакетному режимі цей пункт можна пропустити. Всі дані автоматично будуть додані в чек та передані в ДПС.
Якщо термінал підключено до вашої облікової системи тоді потрібно передати наступні дані до безготівкової оплати в масиві об'єктів fiscal.receipt.pays
.
Тег | Тип json даних | Зміст |
---|---|---|
bank_name | string | Назва банку еквайера. Необов'язкове поле. Вказується виключно як інформаційне поле для відображення в формі чеку назви банку еквайра. Дані вказані в це поле не відправляються в ДПС. |
bank_id | string | Ідентифікатор екваєра торгівця. Фактично є кодом мерчанту торгівця в системі банку. |
term_id | string | Ідентифіктор платіжного пристрою. Вказується внутрішній ідентифікатор терміналу який використовується. |
paysys | string | Назва платіжної системи до якої належить платіжний засіб покупця. |
rrn | string | Ідентифікатор трансакції, що надається еквайром та ідентифікує операцію в платіжній системі. |
cardmask | string | Замаскований згідно правил платіжної системи номер платіжного засобу(картки). |
auth_code | string | Код авторизації, що ідентифікує операцію в платіжній системі. |
show_additional_info | boolean | Показувати додаткову інформацію на друкованій формі чеку, а саме рядок "Комісія", якщо вона рівна 0 та поля для підпису касира і держателя ЕПЗ. Є необов'язковим. |
oper_type | string | Вид операції. Вказання найменування виду операції. Є необов'язковим. Якщо не заповнено - на чеку та в ДПС буде відображено "Оплата"(для чеків на продаж), та "Повернення"(для чеків на повернення) |
Приклад запиту
{
"ver": 6,
"device": "postgres1",
"type": 1,
"pay": {
"task": 1,
"cancelid": "000007"
},
"fiscal": {
"cashier": "",
"task": 1,
"receipt": {
"sum": 1,
"pays": [
{
"type": 2,
"sum": 1,
"oper_type": "Оплата",
"show_additional_info": false,
"paysys": "MASTER",
"rrn": "087619612907",
"cardmask": "XXXXXXXXXXXX5840",
"term_id": "S1K90HCY",
"bank_id": "S1K90HCY",
"bank_name": "ПриватБанк",
"auth_code": "075204"
}
],
"rows": [
{
"code1": "4044572307200",
"name": "Товар 1",
"cnt": 1,
"price": 1,
"cost": 1,
"taxgrp": 7,
"disc": 0
}
]
}
}
}
Приклад чеку
В деяких банків, як у прикладі у Приватбанку ідентифікатор мерчанту та терміналу однакові, проте вони можуть бути різні залежно від банку та протоколу роботи з терміналами.
Згідно вимог до участі в "Національному кешбеку" у чеку повернення обовязково вказувати номер фіскального чека по якому проводиться повернення. Та якщо повернення проводиться іншою фіскальною касою, потрібно додатково вказувати фіскальний номер каси, за яким проводилась операція продажу.
Для того щоб вказати в чек повернення фіскальний номер чеку на продаж або вказати фіскальний номер ПРРО потрібно в JSON body запиту для чеків повернення ("task": 2
) в fiscal.receipt
передати наступні значення:
"purchase_receipt_fisn"
- фіскальний номер чеку на продаж на основі якого здійснюється повернення.
"purchase_rro_fisn"
- фіскальний номер РРО або ПРРО з якого було здійснено оригінальний продаж товару по чеку вказаного в purchase_receipt_fisn
.
На чеку повернення після хедера чеку буде відображено фіскальний номер чеку продажу, якщо він наявний та номер ПРРО з якого проведено чек продажу якщо він наявний та не дорівнює фіскальному номеру каси по якій здійснбється повернення.
Якщо дані коректно передані ДПС у відповіді на фіскалізацію чеку повернення в об'єкті info
буде поверненно значення які було відправлено в ДПС.
Приклад запиту:
{
"ver": 6,
"device": "postgres5",
"type": 1,
"fiscal": {
"cashier": "",
"task": 2,
"receipt": {
"sum": 1,
"purchase_receipt_fisn": "TEST_gBrOUhU9r4M_Jg",
"purchase_rro_fisn": "999996655555555",
"pays": [
{
"type": 2,
"sum": 1,
"paysys": "MASTER",
"rrn": "087619612907",
"cardmask": "XXXXXXXXXXXX5840",
"term_id": "S1K90HCY",
"bank_id": "S1K90HCY",
"bank_name": "Приватбанк",
"auth_code": "CANCEL",
"oper_type": "Повернення",
"show_additional_info": false
}
],
"rows": [
{
"code1": "4044572307200",
"name": "Товар 1",
"cnt": 1,
"price": 1,
"cost": 1,
"taxgrp": 7,
"disc": 0
}
]
}
}
}
Приклад чеку