Запуск QR Меню. Запитання та відповіді.

Фундаментом всіх даних для QR меню є реплікація довідників з вашої облікової системи. Це підрозділи компанії (торгові точки, кафе, заклади фастфуду, банкіські рахунки), це перелік товарних найменувань, це товарні залишки (який товар, на якій точці в якій кількості та по якій ціні продається.

Детально механізм обміну даними між вашою обліковою системою і касовим сервером Shopserver описано в статті Shopserver. Схема обміну даними.

Схема запуску QR Меню

Яким чином реалізується та налаштовується можливість онлайн сплати замовлення через QR-меню (liqpay), про яку згадується у відео-інструкції на сайті?

В самому QR меню ці дані не налаштовуються. Ці дані налаштовуються в обліковій системі (TCU, BAS та інших). Щоб прийняти оплату від покупця нам потрібно знати три речі - куди повинні надійти кошти, відкритий ключ Liqpay та приватний ключ Liqpay.

Ці три параметри зберігаються в довіднику торгових точок в обліковій системі і потім передаються з облікової системи до касового сервера через процес реплікації.

Чому ці дані зберігаються не в QR Меню, а в обліковій системі? Тому що використовується принцип єдиного джерела істини, в даному це запис торгової точки в довіднику підрозділів облікової системи. За цими параметрами може приймати оплату не лише QR Меню, а ще й інші фронт-офісні застосунки, наприклад, веб-сайт інтернет магазину. Якщо платіжні параметри раптом зміняться, достатньо їх змінити в одному місці - в картці торгової точки довідника підрозділів облікової системи. Далі ці параметри будуть автоматично підхоплені іншими системами.

В контейнері реплікації, який вивантажується з облікової системи до касового сервера є розділ "Departments", в якому нас цікавлять три поля.

  1. SiteIncomingPaymentsDepartmentId - Id подрозділу компанії, в який надходять кошти (він буде вказаний в документі оплати чека)
  2. LiqPayPrivateKey - Приватний ключ для оплат через систему LiqPay Приватбанку
  3. LiqPayPublicKey - Відкритий ключ для оплат через систему LiqPay Приватбанку. Ключі надає Приватбанк, для цього зв'яжіться з їх консультантами.

Таким чином ми для кожного підрозділу компанії (а підрозділ - це як раз заклад - кафе, ресторан, точка фастфуду) можемо налаштувати окремі параметри для оплати. По перше, коли формується прибутковий касовий ордер всередині чека, ми одразу кажемо на який підрозділ нашої компанії (а це підрозділ, який відповідає банківському рахунку, варто в обліковій системі його завести в довідник окремо) будуть надходити кошти. І друге, якщо в нас для різних закладів використовуються різні рахунки еквайрінгу (це куди ми приймаємо платежі покупців), ми прописуємо для них окремі параметри для оплати карткою (це за потреби, але може бути, що у вас всі ці параметри для всіх закладів будуть однаковими).

Чи є можливість обмеження часу замовлення через QR-меню? Мається на увазі, щоб покупець не міг зробити замовлення в неробочий час закладу.

Зараз такої можливості немає, але для такої реалізації немає нічого складного. В налаштуваннях меню в переліку закладів можна додати для кожного закладу години роботи. Це функціонал, який потрібно реалізовувати.

Чи можна зробити QR-меню одразу на 30 закладів?

Так, без проблем. Створюємо нове QR Меню в кабінеті Base2Base (не плутаємо з "Меню Швидкого доступу" - це меню для кас самообслуговування в магазинах), заповнюємо назву, налаштовуємо кольори, формуємо групи товарів і додаємо товари із загального довідника. Групи товарів у QR Меню створюються окремо і не залежать від груп товарів загального довідника товарів.

Переходимо в розділ "Ієрархічне меню" і створюємо розділи для товарів і додаємо туди страви чи просто товари.

Звідки беруться ціни на товари і як їх завантажити в QR-меню?

Варто звернути увагу, що в кінцевому QR Меню для кожного закладу з переліку товарів будуть присутні лише ті, для яких були додані товарні записи (Inventory Records) в контейнері реплікації.

Кожен такий запис повідомляє систему, що на певному підрозділі фізично існує певний товар по певній роздрібній ціні. Також треба враховувати дозволи на продаж (поле SaleStatus)

та загальний статус товарного запису (поле Status)

Чи буде в цьому випадку QR Меню однаковим на всіх точках?

На кожній точці маємо свій перелік товарних записів (Inventory Records) які показують фізичну присутність (або можливість виготовлення) товарів з певною роздрібною ціною на цій точці. Коли QR Меню в телефоні покупця виводить перелік товарів, воно читає загальний перелік товарів, що був доданий до меню в кабінеті, потім дивиться наявність товарних позицій з товарних запасів на цій точці.
І виведе лише ті товари з загального переліку, які присутні на цій точці по цінам цієї точки.

Щоб це меню розповсюджувалось на певні заклади, додамо їх в останньому розділі "Призначення на підрозділи"

Для кожного підрозділу можна налаштувати можливість приймати замовлення, приймати оплати, здійснювати доставку. Для кожного закладу буде друкуватись окремий QR код, якщо ми натиснемо на відповідний значок qr коду в кінці рядка.

Якщо вкажемо кількість столиків, тоді окремий qr код буде друкуватись для кожного столика.

Чи є можливість реалізувати інформування саме касира про нові замовлення? Клієнт аргументує це можливою складністю роботи з імпортом замовлень в Шопдеск під час напливу покупців та побоюється випадків, коли замовлення було виконане, але не сплачене.

Shopdesk - це робоче місце касира, яке має одне просте завдання - максимально швидко і максимально точно формувати продажі.

Що стосується замовлень, які в реальному часі надходять до закладу, для цього існує інший додаток - Cookdesk, де видно, як надходять нові замовлення, їх можна брати в роботу, змінювати статус з нового на "виготовляється", і коли страви з замовлення готові, перевести це замовлення в статус "готово". Клієнт в QR меню отримає про це відповідне повідомлення.

Лише коли приходить час видачі замовлення на касі, касиру повідомляється номер замовлення (повідомити може як кухар (він цей номер бачить у Cookdesk), так і клієнт, який замовлення формував в телефоні, там він номер замовлення бачить), касир вводить номер у Shopdesk і отримує готовий чек із вмістом замовлення. Після чого чек залишається провести. Якщо замовлення було попередньо сплачене покупцем в самому меню, транзакція оплати автоматично завершується. Якщо це замовлення, яке сплачується зараз, касир бере оплату, як за звичайний чек (або готівкою, або карткою, або одночасно і готівкою і карткою). Після чого чек фіскалізується і купівлю вважаємо завершеною. І лише тоді товар видається покупцю або кур'єру. Таким чином касир не може видати замовлення, яке не сплачене. До замовлення повинен бути докладений чек.

Насправді, тут питання не в програмі, щоб касир бачив замовлення. Питання в організації бізнес-процесів, в організації праці.

На цьому відео добре видно весь процес, і якщо навантажити касира всім цим функціоналом під час інтенсивного потоку клієнтів, він точно не впорається. Тому потрібно виділяти під це окрему людину. Якщо продажі через QR меню випадкові, то просто кладете окремий планшет, де касир відстежує такі замовлення сам. Планшет буде просто розширенням робочого місця касира.

Чи потрібно використовувати лише Trade Control Utility в якості облікової системи для роботи з QR Меню?

Ні. Використовуватись може будь яка облікова система. Завдання облікової системи - вивантажити довідники та залишки до касового сервера Shopserver, а назад отримати чеки з продажами. Це може бути і TCU, і Torgsoft, і, не до ночі будь згаданий 1С замаскований під BAS.

Як відбувається оплата за готівку, як касир дізнається про замовлення з QR Меню.

Нові замовлення надходять до Cookdesk, де вони автоматично з'являються на екрані. Зазвичай такими замовленнями займається кухар або людина-збірник замовлень.

Опишемо ідеальну схему роботи для закладу, який обробляє не лише прямі замовлення, а й замовлення, що надходять з QR меню.

Маємо три посади - касир, кухар та збірник.

Замовлення, яке створив клієнт у QR меню автоматично і миттєво з'являється в додатку Cookdesk. Кухар в порядку черги бере це замовлення в роботу (змінює статус замовлення на "Виготовляється") і виготовляє його. Коли замовлення готове, кухар змінює статус замовлення на "Готове" і в роботу вступає збірник. Він формує пакунок, перевіряє по планшету з Cookdesk наявність всіх страв.

Якщо це онлайн сплачене замовлення, касиру повідомляється номер замовлення, і касир проводить це замовлення як чек із фіскалізацією та роздруківлею фіскального чека. Після цього замовлення доставляється покупцю.

Якщо це не сплачене замовлення, касиру повідомляється номер замовлення, то спершу кур'єр доставляє замовлення покупцю, і лише потім, повернувшись, повідомляє касиру номер замовлення, віддає готівку касиру, і касир проводить це замовлення як чек звичайний чек.

Andriy Kravchenko

Andriy Kravchenko

Admin, Writer, File Uploader

Останнє оновлення:

4/4/2026 8:57:26 PM

377

Запитання та відгуки

Igor Migulin

Igor Migulin

Користувач

Останнє оновлення:

4/4/2026 8:57:26 PM

1. Не работает авторизация на портале поддержки через учетные данные основного сайта.
2. Не работает экспорт в разделе qr меню (выгружает .json файл с непонятным конфигом).
3. Не работает импорт в разделе qr меню (Unexpected character encountered while parsing value: P. Path '', line 0, position 0.)

4. Как происходит сопоставление позиций из загруженного excel файла и товарами из справочника? Или название должно быть идентично? В том же справочнике названия товаров зачастую имеют длинное название (занесли, напрмер, как было в накладной) и такое название не подходитдля меню.
5. Как после загрузки excel файла редактировать описание и картинки? Я не вижу таких разделов в самом web интерфейсе.
6. И все таки как формируется цена? Она передается из excel файла (первоначальная инструкция) или из контейнера репликации как в этой инструкции?
7. Планируется ли введение функционала по ограничению времени работы qr кода (возможность заказа=времени работы точки)?

Коментарів (2)


Andriy Kravchenko

Admin, Writer, File Uploader

4/7/2026 3:56:06 PM

1. Не работает авторизация на портале поддержки через учетные данные основного сайта.

Тут треба уточнити, що ви маєте на увазі не облікові дані основного сайту, а облікові дані користувача всередині певної компанії.
В центрі підтримки потрібно зробити так, щоб будь яка людина могла зареєструватись і поставити питання. Не будемо ж ми вимагати, щоб
людина реєструвала компанію, і в середині компанії додавала користувача. Тому в центрі підтримки окрема реєстрація за стандартними практиками.
2. Не работает экспорт в разделе qr меню (выгружает .json файл с непонятным конфигом).
Він працює і люди ним користуються. Експорт призначений для того, щоб створити нове QR меню і не набирати страви заново, а просто імпортувати дані з іншого QR Меню.
Тобто берем перше меню, експортуємо дані в файл, створюємо друге qr меню і завантажуємо дані з файлу.
3. Не работает импорт в разделе qr меню ( Unexpected character encountered while parsing value: P. Path '', line 0, position 0.)
На всяк випадок перевірив процес експорту-імпорту. Все відпрацьовує штатно. Надішліть мені файл з меню, подивимось, що з ним не так.

Andriy Kravchenko

Admin, Writer, File Uploader

4/7/2026 4:01:37 PM

4. Как происходит сопоставление позиций из загруженного excel файла и товарами из справочника? Или название должно быть идентично? В том же справочнике названия товаров зачастую имеют длинное название (занесли, напрмер, как было в накладной) и такое название не подходитдля меню.
Імпорт з Excel має лише одну мету - швидко сформувати QR меню для тих користувачів, в яких не налаштовано жодного обміну даними з обліковою системою. При цьому мається на увазі, що ви лише зареєстрували компанію, всі ваші довідники порожні, будь яка реплікація даних з облікової системи відсутня. В цьому випадку імпорт з Excel заповнює довідник товарів і одразу формує QR Меню. Якщо у вас вже налаштований обмін даними між обліковою системою та касовим сервером, і ваша облікова система вже вивантажує до касового сервера довідники та залишки, у вас немає потреби в жодному імпорті з Excel. Ви просто формуєте QR меню прямо в редакторі на сайті, і зберігаєте його.


5. Как после загрузки excel файла редактировать описание и картинки? Я не вижу таких разделов в самом web интерфейсе.
Зображення товарів є частиною довідника товарів. Якщо ви використовуєте облікову систему, і вона вивантажує до касового сервера довідник товарів, вона повинна вивантажувати і зображення. Джерелом даних повинна бути одна система - ваша облікова. Інакше будуть виникати колізії. В обліковій системі одне зображення, в qr меню інше, в касі самообслуговування третє, на сайті - четверте. Це незручно і з точки зору керування даними і з точки зору їх цілісності.

Якщо у вас немає обміну даними між обліковою системою і касовим сервером ShopServer, на даний момент повторно проімпортувати меню неможливо. Мабуть, треба доробити функціонал для іморту зображень. Але за умови, що імпорт з облікової системи відсутній. Інакше облікова система просто перетре зображення, яке ви ввели вручну своїм зображенням.

6. И все таки как формируется цена? Она передается из excel файла (первоначальная инструкция) или из контейнера репликации как в этой инструкции?
Вам потрібно визначитись, як ви будете працювати. Джерело даних у вас повинно бути єдиним - або реплікація з облікової системи, або файл Excel. Але файл Excel - річ виключно допоміжна, початкова і обмежена. Його призначення - запустити QR меню тим, хто не бажає вести облік, приймати замовлення та оплати. Робота з Excel без обміну з обліковою системою - це виключно заміна паперового меню на меню в телефоні.

Що стосується ціни. На кожній торговій точці ведеться окремий облік товарних запасів зі своїми кількостями (залишками) і цінами. За це відповідає таблиця InventoryRecords, яка вміщує посилання на товар і торгову точку. Більш детально про це можна дізнатись у статті 
Shopserver. Схема обміну даними

7. Планируется ли введение функционала по ограничению времени работы qr кода (возможность заказа=времени работы точки)?
Так, це можна буде зробити.