HorecaPOSІнструкція Вступ До каси
UK

Інструкція HorecaPOS

Ця інструкція складається з трьох частин: спершу для персоналу (офіціантів), потім для менеджера і насамкінець для адміністратора. Кожна частина доповнює попередню: менеджер може все, що й офіціант, а адміністратор може все.

Що саме дозволено вашій ролі, адміністратор налаштовує в Налаштування → Права. Якщо ви не бачите якоїсь кнопки, ваша роль (поки що) не має на неї права.

Ця інструкція є і в касі: торкніться кнопки © праворуч унизу на будь-якому екрані й виберіть Інструкція або відкрийте http://<kassa-pc>:3000/handleiding. Див. також вступ і документацію API.

Частина 1 · Персонал

Початок роботи

Вхід. Відкрийте касу на касі, планшеті чи телефоні й введіть свій PIN-код (від 4 до 8 цифр). Після цього ви побачите план залу.

Вхід за PIN-кодом

Відкрити столик. Торкніться столика. Вільний столик отримує нове замовлення; на зайнятому ви продовжуєте вже наявне замовлення. Угорі можна перемикатися між залами (наприклад, Зал і Тераса). Для продажу біля стійки використовуйте Швидкий продаж, для замовлень на виніс — З собою.

План залу

Замовлення. Виберіть групу товарів і торкайтеся товарів. Вони з’являються в чеку ліворуч. За потреби спершу виберіть подачу (1 = одразу, 2 і 3 чекають, доки ви їх викличете). Торкніться Замовити: тоді кухонні чеки йдуть на кухню та в бар. Доки ви не торкнулися «Замовити», рядки можна просто видаляти.

Розрахунок. Торкніться Розрахунок, виберіть Картка / Bancontact, Готівка або Подарункова картка, за бажанням чайові, і підтвердіть. Під час оплати карткою платіж автоматично запускається на платіжному терміналі. Чек друкується; його також можна надіслати на e-mail.

Розрахунок

Вихід. Вийдіть, коли закінчите, щоб ніхто інший не працював під вашим ім’ям. Через 8 год вихід відбувається автоматично.

Немає інтернету? Каса просто працює далі. Якщо вгорі написано Немає інтернету · картка вручну, проведіть суму на самому платіжному терміналі й виберіть на екрані розрахунку Уже оплачено на терміналі.

Кілька груп за одним столиком

За одним столиком може сидіти кілька груп, кожна зі своїм рахунком і своїм чеком.

Розділення рахунку під час розрахунку

Екран розрахунку

Розрахунок працює як завжди: Усе за один раз. На екрані розрахунку рахунок тепер також можна розділити, кнопками під Назад і Розрахувати (так вони завжди залишаються на виду, без прокручування):

Часткова оплата проводить лише платіж; рахунок залишається відкритим, а на екрані замовлення видно "уже оплачено … · залишок …". Чек (з усіма платежами) друкується при останній оплаті, як і при звичайному розрахунку. Оплата карткою через підключення йде рівно на суму частки. Якщо вже є часткова оплата, рядки більше не можна переносити в іншу групу й додавати знижки; видаляти можна лише тоді, коли відкритої суми достатньо. Кожна часткова оплата записується в журнал.

Швидкий продаж і їжа з собою (без столика)

План залу зі Швидким продажем і З собою

Праворуч угорі на екрані столиків є Швидкий продаж і З собою. Обидві кнопки одразу відкривають замовлення без столика. Швидкий продаж — це продаж біля стійки (ПДВ на місці); З собою використовує ставку ПДВ для їжі з собою кожного товару. Через "Ім’я клієнта" можна додати ім’я; воно буде на чеку ("З собою – Jansen") і вгорі кухонного чека. Відкриті замовлення без столика показано під кнопками залів ("Без столика: З собою #12 – Jansen"), тож їх легко знайти. Якщо ви повертаєтеся, нічого не продавши, порожнє замовлення зникає автоматично.

Обидві кнопки можна вмикати й вимикати для кожного закладу в Налаштування → Заклад, одразу під світлою/темною темою (за замовчуванням увімкнено). Вимкнено = кнопку приховано; уже відкриті замовлення без столика залишаються видимими.

Доставка та часові проміжки

Замовлення, які ви приймаєте на касі самі, наприклад телефоном або біля стійки, за тими самими правилами, що й в інтернет-магазині: зони доставки та максимальна кількість замовлень на часовий проміжок. Вмикається в Налаштування → Заклад → Доставка та часові проміжки, одразу під кнопками Швидкий продаж і З собою (за замовчуванням вимкнено).

Розширення (усе за замовчуванням вимкнено; без цих налаштувань усе працює точно як описано вище):

Код: lib/bezorgen.ts, routes/bezorgen.ts, BezorgDialoog.tsx, BezorgInstellingen.tsx, BezorgKaart.tsx і lib/kaart.ts (карта, без додаткового пакета; той самий код є в інтернет-магазині як public/kaart.js).

Телефонія: розпізнавання клієнта під час телефонного замовлення

Налаштування → Телефонія (за замовчуванням вимкнено; після вимкнення все зберігається). Два окремі перемикачі:

Пошук ведеться в картці лояльності, замовленнях на доставку та з собою в касі, інтернет-магазині, Thuisbezorgd, платформах доставки та бронюваннях. Номери зводяться до одного вигляду (+31 6 1234 5678, 0031612345678 і 06-12345678 — той самий номер; також бельгійські номери).

Як надходить номер (можна кілька способів одночасно; той самий дзвінок рахується один раз):

ДжерелоДляНалаштування
Webhook / action URL3CX (CRM-інтеграція), Aircall, Voys / VoIPGRID, Yeastar серії P, апарати з action URL при вхідному дзвінку (Fanvil, Grandstream, Mitel 6800/6900, Snom, Yealink: працює з будь-якою АТС і оператором), сервіси інтеграції (Zapier, Make, n8n, Power Automate)адреса з Налаштування → Телефонія (/api/telefonie/oproep?sleutel=...&nummer=...), GET або POST, JSON, форма або query; також через портал: https://<portaal>/telefonie/<kassa-id>/oproep?sleutel=...
Asterisk (AMI)Asterisk, FreePBX, Issabel, VitalPBX, Grandstream UCMадреса, порт (5038; Grandstream UCM 7777), користувач AMI і пароль (права call)
FRITZ!BoxFRITZ!Box з телефонієюадреса (fritz.box) і порт 1012; один раз увімкнути callmonitor за допомогою #96*5*
USB-caller-ID-модеманалогова стаціонарна лінія з визначенням номерапослідовний порт (COM3, /dev/ttyACM0), baud і команда ініціалізації (типово AT+VCID=1)
Android-смартфонвбудований телефон Android-смартфона закладузастосунок HorecaPOS на цьому телефоні, Налаштування → Телефонія → Прив'язати цей телефон (Android 10+: вибрати застосунок як застосунок для визначення номера)

Відповідь містить абонента, також як contact (firstname, lastname, phone, email, address) для CRM-шаблону 3CX. Вихідні та внутрішні дзвінки не показуються; Лише ці лінії обмежує певними лініями або апаратами. Дзвінки видаляються після строку зберігання (типово 30 днів, GDPR). Тестовий дзвінок імітує дзвінок із номера.

Код: apps/pos-server/src/lib/telefonie.ts, routes/telefonie.ts, packages/shared/src/telefonie.ts; екрани Telefonie.tsx, BezorgDialoog.tsx; Android android-app/native/java/Beller*.java. Журнал: Телефонія.

Власні кур'єри: рейси, здача виручки та track & trace

Для закладів із власними кур'єрами. Увімкніть у Налаштування → Заклад → Доставка → Власні кур'єри (типово вимкнено). Застосунок для кур'єра не потрібен: кур'єр користується сторінкою в браузері свого телефона (за бажанням — застосунком Optimum Bezorger: див. Застосунок для кур'єрів нижче).

Створення рейсу. У касі є кнопка Рейси (з кількістю доставок, які ще треба відправити, плюс рейси в дорозі).

  1. У розділі Готово до доставки позначте замовлення, які їдуть. Це замовлення на доставку з каси, інтернет-магазину та Thuisbezorgd (лише власна доставка; замовлення з кур'єром Thuisbezorgd — ні).
  2. Виберіть кур'єра (працівника) і розмінні гроші, які він бере з собою (за замовчуванням сума з налаштування), і натисніть Створити рейс.
  3. З'явиться QR-код. Кур'єр сканує його власним телефоном і бачить для кожної адреси ім'я, адресу з кнопкою Маршрут (навігація), Подзвонити, коментар, бажаний час і суму до отримання. Є калькулятор решти (клієнт дає € 50 → решта € 31,50). Входити в систему не потрібно. Діліться посиланням лише з кур'єром: хто його має, бачить адреси цього рейсу. Кнопкою QR-код для кур'єра ви створюєте нове посилання; старе перестає працювати.
  4. Натисніть Відправити, коли кур'єр їде. Розмінні гроші видаються з шухляди (видача грошей із зазначенням причини). Клієнт отримує повідомлення, що замовлення в дорозі:
    • для замовлення з каси — через SMS та/або e-mail, якщо увімкнено Повідомлення клієнту (див. «Доставка та часові проміжки»);
    • для інтернет-магазину — як налаштовано в інтернет-магазині (пошта, SMS або push-повідомлення);
    • для Thuisbezorgd — через Thuisbezorgd.

Поки рейс не виїхав, його ще можна скасувати.

  1. У дорозі кур'єр для кожної адреси натискає Доставлено, готівка, Доставлено, картка (власний платіжний термінал) або Доставлено (уже оплачено). Каса бачить це одразу. Якщо кур'єр не може це позначити, це можна зробити в касі. Повернувшись до закладу, кур'єр натискає Я повернувся до закладу.

Здача виручки. Після рейсу натисніть Розрахунок (право Керування грошовою шухлядою):

Track & trace (вмикається окремо в налаштуванні). Коли замовлення в дорозі, клієнт отримує посилання на сторінку відстеження на порталі. Посилання є в SMS або e-mail, а в інтернет-магазині — на сторінці статусу (Стежте за кур'єром). На сторінці відстеження показано:

Сторінки відображаються мовою телефона (усі мови порталу). У касі біля рейсу видно, коли місцезнаходження передавалося востаннє (з посиланням на карту).

Конфіденційність. Портал зберігає дані рейсу (імена, адреси, номери телефонів, місцезнаходження) лише поки рейс триває. Під час розрахунку все видаляється, інакше — через 24 год. Клієнт бачить лише своє замовлення. Місцезнаходження кур'єра видно лише під час рейсу й більше не видно, щойно кур'єр повернувся.

Планування рейсів (необов'язково)

Увімкніть у Налаштування → Заклад → Доставка → Планування рейсів (типово вимкнено; працює з власними кур'єрами). Тоді у вікні Рейси з'явиться кнопка Запропонувати рейси. Каса об'єднує замовлення, які ще треба доставити, у рейси:

Кнопкою Використати цей рейс ви позначаєте ці замовлення в цьому порядку; оберіть кур'єра й натисніть Створити рейс. Для рейсу, який ще не виїхав, Найкращий порядок ставить адреси в найшвидшому порядку (також на телефоні кур'єра). Біля кожного рейсу вказано відстань і час у дорозі.

Налаштування: адрес на рейс, скільки може тривати рейс, часове вікно, швидкість кур'єра (велосипед ~15, скутер ~25, авто ~35 км/год у місті) і хвилин на адресу (паркування, дзвінок у двері, розрахунок; типово 2). Ці значення може налаштовувати й менеджер: у вікні Рейси кнопкою Налаштувати планування рейсів (право Налаштувати планування рейсів, за замовчуванням увімкнене для менеджера; змінюється в Налаштування → Права). Увімкнення чи вимкнення планування рейсів і сервіс маршрутів (адреса, API-ключ) залишаються за адміністратором.

Відстань і час у дорозі, на вибір адміністратора:

Кнопкою Перевірити ви випробовуєте сервіс. Якщо сервіс не працює, планування повертається до оцінки й повідомляє про це. Адреса з невідомим розташуванням (немає дійсного поштового індексу й номера будинку) потрапляє в пропозиції до розділу без відомого розташування і не планується. Експорт конфігурації містить налаштування, але не ключ.

Код: lib/ritplanning.ts.

Застосунок для кур'єрів (необов'язково)

Увімкніть у Налаштування → Заклад → Доставка → Застосунок для кур'єрів (типово вимкнено; працює з власними кур'єрами та порталом керування). Тоді кожен кур'єр прив'язує свій телефон один раз замість сканувати QR-код для кожного рейсу:

  1. У Прив'язані телефони виберіть кур'єра (працівника), за потреби назву телефона, і торкніться Прив'язати телефон.
  2. З'явиться QR-код. Кур'єр сканує його в застосунку Optimum Bezorger (кнопка Прив'язати) або камерою телефона: тоді сторінка відкриється в браузері. Вона працює і без застосунку, її можна додати на головний екран.
  3. Прив'язка діє, доки ви її не відкличете; телефон одразу перестане щось бачити. Нова прив'язка для того самого працівника замінює стару (наприклад, у разі нового телефона).

У застосунку або на сторінці показано усі власні рейси (кожен рейс, який каса створює для цього кур'єра), з тими самими кнопками, що й у рейсі: Маршрут, Подзвонити, сума до отримання з калькулятором решти, Доставлено та Я повернувся до закладу. Окремо можна ввімкнути:

Застосунок для Android є в Google Play і на сторінці завантаження порталу (/download/). Версія для iPhone готова, але вийде лише тоді, коли буде обліковий запис розробника Apple; до того iPhone користуються вебсторінкою. У рейсі, який кур'єр узяв сам, указано взято самостійно в застосунку.

Код: lib/bezorgersapp.ts, у порталі src/volgen.mjs, а застосунок — у репозиторії horecapos-bezorger.

У журналі записано, хто створив рейс, відправив його, позначив доставку та провів розрахунок, із сумами. Вимкнення: кнопки «Рейси» немає; рейси та налаштування зберігаються.

На порталі: /bezorger/<sleutel> і /volg/<code>. Код: lib/bezorgers.ts, routes/bezorgers.ts, Bezorgers.tsx і в порталі src/volgen.mjs.

Сповіщення про довгий час виконання

Замовлення з собою або на доставку готове пізніше обіцяного: каса помічає це, сповіщає і може одразу надіслати клієнту вибачення, за бажанням з купоном. Вмикається в Налаштування → Заклад → Доставка → Сповіщення про довгий час виконання (за замовчуванням вимкнено).

Код: lib/telaat.ts, routes/telaat.ts, TeLaat.tsx і packages/shared/src/telaat.ts.

Кнопка Замовити: що вона робить і коли вона потрібна

Торкнутися товару й торкнутися Замовити — це два різні кроки:

Чому два кроки? Біля столу ви приймаєте все замовлення (напої, закуску, основну страву), ще коригуєте його, якщо гість передумає, а потім надсилаєте все разом на кухню — один чек на кожну станцію замість чека на кожен товар. Так кухня може почати задовго до оплати.

Що ще відбувається під час Замовити:

Можна й одразу розрахуватися. Якщо ви торкнетеся Розрахунок, коли на рахунку ще є нові рядки, каса спершу автоматично їх замовить, щоб кухня й бар завжди отримали свій чек. Тож за барною стійкою чи на винос не потрібно спершу торкатися Замовити: торкніться товарів і одразу Розрахунок. Якщо автоматичне замовлення не вдається (немає з'єднання, правило all-you-can-eat, чорна скринька), екран розрахунку залишається закритим, і ви бачите чому.

Не хочете, щоб бар отримував чек, коли ви одразу розраховуєте? У Налаштування → Заклад → Замовлення й розрахунок увімкніть позначку Прямий розрахунок без чека-замовлення. Тоді на кухню й у бар надходить лише те, що ви надсилаєте кнопкою Замовити; на те, що ви одразу розраховуєте, чек-замовлення не друкується.

Велика чи маленька кнопка Розрахунок

З позначкою Велика кнопка "Розрахунок" на екрані замовлення одразу під замовленими товарами є велика кнопка Розрахунок: широка, висока й із сумою, щоб швидко влучати. Якщо частину рахунку вже оплачено, на кнопці показано залишок. Маленька кнопка внизу поруч із Замовити тоді зникає.

З великою кнопкою кнопки на екрані розрахунку теж великі: Розрахунок (для Картки, Подарункової картки та інших способів оплати), а для Готівки Готівка без решти і Розрахунок широкі й високі, у них легко влучити навіть брудними пальцями (наприклад, у м'ясній крамниці). Способи оплати трохи більші, а кнопки чайових трохи менші, щоб усе залишалося на екрані.

Під час нової інсталяції позначку вимкнено: тоді маленька кнопка внизу поруч із Замовити і екран розрахунку зі звичайними кнопками. Хочете велику? У Налаштування → Заклад, одразу під світлою/темною темою, увімкніть позначку Велика кнопка "Розрахунок". Каса, яка вже була в користуванні, зберігає попереднє налаштування. Вибір діє для всіх кас і планшетів закладу.

Позначка "закінчився" для товару (розпродано)

Будь-хто може на екрані замовлення довго натиснути товар (або клацнути правою кнопкою миші) і вибрати Закінчився. Товар стає сірим, і його більше не можна замовити на жодній касі. Так само його повертають через Знову доступний. Кожна зміна записується в журнал. Адміністратор, як і раніше, може зробити це в Налаштування → Товари. Касовий сервер теж відхиляє товар із позначкою "закінчився" ("Cola" закінчилася), тож і з планшета, який ще не отримав зміну, або для збережених офлайн замовлень; такий планшет тоді показує "Не вдалося надіслати".

Кухонний екран (KDS)

Окрім (а не замість) принтерів кухонних чеків кухня чи бар можуть користуватися екраном. Відкрийте на планшеті/ПК на кухні http://<kassaserver>:3000/keuken, увійдіть за PIN-кодом і виберіть станцію: це ті самі назви, що й у принтерів (кухня, бар, ...), тож на екрані саме те, що було б на цьому кухонному чеку. "Усі" показує всі станції.

Екран оновлюється одразу сам. Кухонні чеки й далі друкуються; хто не користується екраном, нічого не помітить.

Кухонний екран: передавання, порядок і подача

Налаштування → Принтери → Кухонний екран. Кожну частину вмикають окремо, типово вимкнено; під час вимкнення все зберігається.

Кухонний принтер вимкнено або немає кухонного екрана

Каса завжди працює далі, навіть коли кухонний чи барний принтер вимкнено (або закінчився папір, або від’єднано кабель), а також без кухонного екрана:

Подачі (закуска, основна страва ...)

Кнопки подач показуються лише тоді, коли вони потрібні: щойно в замовленні є меню (складений товар) або коли щось уже є в подачі з 2 по 4. Зі звичайними товарами, як-от кола, ви їх не бачите, і все одразу йде на кухню. Нічого налаштовувати не потрібно.

Під списком замовлення є Подача 1 2 3 4. Стандартно ввімкнено подачу 1, і все працює як завжди: "Замовити" одразу надсилає все на кухню, без заголовків подач на кухонному чеку. Якщо вибрати подачу 2 (або вищу) перед тим, як торкатися товарів, то:

Подача 1 завжди йде одразу. Якщо подачу 2 уже викликано, страва, дозамовлена пізніше в подачу 2, теж іде одразу.

Алергени для кожного товару

Стандартно вимкнено: тоді алергени ніде не видно. Увімкнути можна в Налаштування → Заклад → Вказувати й показувати алергени для кожного товару.

All-you-can-eat

Стандартно вимкнено. Вмикається в Налаштування → Заклад → All-you-can-eat (лише адміністратор). Ви створюєте один або кілька пакетів, напр. Риба, М’ясо і Суші, кожен із:

Кнопками ↑ ↓ задається порядок. Він важливий, коли страва входить у кілька пакетів: тоді вона зараховується до верхнього з тих, які вибрала група. Видалити прибирає пакет для нових столиків; поточні столики зберігають свої цінові рядки (зменшити кількість осіб там ще можна, збільшити — ні).

Біля столика:

Подарункові сертифікати

Два перемикачі в Налаштування → Заклад → Подарункові сертифікати:

Поповнюваний баланс (необов'язково)

Для клубів, спортивних їдалень, молодіжних центрів і заходів: подарункова картка з балансом стає поповнюваною карткою. Вмикається в Налаштування → Заклад → Поповнюваний баланс, під подарунковими картками (типово вимк.; працює, лише якщо ввімкнено Продавати подарункові картки з балансом).

Талони на харчування

Лише для закладів у Бельгії, за замовчуванням вимкнено: Налаштування → Заклад → Розрахунок → Талони на харчування. Талони на харчування — це пільга до зарплати: роботодавець зараховує їх на картку працівника (Edenred, Monizze або Pluxee). Гість платить нею на звичайному платіжному терміналі; інтеграція з емітентами не потрібна.

Іноземна валюта

Оплата готівкою в іншій валюті, напр. для британських чи американських туристів або в прикордонні зі швейцарським франком. За замовчуванням вимкнено: Налаштування → Заклад → Розрахунок → Іноземна валюта. Додайте валюти (CHF, CZK, DKK, GBP, HUF, NOK, PLN, SEK, TRY, USD) і для кожної валюти курс: скільки євро ви рахуєте за 1 одиницю (напр. 1 GBP = € 1,15).

Додаткові кнопки під час замовлення й розрахунку

Кнопки для того, що потрібно не кожному закладу. Усе типово вимкнено; вмикається для кожної кнопки в Налаштування → Заклад → Замовлення й розрахунок (право Налаштування закладу, оплати й принтерів). Вимкнено = кнопки ніде в касі немає, і касовий сервер відхиляє дію. У Нідерландах усе працює без чорної скриньки; у Бельгії кнопка працює лише тоді, коли цю функцію протестовано з чорною скринькою (біля кнопки про це написано, якщо ще ні).

Під час відкриття столу:

Під час замовлення (екран замовлення, для того, що ви натиснете потім):

Під час розрахунку:

Пізніше (Чеки):

Код: apps/pos-server/src/lib/kassaopties.ts, routes/kassaopties.ts; екран KassaOpties.tsx. Журнал: Налаштування змінено, SPV погашено, Виправлення чека, Неоплачено.

Зарахувати аванс

Аванс (передоплату, напр. за свято чи бронювання) ви продаєте як звичайний товар з увімкненим Аванс (Налаштування → Товари; завжди має вільну ціну). Створіть по одному для кожної ставки ПДВ, якщо аванс має бути за ставками (напр. Аванс їжа і Аванс напої), або один товар, якщо це частина пропозиції. Гість платить аванс наперед і отримує чек.

Увімкнення: Налаштування → Заклад → Замовлення й розрахунок → Зарахувати аванс (типово вимкнено). Під час остаточного розрахунку натисніть на екрані замовлення Зарахувати аванс і введіть номер чека авансу. Каса додає рядки авансу з того чека з від’ємною кількістю на рахунок (той самий товар, ціна й ПДВ). Те, що вже зараховано, не можна зарахувати ще раз. Якщо аванс більший за рахунок, гість отримує різницю назад (повернення коштів). У Бельгії зараховані рядки йдуть як повернення коштів (REFUND) до чорної скриньки (UC4110, UC4111, UC4113). Журнал: Аванс зараховано.

Чек на e-mail

Типово вимк. Увімкнути: Налаштування → Заклад → Чек також на e-mail.

SMTP_HOST=smtp.voorbeeld.nl
SMTP_PORT=587
SMTP_GEBRUIKER=kassa@voorbeeld.nl
SMTP_WACHTWOORD=...
SMTP_AFZENDER=bon@voorbeeld.nl

Після заповнення перезапустіть касу. Тоді в Розрахунок з’явиться поле Також надіслати чек e-mail (необов'язково): порожньо = лише друк, як завжди; введена адреса e-mail = той самий чек (з розшифровкою ПДВ і фіскальними рядками) також надходить гостю на e-mail, відправник — назва закладу.

Бронювання

Увімкнути в Налаштування → Заклад → Бронювання (за замовчуванням вимкнено). Там же задається, за скільки хвилин до початку заброньований столик з’являється на плані залу (типово 60), і стандартна тривалість бронювання (типово 120 хвилин).

Касова інтеграція TheFork: столик відкривається після прибуття, рахунок повертається

Через POS-API TheFork каса працює разом із TheFork Manager (за замовчуванням вимкнено), на додачу до отримання бронювань, описаного вище. Увімкнення: Налаштування → Платформи бронювання → Касова інтеграція TheFork; працює через портал керування.

Документація TheFork: https://docs.thefork.io/POS-API/introduction

Список очікування для гостей без бронювання

Для гостей без бронювання, які чекають на столик. Увімкнення: Налаштування → Заклад → Список очікування (без бронювання) (за замовчуванням вимкнено). Видно лише, якщо налаштовано SMS через CM.com; інакше списку очікування ніде в касі немає (навіть у налаштуваннях). Працює окремо від бронювань: навіть якщо вони вимкнені. Там же текст SMS (порожньо = "Hallo {naam}, uw tafel bij {zaak} is klaar. Wilt u zich melden bij de bediening?"; {naam}, {zaak} і {personen} підставляються).

Картка лояльності / бонусні бали

Увімкнути в Налаштування → Заклад → Картка клієнта / бонусні бали (за замовчуванням вимкнено, тоді цього ніде не видно). Там же задаються: бали за євро (0 = лише картки зі штампами), після скількох балів надається винагорода і скільки євро знижки вона дає.

Профіль гостя: VIP, особливості харчування й уподобання (необов'язково)

Вмикається в Налаштування → Заклад → Профіль гостя, під карткою лояльності (за замовчуванням вимкнено; працює, лише якщо картку лояльності увімкнено). Потім:

Улюблені товари / швидкі кнопки

Типово вимк. Налаштування → Заклад → Обране / швидкі кнопки:

Ще раунд

На екрані замовлення є кнопка ↻ Ще раунд (щойно щось є в рахунку, навіть якщо це ще не замовлено). Один дотик ще раз додає останній раунд (усе, що було відправлено одним «Замовити», або те, що ви щойно вибрали) новими рядками; потім просто Замовити. Ціни — поточні (також happy hour).

Час за столиком на плані залу

На кожному зайнятому столику показано ⏱ 45m · 12m: скільки часу столик зайнятий і скільки минуло від останнього додавання (утримуйте столик або наведіть мишу, щоб побачити точний час). Якщо якийсь час нічого не замовляли, столик отримує помаранчеву рамку: варто підійти. Кількість хвилин задається в Налаштування → Заклад → Час за столиком (типово 20, 0 = без помаранчевої рамки). Якщо ще нічого не додано, час рахується від відкриття столика.

Якщо за одним столиком сидять кілька груп (окремі рахунки), для кожної групи є рядок, напр. G1 ⏱ 50m · 12m і Jansen ⏱ 10m (назва групи, інакше номер групи). Група, яка надто довго нічого не замовляє, отримує помаранчеву мітку, а столик — помаранчеву рамку.

Перенесення всього столика

На екрані замовлення є Перенести столик. Оберіть зал (напр., Тераса) і стіл: усі групи столу переносяться, кожна зі своїм рахунком. Якщо обрати зайнятий стіл, столи об'єднуються (групи додаються). Щоб перенести лише частину, використовуйте, як і раніше, Розділити / перенести. Якщо все має бути на одному рахунку, використовуйте Об'єднати.

Робота офлайн (планшет без Wi-Fi)

Якщо зникає з’єднання між планшетом і касовим сервером (Wi-Fi на терасі, сервер ненадовго вимкнено), з’являється жовта смуга, і планшет працює далі з останніми збереженими столиками, товарами та відкритими замовленнями:

Кількість гостей

Необов’язково, за замовчуванням вимкнено: Налаштування → Заклад → Замовлення та оплата → Вести облік кількості осіб. Вимкнено = якомога менше натискань: вільний стіл відкривається одним натисканням, кількість осіб ніде не показується, а звіт, панель і підсумок дня не показують гостей і витрати на гостя.

Увімкнено: коли ви натискаєте вільний стіл, каса запитує, скільки осіб (великі кнопки 1-8 або введення вручну; "Пропустити" = 1). На плані залу біля зайнятого столу показано "3/4 ос." (особи/місця, жовтим, якщо людей більше, ніж місць). На екрані замовлення це змінюють кнопкою "3 ос." на панелі груп; якщо груп кілька, стіл підсумовує всі групи.

Без кількості осіб усе працює: Поділити порівну під час оплати починається з 2, all-you-can-eat сам запитує кількість дорослих і дітей, а бронювання та список очікування зберігають власну кількість осіб (стіл тоді відкривається без кількості осіб).

Реєстрація HACCP

Кожен заклад громадського харчування повинен контролювати й документувати безпечність харчових продуктів: у Нідерландах згідно з Hygiënecode voor de Horeca (Гігієнічний кодекс для закладів харчування, контроль NVWA), у Бельгії згідно з самоконтролем FAVV (настанова G-023). Увімкни Реєстрація HACCP у Налаштування → Закони та правила (за замовчуванням вимкнено).

Розливна система і витратоміри

Кожен налив, про який повідомляє розливний комп'ютер або витратомір, потрапляє в чек, тож нічого не "витікає". Увімкніть це в Налаштування → Розливна система (типово вимкнено).

Дозований розлив і Kegboard

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

Керування музикою з каси

Персонал керує музикою із сенсорного екрана каси, тож окремий екран на барі не потрібен. Увімкніть це в Налаштування → Заклад → Екрани та керування → Керування музикою з каси (типово вимкнено). Тоді у верхній панелі з'явиться кнопка Музика: для кожного джерела (напр. Бар і Тераса) Відтворити, Пауза, Наступний, Попередній, Гучніше, Тихіше і повзунок гучності, а також що зараз грає. Назад до каси закриває панель. Після вимкнення джерела зберігаються.

Адміністратор додає джерела кнопкою + Джерело музики, вибирає спосіб підключення і перевіряє його кнопкою Перевірити:

Каса спілкується з плеєрами зі свого сервера, тому вони мають бути в тій самій мережі, що й каса (Soundtrack — через інтернет). Керувати може кожен, хто увійшов; налаштовувати — з правом Налаштовувати заклад, оплату й принтери. Токен і пароль ніколи не показуються на екрані й не потрапляють до журналу; у журналі записується лише налаштування (увімк./вимк., джерела), а не кожне натискання. Експорт конфігурації переносить лише увімк./вимк. (джерела належать одному закладу).

Другий екран на планшеті або телефоні

Музику й камери можна відкрити також на власному планшеті або телефоні працівника — як другий екран поруч із касою. У вікні Музика або Камери є кнопка На планшеті або телефоні: вона показує QR-код з адресою, напр. http://192.168.1.20:3000/muziek або .../camera.

  1. Підключіть планшет або телефон до wifi-мережі закладу.
  2. Відскануйте QR-код камерою (або введіть адресу в браузері).
  3. Увійдіть зі своїм PIN-кодом. Ви бачите лише те, що вам дозволено: музику — усі, камери — лише з правом Перегляд камер.
  4. Готово: Вийти праворуч угорі. Якщо сеанс завершився (напр. планшет усю ніч не використовувався), екран знову попросить PIN-код.

Порада: додайте сторінку на головний екран планшета (у браузері: Додати на головний екран), тоді вона відкриватиметься як застосунок.

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

Прив'язка планшетів: однією кнопкою на планшет (необов'язково)

Ще простіше: прив'яжіть планшет один раз, і каса однією кнопкою надішле музику або камери на цей планшет. Увімкніть у Налаштування → Заклад → Екрани та керування → Планшети як другий екран (типово вимк.).

  1. На планшеті: відкрийте http://<kassaserver>:3000/tablet (біля налаштування є На планшеті або телефоні з QR-кодом), увійдіть із PIN-кодом і дайте планшету назву, напр. Планшет Бар. Прив'язати.
  2. На касі: у вікні Музика або Камери тепер є кнопка На Планшет Бар (із зеленою крапкою, якщо планшет увімкнений). Натисніть її: планшет сам відкриє цей екран. Для музики передається вибране джерело (напр. Тераса).
  3. На планшеті: Закрити повертає до очікування; Відв'язати цей планшет видаляє прив'язку.

Залиште сторінку на планшеті відкритою; якщо планшет вимкнений або спить, він відкриє екран, щойно знову ввімкнеться. Планшет залишається в системі під працівником, який на ньому увійшов: надсилати й переглядати камери можна лише з правом Перегляд камер. Адміністратор бачить біля налаштування, які планшети прив'язані та чи вони ввімкнені, і може перейменувати або видалити їх. Планшет зберігає власний ключ; каса зберігає від нього лише хеш. Після вимкнення прив'язані планшети зберігаються. У журналі видно, хто прив'язав, перейменував або видалив планшет.

Екран виклику для замовлень з собою

Екран для гостей: ліворуч Готується, праворуч Готово, з великими номерами, як у закусочній чи фастфуді. Вмикається в Налаштування → Заклад → Екрани та керування → Екран виклику для замовлень з собою (типово вимкнено).

Прив'язка не потрібна: відкрийте на телевізорі з браузером (смарт-ТВ, стік або міні-ПК), планшеті або другому моніторі адресу каси з /oproep, напр. http://192.168.1.20:3000/oproep. У налаштуванні та у вікні Викликати є кнопки На окремому екрані і На планшеті або телефоні (QR-код з адресою). Входити не потрібно: екран показує лише номери. Торкніться екрана один раз, тоді браузер зможе відтворювати звук.

Що відображається:

Номер: для інтернет-магазину, Thuisbezorgd і платформ доставки — номер замовлення, який уже має гість або кур'єр; інакше номер видачі (від 1 до 999). Він великим шрифтом надрукований на чеку з поясненням, що номер з'явиться на екрані, коли замовлення буде готове (мовою чека).

За бажанням (типово вимкнено, у налаштуванні):

На касі є кнопка Викликати (з кількістю замовлень, які ще готуються):

  1. Готово вручну позначає номер як готовий (без кухонного екрана або якщо так швидше). Для замовлення з інтернет-магазину чи Thuisbezorgd статус теж змінюється, тож гість отримує повідомлення.
  2. Назад повертає номер до Готується.
  3. Забрано прибирає номер з екрана (з можливістю Скасувати дію).

У налаштуванні також можна вибрати, чи показувати ім'я поруч із номером (типово ні, задля приватності) і чи подає екран звук. Вимкнення: немає кнопки «Викликати» і немає номера видачі на чеку; налаштування зберігаються. У журналі видно, хто вручну позначив номер як готовий, повернув до «Готується» або позначив як забраний.

Відмітка приходу й виходу

Типово облік часу вимкнено: тоді його ніде в касі не видно (немає кнопки у верхній панелі, на екрані входу, немає вкладки Робочий час). Увімкніть його в Налаштування → Заклад, у розділі Відмітка приходу/виходу персоналу:

Хто не користується касою (напр. кухня), відмічається на екрані входу: натисніть Початок / кінець зміни і введіть свій PIN-код. Це перемикає між початком і кінцем без входу в систему.

Якщо облік часу ввімкнено, адміністратор бачить у Налаштування → Робочий час:

У Бельгії кожна відмітка початку й кінця зміни також передається в «чорну скриньку». Якщо вона недоступна, відмітка не проходить (як і розрахунок). Чи повністю це відповідає бельгійській реєстрації персоналу, ще має бути підтверджено.

Зважування та етикетки (вага)

Якщо ваги ввімкнено (Налаштування → Вага), товари можуть мати ціну за кілограм. Усі інші товари продаються поштучно, як і раніше.

Uber Eats, Deliveroo і HubRise

Окрім Thuisbezorgd.nl / Takeaway.com, у касу також надходять замовлення з Uber Eats (Нідерланди та Бельгія), Deliveroo (лише Бельгія; Deliveroo пішов з Нідерландів наприкінці 2022 року) і все, що підключено до HubRise (зокрема Uber Eats, Deliveroo, Just Eat/Takeaway.com і менші застосунки для замовлень). Кожну платформу вмикають окремо в Налаштування → Платформи доставки (за замовчуванням вимкнено; після вимкнення все зберігається). Вкладка показує для кожної платформи, у яких країнах вона працює, і попереджає, якщо вона не працює в країні закладу.

Замовлення. Замовлення стає звичайним замовленням (bezorgen або afhalen, назва групи <platform> <nummer>) з цінами платформи: товари розпізнаються за ID (з меню), кодом або PLU-номером, невідомий = окремий рядок із ціною платформи (і повідомлення); вартість доставки, надбавки та знижка окремими рядками; якщо сума все одно не збігається, додається рядок "Різниця". Кухонний чек одразу йде на кухню/бар. Кнопка Платформи у верхній панелі (з кількістю активних замовлень; помаранчева, якщо є що прийняти): прийняти або відхилити (з причиною), готується, готово, у дорозі, доставлено або забрано, скасувати та Завершити (оплачено онлайн). Що підтримує платформа, те передається назад (Uber Eats: прийняти, відхилити, скасувати; Deliveroo: прийняти, відхилити, готується, готово, забрано; HubRise: усі статуси). Якщо заклад доставляє сам (власна доставка), замовлення також є в Рейси, а виїзд і доставка автоматично передаються платформі. Скасування з боку платформи анулює замовлення. Якщо каса понад 2 хвилин не з'єднана з порталом, портал відхиляє нове замовлення Uber Eats і повідомляє Deliveroo (з планшетом), що не вдалося, щоб заклад побачив це на планшеті.

Код: apps/pos-server/src/lib/bezorgplatforms.ts, routes/bezorgplatforms.ts; екрани Bezorgplatforms.tsx. Бік порталу: horecapos-portaal/src/platforms.mjs. Журнал: Платформи доставки (увімк./вимк., налаштування, замовлення). Усе входить до резервних копій каси.

Менші платформи в Нідерландах і Бельгії (Homie, Hebtrek, sneleten.nl, Bistroo ...) не мають публічної касової інтеграції; якщо вони підключені до HubRise, то працюють через HubRise. Інше: див. backlog.

Автомат для готівки (закрита система обробки готівки)

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

Кнопка ©

Дані OptimumPOS

У правому нижньому куті кожного екрана (PIN-код, план залу, замовлення і кухня) є маленька кнопка ©. Вона відкриває дані OptimumPOS: логотип, адресу, телефон, e-mail і вебсайт. Іконка зберігається локально в застосунку, тож працює й без інтернету. Ця ж іконка є іконкою застосунку (вкладка й головний екран).

Частина 2 · Менеджер

Початок роботи

Менеджер типово може все, що й офіціант, а також, зокрема, надавати знижки, оформлювати повернення, закривати день, керувати грошовою шухлядою та переглядати журнал і запаси. Здебільшого це під кнопкою Звіт:

Запаси

Типово вимк. Увімкнути: Налаштування → Заклад → Вести облік запасів. Вимк. = ніде в касі не видно.

Замовлення в постачальників

За замовчуванням вимкнено. Вмикається в Налаштування → Запаси → Замовлення в постачальників (лише з увімкненим Вести облік запасів). Вимк. = список замовлення працює як завжди.

Керування відгуками

Читання відгуків із Google і Trustpilot та відповіді на них просто в касі. Вмикається в розділі Налаштування → Бали та відгуки → Керування відгуками (за замовчуванням вимкнено, тоді цього ніде не видно). Читання й відповіді: Звіт → Відгуки (право Читати відгуки й відповідати на них, за замовчуванням є й у менеджера). Якщо вимкнути функцію, підключення й відгуки збережуться.

SMS- та e-mail-маркетинг

Повідомлення клієнтам картки клієнта, які дали на це згоду. Без картки клієнта жоден варіант увімкнути не можна.

Чайові за працівником

У Налаштування → Заклад → Чайові (лише якщо ввімкнено «Показувати кнопки чайових під час розрахунку») виберіть, як чайові за працівниками показуються в проміжному підсумку (X), Z-звіті (чек і e-mail) та Виручці за період (також у CSV):

ВаріантРозподіл
Вимк. (типово)лише загальна сума чайових, як завжди
Кожному свої чайовічайові з рахунків, які працівник розрахував сам
Спільні за годинамиусі чайові разом, за відпрацьованими (відміченими) годинами в цей період (потрібна відмітка приходу/виходу; ніхто не відмітився = порівну)
Спільні порівнуусі чайові разом, порівну між тими, хто був на зміні (без відміток: хто щось додавав або розраховував)

Залишкові центи отримують ті, хто найближче до наступного цента, тож підсумок завжди сходиться. Це лише огляд: каса нічого не виплачує (це можна зробити через «Гроші з шухляди»). Старі Z-звіти залишаються без змін.

Z-звіт на e-mail

Один раз укажіть у Налаштування → Заклад → Надсилати Z-звіт на адресу e-mail адміністратора (кілька адрес — через кому, макс. 3). Після Закрити день Z-звіт автоматично надходить на цю адресу, крім надрукованого чека. Порожньо = не надсилати, як завжди.

Підсумок дня (необов'язково)

Якщо в полі Надсилати Z-звіт на вказано адресу, під ним є прапорець З коротким підсумком дня на початку листа (за замовчуванням вимкнено). Увімк. = на початку листа із Z-звітом кілька рядків простою мовою, лише з власних даних каси (без ШІ, нічого не передається назовні):

Сам Z-звіт (чек і лист) залишається точно таким самим. Приклад за сьогодні показує підсумок від останнього закриття дня до цього моменту. Підсумок нідерландською мовою, як і лист із Z-звітом.

Панель

Вкладка Панель у Звіті (право Виручка за період), лише перегляд:

Продані подарункові картки не рахуються як виручка, знижки й заголовки меню не входять у топ-10 (як і в інших звітах). День триває з 00:00 до 24:00.

Додаткові звіти

Три додаткові вкладки у Звіт, кожну вмикають окремо в Налаштування → Заклад → Керування та звіти → Додаткові звіти (типово вимкнено: тоді вкладки немає). Для них потрібне те саме право, що й для Виручка за період, і вони лише для перегляду. Період: цей тиждень, минулий тиждень, цей місяць, минулий місяць, останні 90 днів, цей рік або власний вибір (не більше ніж трохи понад рік).

Знижки

Менеджер або адміністратор бачить на екрані замовлення поруч із сумою кнопку % Знижка:

Знижка з’являється окремим рядком у чеку («Знижка 10%», з причиною під ним) з тією самою ставкою ПДВ, тож сума й розшифровка ПДВ сходяться. На весь чек знижка розподіляється за ставками ПДВ. Прибрати: натисніть суму рядка знижки. Якщо скасовано рядок із власною знижкою, ця знижка теж зникає. Якщо прибрати товар із чека з відсотковою знижкою на весь чек, каса перераховує знижку для того, що лишилося (у Бельгії UC226); фіксована сума лишається і під час розрахунку знову розподіляється між рядками. Якщо через 100% знижку платити нічого, закрийте через «Закрити (нічого не платити)». Знижки записуються в журнал, а в X/Z-звіті та огляді за період показуються як «з них знижка». При поверненні чека зі знижкою знижка враховується пропорційно.

Промокоди (за бажанням)

Коди зі знижкою на весь чек, наприклад для акції (ZOMER10). Вмикаються в Налаштування → Заклад → Промокоди (за замовчуванням вимкнено); самі коди створюються в Налаштування → Промокоди (право Керування товарами):

На екрані замовлення є кнопка Промокод (вводити код може будь-хто; код заздалегідь створено закладом). Знижка з'являється в чеку рядком "Промокод CODE", розподіленим за ставками ПДВ; один код на чек, і не можна, якщо вже є (часткова) оплата. Якщо видалити рядок або замовлення скасовано, використання більше не рахується. Видалення використаного коду вимикає його (звіти залишаються правильними). Усе записується в журнал (Промокод). Код: lib/kortingscodes.ts, routes/kortingscodes.ts, Kortingscodebeheer.tsx, KortingscodeDialoog.tsx.

Вони не відображаються у списку Налаштування → Промокоди (але кількість для кожної акції видно в Звіт → Маркетинг) і передаються в інтернет-магазин, поки дійсні й не використані.

Звіти та закриття дня

Звіт - проміжний підсумок (X)

Кнопка Звіт у верхній панелі:

Експорт у бухгалтерію

Звіт → Виручка за період → Експорт для бухгалтерії (журнал) (право Виручка за період) створює CSV з одним журнальним записом за кожен день, готовий для імпорту в e-Boekhouden, Exact, SnelStart, Twinfield тощо (через їхній імпорт CSV/меморіальних записів), або один із форматів нижче (UBL, XAF і готові формати для 14 програм).

Один документ на день (KASSA-JJJJMMDD), який завжди збалансований (дебет = кредит):

СторонаЩо
Дебетнадходження за способами оплати (готівка, картка, подарункова картка, онлайн, інше), включно з чайовими
Кредитвиручка за ставками ПДВ (без ПДВ) і ПДВ до сплати за кожною ставкою
Кредитчайові (до виплати персоналу, не виручка)
+/-різниця округлення (округлення готівки до 5 центів)
+/-гроші в/з шухляди (касові операції) проти транзитних рахунків і касова різниця із Z-звіту

Повернення та знижки вже враховані в чеках і зменшують виручку. Стовпці: Datum; Boekstuk; Dagboek; Rekening; Omschrijving; Debet; Credit; Btw-code; Btw-% (крапка з комою, десяткова кома). Після завантаження каса повідомляє, чи є дні, які не збалансовані або мають різницю, більшу за округлення.

Біля кнопки ви вибираєте формат (вибір запам’ятовується в браузері). Той самий журнал, але оформлений так, щоб програма могла його одразу імпортувати. У списку показано лише формати для країни закладу (Налаштування → Заклад), спочатку стандарти (CSV, UBL, XAF), потім програми за абеткою:

ФорматФайлЗавантаження в програму
Загальний (CSV)journaal_…csvбудь-яка програма з імпортом CSV/меморіальних записів (зіставлення стовпців)
UBL 2.1 / Peppol (XML), NL і BEjournaal_…_ubl.xml (кілька днів: .zip)за кожен день рахунок-фактура "денні надходження" на Kassaverkopen (уже оплачений) згідно з Peppol BIS Billing 3.0, з одним рядком на кожну ставку ПДВ і рахунком доходу в AccountingCost; лише виручка й ПДВ (способи оплати, чайові, округлення, шухляда й касова різниця не належать до рахунку-фактури). Для завантаження, зокрема, в Adsolut, Billit, BUNNI, DigiBoox, Expert/M, Moneybird, Popsy, Rompslomp, Storecove і TriFact365; не для надсилання через мережу Peppol. Назва, номер платника ПДВ і адреса беруться з Налаштування → Заклад
XML Auditfile Financieel (XAF 4.0), NLjournaal_…_xaf.xafauditfile податкової служби Нідерландів (Belastingdienst) (XSD XmlAuditfileFinancieel4.0): один файл за період, головна книга, коди ПДВ, періоди й за кожен день одна меморіальна транзакція; імпортується, зокрема, в Caseware, Exact Reeleezee і Visma Cash
AccountView (XML), NLjournaal_…_accountview.xmlXML-проводки (VFPData, один transact на кожен рядок проводки з dj_code, period, inv_date, inv_nr, acct_nr, trn_desc і amount: дебет додатний, кредит від'ємний), за кожен день один документ у меморіальному журналі; завантаження через визначення імпорту (Document → Importeren → Importdefinitie aanmaken, тип XML), назви полів — ті самі, що в самому AccountView, тож достатньо один раз зіставити 1-до-1. Попросіть перевірити перший імпорт
AFAS Profit (XML)journaal_…_afas.xmlXML для UpdateConnector FiEntries (фінансові операції), одне проведення за день із роком, періодом, адміністрацією та журналом; у Profit завантажується через Імпорт → XML; вкажіть номер адміністрації (типово 1)
Asperion (CSV), NLjournaal_…_asperion.csvФормат FMUTA (Extra → Import financiële mutaties), за кожен день рядок заголовка й рядки проводок; визначення імпорту налаштовує Asperion через службу підтримки
Денний звіт (HTML), NL і BEjournaal_…_dagstaat.htmlзручний для читання денний звіт за кожен день (виручка за ставками ПДВ, способи оплати, чайові, касова різниця) і підсумки; друк у PDF або надсилання e-mail, для програм без імпорту (Accountable, Dext, Dexxter, Jortt, Kleisteen, MoneyMonk)
e-Boekhouden.nl (CSV)journaal_…_eboekhouden.csvДата; Документ; Опис; Рахунок головної книги; Сума (дебет додатний, кредит від'ємний); код ПДВ GEEN (ПДВ уже на рахунках ПДВ); Імпорт → Операції, вид меморіальний запис
Exact Online (XML)journaal_…_exact.xmleExact-XML (тема GLTransactions): за кожен день один меморіальний запис (тип 90) у журналі; Імпорт/експорт → Імпорт XML
InformerOnline (TXT), NLjournaal_…_informer.txtмеморіальний запис із розділенням табуляцією (Geavanceerd → Memoriaal → uploaden); журнал має бути номером 1–99 (інакше 90)
KING ERP (XML), NLjournaal_…_king.xmlKING_JOURNAAL: одна серія проводок (не остаточна) з одним журнальним записом за кожен день
KOMAS (CSV), NLjournaal_…_komas.csvВільний формат KOMAS (0401 Importeren journaalposten): Datum; Grootboek; Omschrijving; Bedrag
Odoo (CSV), NL і BEjournaal_…_odoo.csvAccounting → Journal Entries → Import records; журнал і рахунок за назвою або кодом
Sage BOB 50 (Excel), BEjournaal_…_bob.xlsxImportation de données externes → Opérations diverses (зіставте стовпці один раз)
SAP Business One (ZIP), NL і BEjournaal_…_sapb1.zipData Transfer Workbench, Journal Entries: JournalEntries.csv і JournalEntries_Lines.csv
SnelStart (CSV)journaal_…_snelstart.csvДата; Документ; Опис; Рахунок головної книги; Дебет; Кредит (дд-мм-рррр, десяткова кома, без BOM); імпорт меморіальних записів, журнал вибираєте під час завантаження
Twinfield (XML)journaal_…_twinfield.xmlпроводки журналу як чернетка (destiny="temporary"), бухгалтер проводить їх остаточно; вкажіть код адміністрації (порожньо = адміністрація, у яку ви імпортуєте)
Winbooks (CSV), BEjournaal_…_winbooks.csvK_DOC.CSV, за кожен день один документ у журналі (Winbooks нумерує сам)
Yuki (XML)journaal_…_yuki.xmlJournal-XML (GeneralJournal), один меморіальний запис за день, така сама структура, як у прямого підключення; ID адміністрації необов’язковий

Огляд: яка бухгалтерська програма в який спосіб

За сегментами, за абеткою. NL/BE = у якій країні працює програма: у Налаштування → Бухгалтерія → Бухгалтерська програма ви бачите лише програми для країни закладу (нідерландські програми не працюють у Бельгії, і навпаки). Напряму = каса щодня сама робить проводки (вибір у Налаштування → Бухгалтерія → Бухгалтерська програма); за запитом = API є, але спершу потрібна реєстрація партнера або схвалення постачальника (повідомте нам). Файл = формат у Експорт до бухгалтерії. Де можливо і те, і те, можна використовувати обидва. Список міститься в packages/shared/src/boekhoudcatalogus.ts і також показується в Налаштування → Бухгалтерія.

ПрограмаNLBEНапрямуФайлПримітка
Малий бізнес і самозайняті
Accountable–✓–Денний звіт (HTML, для PDF або e-mail)
AccountView (Visma)✓–за запитомAccountView (XML), Загальний (CSV)Файл: XML-проводки для визначення імпорту (Document → Importeren); загальний CSV теж можна завантажити через визначення імпорту. Онлайн через API AccountView.Net за запитом в AccountView.
Acumulus✓–✓–Напряму як оплачений рахунок-фактура на продаж за день, з одним рядком на кожну ставку ПДВ.
AFAS Profit✓–✓AFAS Profit (XML)
Asperion✓–за запитомAsperion (CSV)Напряму після реєстрації як API-партнера в Asperion.
Billit–✓за запитомUBL 2.1 / Peppol (XML)Завантаження UBL через Fast input; напряму після схвалення Billit.
BUNNI✓––UBL 2.1 / Peppol (XML)Публічної документації API ще немає.
Dexxter–✓–Денний звіт (HTML, для PDF або e-mail)
DigiBoox (Visma DigiBTW)✓––UBL 2.1 / Peppol (XML)
e-Boekhouden.nl✓––e-Boekhouden.nl (CSV)Також для колишніх клієнтів Ficsus.
Exact Online✓✓✓Exact Online (XML)
Exact Reeleezee✓––XML Auditfile Financieel (XAF 4.0)
Horus–✓✓–
InformerOnline✓––InformerOnline (TXT)
Jortt✓––Денний звіт (HTML, для PDF або e-mail)Без імпорту: проведіть денну виручку як дохід, додавши денний звіт як вкладення.
KING✓–за запитомKING ERP (XML)Напряму після реєстрації партнера в KING Software.
Kleisteen✓––Денний звіт (HTML, для PDF або e-mail)
KOMAS (Adfinis)✓––KOMAS (CSV)
Minox✓–за запитом–Напряму після партнерського підключення через Minox.
Moneybird✓–✓UBL 2.1 / Peppol (XML)
MoneyMonk✓––Денний звіт (HTML, для PDF або e-mail)MoneyMonk у 2026 році отримає API для підключень.
Octopus–✓за запитом–Напряму після запиту software house ID в Octopus.
Popsy / Allegro–✓–UBL 2.1 / Peppol (XML)
Rompslomp✓––UBL 2.1 / Peppol (XML)
Sage BOB 50–✓–Sage BOB 50 (Excel)
Silvasoft✓✓✓–Напряму як проводка продажу за день, з одним рядком на кожну ставку ПДВ; способи оплати, чайові й касова різниця не передаються.
SnelStart✓–✓SnelStart (CSV)
Twinfield✓–✓Twinfield (XML)
Visma Cash✓–за запитомXML Auditfile Financieel (XAF 4.0)API з ключем із CASHWeb; формат записів для проводок ще уточнюється.
Visma eAccounting✓–за запитом–Напряму після схвалення Visma (реєстрація партнера).
Winbooks–✓за запитомWinbooks (CSV)
Wolters Kluwer Adsolut–✓за запитомUBL 2.1 / Peppol (XML)UBL з рахунком доходу в кожному рядку; увімкніть в Adsolut "grootboekrekening verwerken bij verkopen".
Wolters Kluwer Expert/M–✓–UBL 2.1 / Peppol (XML)
Yuki✓✓✓Yuki (XML)
Міжнародні
QuickBooks Online✓✓✓загальний CSVНемає нідерландської чи бельгійської версії: перевірте налаштування ПДВ.
Xero✓✓✓загальний CSV
Zoho Books✓✓✓загальний CSV
Великі компанії та мережі
Exact Globe+✓✓–Exact Online (XML)Той самий XML, що й Exact Online; попросіть перевірити перший імпорт.
Microsoft Dynamics 365 Business Central✓✓✓–
Odoo✓✓✓Odoo (CSV)
Oracle NetSuite✓✓за запитомзагальний CSV
SAP Business One✓✓✓SAP Business One (ZIP)
Unit4 ERPx✓✓–загальний CSV
Платформи та агрегатори
Apicbase✓✓за запитом–Продажі за чеками для складу й food cost: інтеграція в Налаштування → Рецептури (не як бухгалтерська програма).
Caseware✓✓–XML Auditfile Financieel (XAF 4.0)
Combidesk✓–за запитом–Combidesk сам створює й обслуговує підключення (зокрема до Exact, Moneybird, SnelStart і Twinfield); за запитом як партнер.
Dext✓✓–Денний звіт (HTML, для PDF або e-mail)Надішліть денний звіт (PDF) на свою адресу Dext.
Jamix✓✓за запитом–Продажі для складу й собівартості страв (food cost) через інтерфейс JAPI від Jamix; індивідуальне рішення за запитом у Jamix.
Omniboost✓✓за запитом–Через партнерську програму Omniboost підключається далі до багатьох бухгалтерських і готельних систем.
Storecove (Peppol)✓✓за запитомUBL 2.1 / Peppol (XML)
TriFact365✓––UBL 2.1 / Peppol (XML), Денний звіт (HTML, для PDF або e-mail)
Будь-яка інша програма✓✓–загальний CSV, UBL або XAF (NL)

Попросіть бухгалтера перевірити перший імпорт. Формат описано в packages/shared/src/journaalexport.ts (з тестами).

Налаштування → Бухгалтерія (право Налаштовувати заклад, оплату й принтери): код журналу (типово MEM) і рахунок головної книги для кожної частини. Порожньо = рахунок-приклад (NL: 8000/8010/8020 виручка, 1500/1510 ПДВ, 1000 каса, 1100 картка; BE: 7000xx виручка, 451000 ПДВ, 570000 каса). Нехай бухгалтер укаже справжні рахунки.

Підключення до бухгалтерської програми

Прямі підключення до Acumulus, AFAS Profit, Microsoft Dynamics 365 Business Central, Exact Online, Horus, Moneybird, Odoo, QuickBooks Online, SAP Business One, Silvasoft, SnelStart, Twinfield, Xero, Yuki і Zoho Books. Після кожного дня каса проводить той самий журнал, що й в експорті вище (виручка та ПДВ за ставками, способи оплати, чайові, округлення, шухляда й касова різниця) як меморіальний запис у вибраній програмі, з журналом і рахунками головної книги з Налаштування → Бухгалтерія. Завжди увімкнено щонайбільше одну програму.

ПрограмаКраїнаДля підключенняЩо проводить каса
AcumulusNLкод договору, користувач і пароль API-користувачаза кожен день оплачений рахунок-фактура на продаж з одним рядком на кожну ставку ПДВ; помилки Acumulus надсилає на ACUMULUS_FOUTMAIL
AFAS ProfitNLсередовище, токен, адміністраціямеморіальний запис (FiEntries)
Business CentralNL, BEtenant, середовище, компанія, ID клієнта й секрет застосунку Microsoft Entra (API.ReadWrite.All)рядки в загальному журналі з кодом із поля Журнал
Exact OnlineNL, BEвхід (OAuth, власний застосунок: див. Exact Online нижче; Бельгія: start.exactonline.be)меморіальний запис у журналі (напр. 90)
HorusBEвхід (OAuth, застосунок нижче), за бажанням досьєрізна операція
MoneybirdNLAPI-токен, за бажанням адміністраціямеморіальний запис (general journal document)
OdooNL, BEадреса, база даних, користувач, API-ключжурнальний запис у журналі з коротким кодом (напр. MISC)
QuickBooks OnlineNL, BEвхід (OAuth, застосунок нижче; QUICKBOOKS_OMGEVING)journal entry; рахунки за номером
SAP Business OneNL, BEадреса Service Layer, база даних, користувач, парольжурнальний запис (JournalEntries)
SilvasoftNL, BEкористувач і API-ключпроводка продажу на контрагента Kassaverkopen, один рядок на кожну ставку ПДВ (способи оплати, чайові й касова різниця не передаються)
SnelStartNLключ підключення й ключ підпискимеморіальний запис
TwinfieldNLвхід (OAuth, застосунок нижче), за бажанням офістранзакція журналу
XeroNL, BEвхід (OAuth, застосунок нижче), за бажанням організаціяmanual journal; рахунки за кодом
YukiNL, BEAPI-ключ, за бажанням адміністраціямеморіальний запис (GeneralJournal)
Zoho BooksNL, BEвхід (OAuth, застосунок нижче; типово європейський центр обробки даних), за бажанням організаціяжурнальний запис; рахунки за кодом

Аудиторський файл каси (XAA)

Для нідерландських закладів у Звіт → Виручка за період поруч з експортом до бухгалтерії є кнопка Аудиторський файл каси (XAA): XML Auditfile Afrekensystemen 3.2 Податкової служби Нідерландів (Belastingdienst) і XML Platform (SRA) за вибраний період (щонайбільше трохи більше року; право Виручка за період). Саме цей файл Belastingdienst рекомендує для надання даних каси під час перевірки або бухгалтерові; правила наведено в Handreiking voor een betrouwbaar afrekensysteem (Посібник із надійної касової системи) (docs/xaa).

У файлі (auditfile_kassa_<van>_tm_<tot>.xml, схема docs/xaa/XmlAuditfileAfrekensystemen3.2.xsd):

Суми додатні з позначкою C (продаж, надходження) або D (повернення, виплата); час — нідерландський із зсувом. Усі ключі — це id з бази даних без дефісів, тож їх можна знайти в касі.

Підписання (розділ 6 специфікації): якщо Optimum POS налаштував сертифікат, аудиторський файл надходить підписаним у конверті (XML Signature), а файл називається …_ondertekend.xml; інакше це окремий аудиторський файл, і каса повідомляє про це під час завантаження.

Оплата за рахунком

Бізнес-клієнти (компанія, яка щотижня замовляє обід, готель, клуб) купують за рахунком і платять пізніше за рахунком-фактурою. Вмикається в Налаштування → Рахунки → Оплата за рахунком (лише з увімкненими Рахунками; за замовчуванням вимкнено).

Банк: провести перекази

У Звіт → За рахунком → Банк каса для кожного надходження шукає відповідний рахунок з оплатою за рахунком:

Відео з камер у касі

Усі камери закладу на одній сторінці, без окремого екрана чи застосунку. Увімкніть у Налаштування → Заклад → Екрани та керування → Відео з камер у касі (типово вимк.). Тоді у верхній панелі з'явиться кнопка Камери для тих, хто має право Перегляд камер (типово менеджер і адміністратор; у Налаштування → Права можна ввімкнути й для офіціантів). Усі камери показано поруч; натисніть камеру, щоб збільшити. Після вимкнення системи відеоспостереження зберігаються.

Також на окремому екрані: На окремому екрані відкриває http://<kassaserver>:3000/camera (напр. монітор за баром), а На планшеті або телефоні показує QR-код: працівник сканує його власним планшетом або телефоном і входить зі своїм PIN-кодом (і там лише з правом Перегляд камер). На вузькому екрані камери розташовані одна під одною. Див. «Другий екран на планшеті або телефоні».

Адміністратор додає системи відеоспостереження через + Система відеоспостереження, перевіряє їх кнопкою Перевірити і для кожної камери задає назву та чи показувати її на сторінці:

Без ffmpeg: знімок.

Конфіденційність: каса отримує зображення від системи відеоспостереження і лише передає їх далі; нічого не зберігається (ні записів, ні кешу). Користувачі й паролі залишаються на сервері й ніколи не показуються на екрані чи в журналі. У журналі видно, хто дивився камери. Самі зображення сторінка запитує з ключем (діє 12 год, поки працівник у системі), бо зображення в браузері не може передати токен. Експорт конфігурації містить лише увімк./вимк.

Журнал чутливих дій

Звіт → Журнал (менеджер або адміністратор) показує, хто що зробив і коли.

Що записується: сторно, знижки (та їх скасування), повернення, копії чеків, проформи, ручна оплата карткою, відкриття шухляди, внесення/вилучення грошей, розмінна сума, закриття дня, перенесення позицій або столів, закриття порожніх замовлень, зміна ціни/назви/ПДВ товарів, нові або видалені товари, зміни персоналу та налаштувань, коригування робочого часу, вхід і вихід, неправильні PIN-коди, а також відмітки приходу й виходу. З оплатою в рахунок також: клієнти, продажі та платежі в рахунок, завантаження банківських виписок, банківська інтеграція та отримання даних із банку. Зі сповіщенням про довгий час виконання: запізнені замовлення та надіслані вибачення. З Mailchimp або Klaviyo: підключення, вибір списку, відв'язування та відписки звідти. З керуванням музикою: увімк./вимк., а також додавання, зміна та видалення джерел музики. З відео з камер: хто дивився камери (не частіше ніж раз на пів години на працівника), увімк./вимк. і системи відеоспостереження. Із сигналізацією: кожен сигнал, його обробка, а також увімкнення й вимкнення.

Сигналізація: шахрайство та відхилення

Налаштування → Сигналізація. Дві частини, кожна вмикається окремо й типово вимкнена; вимкнення зберігає всі сигнали та налаштування. Налаштовувати може той, хто має право Налаштування сигналізації (типово менеджер і адміністратор); бачити й обробляти сигнали може той, хто може бачити журнал. Каса перевіряє кожні 5 хвилин (і кнопкою Перевірити зараз); не на тіньовій касі.

Виявлення шахрайства та крадіжок (на працівника, за робочий день від 05:00), кожне правило окремо вмикається з власним порогом:

Сповіщення про відхилення у порівнянні з тим самим днем тижня й тим самим часом за останні тижні (типово 4; дні без обороту не враховуються, щонайменше два дні для порівняння):

Кожен сигнал надходить один раз (на правило, працівника й день; час кухні не частіше разу на годину) і надсилається:

Для кожного каналу є кнопка Тестове повідомлення. Токени й ключі залишаються на касі (екрани бачать лише, чи їх заповнено). Сигнал — не доказ: перегляньте чек і журнал та обговоріть це з працівником.

Чеки: копія та повернення (кредитний чек)

Чеки

Кнопка Чеки у верхній панелі:

Грошова шухляда з датчиком і шухляда для кожного працівника

За замовчуванням вимкнено. Налаштовується в Налаштування → Оплата → Грошова шухляда.

Частина 3 · Адміністратор

Початок роботи

Встановлення. HorecaPOS встановлюють інсталятором для вашої системи, який є на сторінці завантажень OptimumPOS: Android (застосунок), Windows (інсталятор), macOS (інсталятор для Mac з Apple Silicon та Intel), Linux (графічний інсталятор або пакет .deb чи .rpm), Raspberry Pi (графічний інсталятор або .deb для Raspberry Pi 3, 4 або 5 з 64-бітною Raspberry Pi OS) і Chromebook (Android-застосунок із Google Play). Оберіть для всіх користувачів для касового сервера, до якого підключаються планшети та екран кухні, або лише для мене — лише для каси на цьому пристрої. Інсталятор встановлює все потрібне, зокрема базу даних, і щоночі робить резервну копію. Щоб оновити, встановіть нову версію: ваші дані залишаться. Інсталятор запускається мовою вашого комп’ютера (інакше англійською); у Windows і Linux на першому екрані можна вибрати іншу мову. Після цього каса одразу запускається цією мовою. Пакети .deb і .rpm та застосунок для Android використовують мову системи, інакше нідерландську.

Адміністратор налаштовує касу в Налаштування. Там є вкладки Заклад, Персонал, Права, Робочий час, Товари, Happy hour, Запаси, Плани залу, Оплата, Принтери, Бухгалтерія, Резервні копії, Імпорт/експорт і База даних. Які вкладки бачить менеджер, залежить від прав.

База даних. У розділі Налаштування → База даних (лише адміністратор) ви обираєте між MySQL / MariaDB, вбудованою базою даних і PostgreSQL; під час перемикання переносяться всі дані (див. База даних). Якщо Optimum POS під час встановлення вже задав сталу адресу, діє ця адреса і полів для введення немає. Інакше ви самі заповнюєте Сервер, Порт, База даних, Користувач і Пароль. Каса сама зберігає їх, потім знову показує заповненими, і їх завжди можна змінити кнопкою Змінити дані MySQL/MariaDB або Змінити дані PostgreSQL. Залишити пароль порожнім означає: зберегти попередній пароль (для того самого користувача). Інсталятор і оновлення нічого не змінюють у DATABASE_URL чи у вибраній базі даних.

Налаштування: товари

Бухгалтерія

Усе для бухгалтерії міститься в Налаштування → Бухгалтерія. Разом із бухгалтером заповніть журнал і рахунки головної книги. Якщо ви хочете, щоб каса щодня сама проводила денну виручку, виберіть угорі в полі Бухгалтерська програма свою програму, зокрема й Exact Online: ви бачите лише програми, які працюють у країні вашого закладу. Одразу під ним введіть дані цієї програми й підключіться. Для програм, у які потрібно входити (як-от Exact Online, Twinfield або Xero), спочатку введіть застосунок: ID клієнта й секрет клієнта. Якщо Optimum POS під час встановлення жорстко задав програму або певне значення, цього вибору чи поля ви не побачите. Там також є огляд усіх програм: які можна підключити напряму, а які отримують файл. Файл створюється в Звіт → Виручка за період → Експорт до бухгалтерії: виберіть формат своєї програми або UBL (Peppol), XAF чи денний звіт. Завжди просіть бухгалтера перевірити першу проводку або імпорт.

Для нідерландського закладу там також є Аудиторський файл каси (XAA): XML Auditfile Afrekensystemen Податкової служби Нідерландів (Belastingdienst) з усіма чеками, позиціями, оплатами та подіями каси за вибраний період. Його ви передаєте своєму бухгалтерові або під час перевірки — до Belastingdienst.

Зарплата і планування

Якщо ваш персонал відмічає прихід і вихід, то в Налаштування → Робочий час унизу є Зарплата і планування у двох блоках. У блоці Розрахунок зарплати ви вибираєте свою зарплатну програму або (у Бельгії) свій соціальний секретаріат і вводите для кожного працівника його табельний номер у цій програмі. Потім ви створюєте за період файл із відпрацьованими годинами й виручкою за працівником і імпортуєте його у свою зарплатну програму. У блоці Планування персоналу ви вибираєте систему планування: у Deputy, Dyflexis і Shiftbase виручка надходить щогодини автоматично, для інших ви створюєте файл виручки. Так у своєму плануванні ви бачите витрати на персонал поруч із виручкою. Якщо ви працюєте без відмітки приходу/виходу, виручку все одно можна надсилати у планування: тоді це внизу в Налаштування → Бухгалтерія, у розділі Виручка у ваше планування. Якщо Optimum POS під час встановлення щось зафіксував, ви не бачите цього вибору або поля.

Резервні копії

Каса щоночі автоматично створює резервну копію, а також завжди перед оновленням. У Налаштування → Резервні копії видно всі резервні копії (коли, ким чи автоматично, розмір), а кнопкою Створити резервну копію можна зробити її самостійно. Якщо остання резервна копія старша за два дні, з’являється червоне попередження: тоді зверніться до Optimum POS.

Налаштування: резервні копії

Відновлення виконується кнопкою Відновити біля резервної копії. Усе, що відбулося після цієї копії, буде втрачено. Це треба підтвердити позначкою й повторно ввести свій PIN-код. Каса спершу створює страхувальну копію поточного стану, а потім виконує вихід для всіх. У Бельгії це неможливо зробити з каси (лічильники «чорної скриньки» йдуть далі); там це робить Optimum POS.

База даних

У розділі Налаштування → База даних (лише адміністратор) видно, де каса зберігає свої дані. Угорі показано поточну базу даних: програму, версію, таблиці, рядки та адресу або папку. Для персоналу й планшетів каса працює однаково з будь-якою базою. У Windows, macOS, Linux і на Raspberry Pi ви обираєте з трьох баз даних:

Коли MySQL або MariaDB? Якщо заклад уже має сервер MySQL або MariaDB, якщо з ним працює ваш ІТ-адміністратор або якщо ви хочете читати дані у власних звітах, Excel чи BI-програмі. Якщо вагаєтеся, оберіть вбудовану: вона працює одразу.

Що потрібно для MySQL або MariaDB?

CREATE DATABASE horecapos CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'horecapos'@'localhost' IDENTIFIED BY 'wachtwoord';
GRANT ALL PRIVILEGES ON horecapos.* TO 'horecapos'@'localhost';

Якщо MySQL або MariaDB працює на іншому комп'ютері, укажіть в останніх двох рядках IP-адресу сервера каси замість localhost.

Перенесення до MySQL / MariaDB:

  1. У розділі Адреса MySQL/MariaDB заповніть поля: Сервер (типово localhost), Порт (типово 3306), База даних (типово horecapos), Користувач і Пароль; для MariaDB так само. Якщо адресу вже задано, поля вже заповнені; якщо залишити пароль порожнім, лишиться збережений пароль (для того самого користувача). Каса сама зберігає адресу; якщо Optimum POS уже задав сталу адресу, діє ця адреса і полів немає. Якщо каса вже працює на MySQL/MariaDB, пізніше дані змінюються кнопкою Змінити дані MySQL/MariaDB. Шифроване з'єднання налаштує для вас Optimum POS.
  2. Торкніться Перевірити з'єднання: ви побачите програму й версію або причину помилки.
  3. Торкніться Перенести до MySQL/MariaDB, позначте, що розумієте наслідки, і введіть свій PIN-код.

Перенесення працює в будь-якому напрямку між трьома базами даних, і всі дані переносяться:

  1. Каса ненадовго не приймає запитів (зазвичай менше хвилини); потім планшети самі продовжують роботу.
  2. Спершу каса робить резервну копію поточного стану (у розділі Налаштування → Резервні копії).
  3. Усе переноситься до нової бази, і каса по кожній таблиці перераховує, чи все на місці точно.
  4. Лише коли все збігається, каса продовжує роботу з новою базою. Працівники, що увійшли, залишаються в системі.

Якщо щось не вдається, нічого не змінюється, і каса далі працює зі старою базою. Стара база залишається, тож повернутися можна завжди. Дані каси, що вже були в новій базі MySQL/MariaDB або PostgreSQL, замінюються. У Бельгії це теж можливо: лічильники «чорної скриньки» переносяться точно.

Резервне копіювання та відновлення працюють однаково з усіма трьома базами (Налаштування → Резервні копії). Резервну копію однієї бази можна відновити в будь-якій іншій, зокрема копію з PostgreSQL у MySQL або MariaDB.

Що зберігається в MySQL або MariaDB? Кожна таблиця каси з тією самою назвою та стовпцями (час в UTC). Кожна таблиця отримує додатковий ключовий стовпець _hp_sleutel, а в допоміжних таблицях _horecapos_stand, _horecapos_kolom, _horecapos_reeks і _horecapos_wijziging (журнал змін, зберігається 14 днів) каса веде стан, типи стовпців, лічильники та зміни. Інші програми читають дані; записують лише каси.

Як це працює: каса рахує у швидкій робочій копії на сервері каси й записує кожну зміну в MySQL/MariaDB на тому самому кроці. Якщо це не вдається, зміна не виконується, і каса повідомляє про помилку; тому MySQL/MariaDB має бути доступною. Під час запуску каса зчитує все з MySQL/MariaDB.

Кілька кас в одній базі. Як і з PostgreSQL, кілька кас можуть працювати з однією базою MySQL/MariaDB, наприклад кожен заклад мережі зі своїм сервером каси. Зміни виконуються по черзі, і кожна каса спершу переймає те, що зробили інші, тож за одночасних змін нічого не втрачається. Якщо каса відновлює резервну копію або каса новішої версії оновлює базу, інші каси самі перечитують усе заново; тому оновлюйте всі каси одночасно. Каса, вимкнена довше ніж 14 днів, під час запуску перечитує все заново.

Під час встановлення ви теж обираєте базу даних: MySQL / MariaDB, вбудовану (рекомендовано) або PostgreSQL з адресою. Якщо вона недоступна, каса встановлюється з вбудованою базою; перенести можна потім тут. Під час оновлення вибір зберігається.

Підключення планшетів і екранів

Екран клієнта

Екран на касі, повернутий до клієнта. Клієнт бачить приблизно, що замовлено, і дуже чітко — суму та спосіб оплати. На ньому немає керування: екран лише повторює те, що робить каса. Типово вимк.; увімкнути: Налаштування → Заклад → Екран клієнта. На касовому ПК з двома екранами каса вперше вмикає його сама; якщо потім його вимкнути, він залишиться вимкненим. Без екрана клієнта (вимкнено або його немає) усе працює точно як завжди: каса передає зображення у фоновому режимі, і персонал ніколи не помітить помилки чи відсутнього екрана.

Що бачить клієнт:

Підключення — двома способами (обидва налаштовуються на самому пристрої):

Екран клієнта не запитує PIN-код (керувати там нічим) і показує лише зображення каси, до якої він прив’язаний. Зображення зберігається лише в пам’яті касового сервера; після перезапуску екран порожній до наступної зміни. Налаштування (увімк./вимк. і вітальний текст) входить до резервної копії та до Імпорт/експорт (Інші налаштування).

Електронний чек через QR (за бажанням)

Типово вимкнено. Вмикається в Налаштування → Заклад → Кухня та екран клієнта → Електронний чек (опція з'являється, коли екран клієнта збережено ввімкненим). Після розрахунку на екрані Дякуємо показується QR-код; тоді цей екран лишається 45 секунд замість кількох секунд. Гість сканує код своїм телефоном і бачить чек точно таким, як паперовий (той самий текст, на бельгійській касі — також із блоком FDM). На телефоні він може надрукувати чек, зберегти його як pdf або завантажити як текстовий файл.

Екран клієнта в режимі очікування: слайд-шоу (за бажанням)

Типово вимкнено. Вмикається в Налаштування → Заклад → Кухня та екран клієнта → Екран клієнта в режимі очікування. Якщо на екрані клієнта немає рахунку, слайди змінюють один одного (типово кожні 8 секунд, налаштовується від 4 до 60):

Без слайдів екран клієнта, як завжди, показує екран привітання.

Happy hour

Типово вимк. Увімкнути: Налаштування → Заклад → Використовувати happy hour; після цього з’являється вкладка Налаштування → Happy hour.

Періоди меню та сезони

Типово вимк. Увімкнути: Налаштування → Заклад → Періоди меню та тип замовлення → Асортимент за періодами меню та сезонами; після цього з’являється вкладка Налаштування → Періоди меню. Якщо вимкнути, усі товари знову продаються завжди, а періоди меню зберігаються.

Асортимент і ціни за типом замовлення

Типово вимк. Увімкнути: Налаштування → Заклад → Періоди меню та тип замовлення → Асортимент і ціни за типом замовлення. Якщо вимкнути, скрізь знову діє звичайна ціна і все продається скрізь; введені ціни зберігаються.

Типово вимк. Увімкнути: Налаштування → Заклад → Використовувати меню.

Рецептури та собівартість (Apicbase)

Інтеграція з Apicbase (рецептури, собівартість, склад і закупівлі) через Generic POS API від Apicbase (за замовчуванням вимкнено, кожну частину вмикають або вимикають окремо). Налаштування в Налаштування → Рецептури (право Налаштування закладу, оплат і принтерів). Каса сама обмінюється даними з Apicbase (лише вихідний трафік, портал не потрібен).

  1. Підключення (усе заповнює адміністратор), одним із трьох способів:
    • Вставити token: в Apicbase Library Settings → API Settings → New token → Service Account Token (scopes accounts, library, sales); вставити access token і refresh token;
    • Увійти через власний API-app закладу (client-id і секрет з API Settings): Увійти в Apicbase і вставити код, який потім покаже Apicbase;
    • Прострочений token (через 7 днів) каса сама оновлює за допомогою refresh token.
  2. Outlet: Завантажити outlets і вибрати outlet цього закладу. Каса встановить там POS на Generic POS API з власним location-id (можна вказати; за замовчуванням HORECAPOS-…, унікальний для кожної каси).
  3. Увімк., з позначками:
    • Товари, групи й опції до Apicbase: групи товарів, товари (PLU = PLU-номер товару, інакше код, інакше id), опції як modifiers, з ціною та ПДВ. Автоматично після кожної зміни (через хвилину) і щодня. Потім в Apicbase ви прив'язуєте кожен товар каси до рецепту;
    • Кожен оплачений чек до Apicbase: спочатку найстаріші, не більше 100 за раз, протягом чверті години після оплати (і кожні 5 хвилин). Знижка розподіляється по рядках; довільні суми, збір за одноразову упаковку й застава йдуть як окремі товари в Apicbase; вагові товари — як 1 шт. на загальну суму. Якщо не вдається, каса зупиняється (Apicbase приймає чеки по черзі) і пробує пізніше: на оплату це не впливає. Під час увімкнення ви вибираєте, з якого дня (за замовчуванням від зараз);
    • Отримувати собівартість порції (кожні 6 год): для кожного прив'язаного рецепту food cost (інгредієнти та втрати), з витратами на персонал, ціна продажу й маржа за даними Apicbase. Розрахунок за найдешевшим постачальником, останньою ціною замовлення або середньою вартістю запасів;
    • Брати ціну продажу з Apicbase (за замовчуванням вимк.): встановлює в касі ціну продажу прив'язаних товарів (записується в журнал).
  4. Унизу: Собівартість за товарами із собівартістю, собівартістю з персоналом, ціною в касі, собівартістю % і маржею. Кнопки Надіслати каталог зараз, Надіслати чеки зараз і Отримати собівартість зараз.

Код: apps/pos-server/src/lib/apicbase.ts, routes/apicbase.ts; екран Apicbase.tsx. Журнал: Apicbase. Умова: API-модуль Apicbase. Для застосунку Pin Voordeel для всіх клієнтів: партнерство й сертифікація в Apicbase (див. backlog). Документація: https://developers.apicbase.com/docs/generic-pos-api-guide

Готельне ПЗ: на номер

Для ресторану чи бару при готелі: рахунок записується на номер гостя. Типово вимкнено: Налаштування → Готель (право Налаштування закладу, оплати й принтерів).

Sirvoy надсилає щось лише тоді, коли бронювання змінюється: бронювання, зроблені до підключення, каса дізнається лише після зміни в Sirvoy. Повідомлення можуть надходити не по черзі; повідомлення, старіше (generatedAt) за те, що вже є в касі, пропускається. У готелі = не скасовано й виїзд не оформлено, заселено або заїзд сьогодні чи раніше, а виїзд сьогодні чи пізніше. Перевірити з'єднання показує, скільки бронювань надійшло.

Усе це готельне ПЗ продається в Нідерландах та/або Бельгії. Перевірити з'єднання перевіряє дані. Код кожної інтеграції: apps/pos-server/src/lib/pms/<naam>.ts.

Код: apps/pos-server/src/lib/hotel.ts, routes/hotel.ts, інтеграції в lib/pms/, каталог packages/shared/src/hotelcatalogus.ts; екран Hotel.tsx. Журнал: Готель. Секрети (токени) зберігаються лише в базі даних, ніколи на екрані.

Керування винами з Vinify

Налаштування → Керування винами (за замовчуванням вимкнено; після вимкнення все зберігається). Vinify веде винний льох, винну карту та запаси і є головним джерелом вин. Згідно з POS-вимогами Vinify каса надає API, через який Vinify:

Входить усіма трьома способами, які знає Vinify (адміністратор вмикає, яким):

  1. API ID і API-ключ (X-Api-Id і X-Api-Key або Authorization: Bearer <id>:<sleutel>);
  2. API-ключ і API secret з підписом: X-Api-Key, X-Timestamp і X-Signature = hex HMAC-SHA256(secret, <timestamp>\n<METHODE>\n<pad met query>\n<sha256 van de body>), не старший за 5 хвилин.

Ключ і secret створює каса (показуються один раз); екрани бачать лише, чи їх заповнено. Доступно через портал за адресою https://<portaal>/vinify/<kassa-id>/... (без відкритого порту в закладі; адреса є в Налаштування → Керування винами). Які товари є винами: те, що створює Vinify, плюс групи, які ви позначите. Якщо Vinify дає адресу для надсилання продажів, каса надсилає їх і сама (push, з токеном): після кожного оплаченого чека і кожні 5 хвилин те, що ще не вдалося. Vinify вмикає інтеграцію з HorecaPOS (hello@vinify.no). Усе в журналі. Не плутати з Vinify.nl — онлайн-магазином вин: він є серед постачальників (Замовлення в постачальників).

Швидке введення адреси за поштовим індексом і номером будинку

Увімкніть у Налаштування → Заклад → Швидке введення адреси (за замовчуванням вимкнено; лише для закладу в Нідерландах). Введіть поштовий індекс і номер будинку (також з літерою чи доповненням, напр. 12A або 12-1) і натисніть Знайти адресу: вулиця, номер будинку, поштовий індекс і населений пункт заповнюються. Якщо за цим номером кілька адрес (12, 12A, 12B), виберіть потрібну. Потім усе можна змінити вручну.

Сповіщення про нову версію

Увімкнути в Налаштування → Заклад → Сповіщення про оновлення (за замовчуванням вимкнено).

Платформи бронювання

Бронювання з TheFork, Formitable, Zenchef, Resengo (лише Бельгія), OpenTable (лише Нідерланди), PlanPanther, RestoManager та Aqqo (лише Нідерланди) автоматично потрапляють у касу й на план залу. Вмикається в Налаштування → Платформи бронювання (типово вимкнено). Працює лише тоді, коли увімкнено Бронювання.

Програми лояльності та відгуки

Два окремі перемикачі в Налаштування → Бали та відгуки (обидва за замовчуванням вимкнено, тоді цього ніде не видно). Якщо їх вимкнути, налаштування і те, що вже відбулося, зберігаються.

Програма лояльності іншої платформи: гість накопичує бали в Joyn (Бельгія) та/або Piggy (Leat; Нідерланди та Бельгія). Це не залежить від власної картки лояльності каси; вона може працювати паралельно.

Просити відгуки: після візиту один лист із кнопкою на Google та/або Trustpilot.

Інтеграція з Mailchimp і Klaviyo

Клієнти з карткою лояльності — у вашій власній програмі розсилок: у Налаштування → Заклад → Mailchimp і Klaviyo (під SMS- та e-mail-маркетингом). Перемикача немає: без інтеграції з вибраним списком нічого не відбувається.

Код: lib/mailinglijst.ts, routes/mailinglijst.ts і MailingKoppelingen.tsx.

BI та експорт даних

Дані продажів у Power BI, Looker Studio, Excel, Google Sheets, Tableau, Qlik Sense, Metabase, BI-сервіс (наприклад YourBI, BI4Horeca або Moore DRV) або власне сховище даних. Вмикається в Налаштування → BI та експорт даних (за замовчуванням вимкнено). Лише читання: через інтеграцію в касі нічого не можна змінити. Жодних даних гостей.

Зарплата і планування

Коли Відмітка приходу/виходу ввімкнена (Налаштування → Заклад), у Налаштування → Робочий час унизу є Зарплата і планування (право Керування налаштуваннями) у двох окремих блоках. Якщо відмітку вимкнено, годин немає: тоді лише блок Планування персоналу (виручка, наживо або як файл виручки) розташований унизу в Налаштування → Бухгалтерія, під заголовком Виручка у ваше планування:

ПрограмаNLBEНапрямуФайлПримітка
Зарплатні програми та розрахункові бюро
ADP✓✓за запитомТабель за працівником і днем (CSV)Підключення через ADP (за запитом); до того — табель за працівником і днем.
AFAS Payroll✓–за запитомТабель за працівником і днем (CSV)Розрахунок зарплати в AFAS Profit (те саме середовище, що й бухгалтерія в AFAS); підключення за запитом, до того — табель.
BCS HR✓–за запитомТабель за працівником і днем (CSV)Підключення через BCS (за запитом); до того — табель.
Buddee✓–за запитомТабель за працівником і днем (CSV)Програма для кадрів і зарплати; підключення за запитом, до того — табель за працівником і днем.
Employes✓–за запитомТабель за працівником і днем (CSV)Employes має API для відпрацьованих годин (токен клієнта); підключення з’явиться після узгодження з Employes. До того — табель.
Exact Online Loon✓–за запитомТабель за працівником і днем (CSV)Розрахунок зарплати в Exact Online (те саме середовище, що й бухгалтерія в Exact); підключення за запитом, до того — табель.
Humanwave✓–за запитомТабель за працівником і днем (CSV)Підключення через Humanwave (за запитом); до того — табель.
Loket.nl✓–за запитомLoket.nl Variabele gegevens (CSV), Табель за працівником і днем (CSV)Файл для Werkgever → Collectieve mutaties → Importeren → Variabele gegevens (години за працівником за період). Наживо через Loket API після реєстрації в Loket.
Nmbrs✓–за запитомТабель за працівником і днем (CSV)Табель за працівником і днем для перенесення в Nmbrs. Наживо через Nmbrs API після реєстрації застосунку в Nmbrs.
Salar (Van Winckel)✓––Табель за працівником і днем (CSV)Табель за працівником і днем для бухгалтерської фірми; формат імпорту Salar не є публічним.
Соціальні секретаріати
Acerta–✓за запитомТабель за працівником і днем (CSV)Соціальний секретаріат: формат файлу виконаних робіт ви отримуєте від Acerta; до того — табель.
Group S–✓за запитомТабель за працівником і днем (CSV)Соціальний секретаріат: формат файлу виконаних робіт ви отримуєте від Group S; до того — табель.
Liantis–✓за запитомТабель за працівником і днем (CSV)Соціальний секретаріат з API, який Liantis відкриває для кожної компанії окремо; до того — табель.
Partena Professional–✓за запитомТабель за працівником і днем (CSV)Соціальний секретаріат: формат файлу виконаних робіт ви отримуєте від Partena; до того — табель.
SD Worx✓✓–SD Worx Tijdsregistratie (TXT), Табель за працівником і днем (CSV)Бельгія: файл Tijdsregistratie (облік часу; фіксовані позиції, за працівником за день) для "Tijdsregistratie importeren". Нідерланди: табель.
Securex–✓за запитомТабель за працівником і днем (CSV)Соціальний секретаріат: підключення відбуваються через партнерів; до того — табель.
Планування та облік годин
Book'u–✓за запитомВиручка за днем і годиною (CSV)Book'u подає декларації Dimona; підключення каси — за запитом. До того — список виручки.
Deputy✓✓✓Виручка за днем і годиною (CSV)Наживо: погодинна виручка щогодини надсилається до Deputy (Sales). Постійний токен створюєте в Deputy в розділі API-підключень.
Dyflexis✓–✓Виручка за днем і годиною (CSV)Наживо: погодинна виручка щогодини надсилається до Dyflexis (information streams). API-токен ви отримуєте через Dyflexis.
Eitje✓–за запитомВиручка за днем і годиною (CSV)Eitje підключається через свою партнерську програму; до того — список виручки за днем і годиною.
Exact Horeko✓–за запитомВиручка за днем і годиною (CSV)Підключення через Horeko (за запитом); до того — список виручки.
Fooks✓–за запитомВиручка за днем і годиною (CSV)Fooks сам створює підключення до кас; до того — список виручки за днем і годиною.
L1NDA✓–за запитомВиручка за днем і годиною (CSV)L1NDA створює підключення до кас разом із партнерами; до того — список виручки за днем і годиною.
Mr. Einstein✓–за запитомВиручка за днем і годиною (CSV)HR, графік і витрати на зарплату для закладів харчування; Mr. Einstein створює підключення до кас разом із постачальником каси (запит через mreinstein.nl/contact). До того — список виручки за днем і годиною.
Nostradamus✓✓за запитомВиручка за днем і годиною (CSV)Nostradamus приймає виручку через свій касовий інтерфейс (API-токен і домен закладу, за запитом у Nostradamus); до того часу — список виручки за днями та годинами.
Plan-Me–✓за запитомВиручка за днем і годиною (CSV)Plan-Me подає декларації Dimona; підключення каси — за запитом. До того — список виручки.
Planday✓✓за запитомВиручка за днем і годиною (CSV)Planday має відкритий API для касових систем; підключення з’явиться після узгодження. До того — список виручки.
Shiftbase✓–✓Виручка за днем і годиною (CSV)Наживо: денна виручка щогодини надсилається до журналу відділу в Shiftbase. API-ключ створюєте в Shiftbase в розділі App center.
Shyfter–✓за запитомВиручка за днем і годиною (CSV)Shyfter подає декларації Dimona і приймає денну виручку через свій API; підключення з’явиться після узгодження з Shyfter. До того — список виручки.
Strobbo✓✓–Імпорт виручки Strobbo (Excel), Виручка за днем і годиною (CSV)Файл Excel для Planning → € → Importeer omzet (виручка за день за робочим місцем).
Tamigo✓✓за запитомВиручка за днем і годиною (CSV)Підключення через Tamigo (за запитом); до того — список виручки.
Werktijden.nl✓––Виручка за днем і годиною (CSV), Табель за працівником і днем (CSV)Werktijden.nl сам реєструє години і (поки що) не приймає виручку через свій API; списки слугують для порівняння.
XPS Logic✓–за запитомВиручка за днем і годиною (CSV)XPS Logic орієнтований на гнучкий та агентський персонал; підключення — за запитом. До того — список виручки.

Вимоги законодавства в Бельгії та Нідерландах

Чого вимагає закон і що для цього робить HorecaPOS (попросіть бухгалтера підтвердити, що стосується вашого закладу):

КраїнаВимогаHorecaPOS
БельгіяЗареєстрована касова система (GKS 2.0) з чорною скринькою для закладів громадського харчування, які мають їй відповідати (зокрема при виручці від страв понад 25.000 € на рік без ПДВ)підключення до чорної скриньки (FDM), обов’язкові дані на чеку й лічильники в Z-звіті (країна Бельгія в Налаштування → Заклад, FDM_API_KEY і FDM_TERMINAL_ID); угорі в Налаштування → Заклад ви вибираєте, чи зобов'язаний заклад використовувати GKS: Так = розрахунок лише з робочою чорною скринькою, Ні = без неї, із заявою адміністратора (щороку знову); доки нічого не вибрано, розрахунок неможливий. Каса рахує виручку від страв і попереджає понад 25.000 €
БельгіяЕлектронні рахунки-фактури через Peppol: з 1 січня 2026 року рахунки-фактури між бельгійськими компаніями — платниками ПДВ обов’язково є структурованими електронними (UBL, Peppol BIS 3); касові чеки для споживачів під це не підпадаютьекспорт денної виручки у форматі UBL за Peppol BIS Billing 3.0 для бухгалтерської програми (Експорт до бухгалтерії); і рахунки за чеком для бізнес-клієнтів (Налаштування → Рахунки): UBL за Peppol BIS Billing 3.0 плюс рахунок для друку, надсилання e-mail, через Billit у мережу Peppol, на власну адресу або завантаження (див. «Рахунки для бізнес-клієнтів»)
БельгіяПДВ у громадському харчуванні з 1 березня 2026: їжа на винос і безалкогольні напої 12% (у закладі й на винос), алкоголь 21%, страви, які клієнт готує сам (фондю, гурме), 6%Помічник з ПДВ (Налаштування → Закони та правила): тип кожного товару, правильна ставка одразу або з певної дати; описи ставок A/B/C оновлено
НідерландиЗакон про алкоголь: жодного алкоголю особам до 18 років, також під час онлайн-продажу й доставки (перевірка віку під час передавання)Перевірка віку: товари з алкоголем; в інтернет-магазині клієнт сам підтверджує 18+ (прапорець не встановлено заздалегідь) з повідомленням, що вік перевірять під час передавання; "18+" на кухонному чеку, чеку доставки й касовому чеку
НідерландиОдноразові стакани й контейнери (SUP): з 2024 окрема видима ціна за пластикове одноразове пакування під час самовивозу й доставкиЗбір за одноразове пакування для кожного товару, окремим рядком у чеку (ПДВ товару) і окремо у виручці
НідерландиЗастава за банки й пластикові пляшкиЗастава для кожного товару (€ 0,15 / € 0,25), окремий рядок без ПДВ під час самовивозу й доставки, окремо у виручці
НідерландиОплата готівкою: з 1 січня 2026 не можна приймати € 3.000 або більше готівкою за товариПопередження під час самовивозу й доставки (також на касовому автоматі); можна підтвердити, це записується в журнал
Нідерланди та БельгіяЗміна ПДВ: ставка або товар отримує інший відсоток ПДВ з певної датиПланування зміни ПДВ: каса виконує її в той самий день (у Бельгії для кожного товару, літери A/B/C/D фіксовані)
НідерландиПроживання (ночівлі) 21% з 1 січня 2026ставку ПДВ можна налаштувати для кожного товару
ЄСДиректива Omnibus: закреслена ціна «було» може бути лише найнижчою ціною за останні 30 днівінтернет-магазин закреслює ціну лише відносно найнижчої ціни за 30 днів (каса зберігає історію цін; щотижневі happy hours враховуються)
ЄСEuropean Accessibility Act (з 28 червня 2025): інтернет-магазини мають бути доступними (WCAG 2.1 AA)інтернет-магазин працює з клавіатурою й програмою зчитування екрана (посилання "До вмісту", видимий фокус, підписи) і має заяву про доступність (посилання внизу)
НідерландиXML Auditfile Financieel (XAF): стандарт податкової служби Нідерландів (Belastingdienst) для передачі бухгалтерських даних (або їх частини); XAF 4.0 обов’язковий з 2027 рокуекспорт як XAF 4.0 (Експорт до бухгалтерії)
НідерландиНадійна касова система: зберігати касові дані (усі чеки, коригування та події) і мати змогу надати їх у цифровому вигляді під час перевірки; Belastingdienst рекомендує для цього XML Auditfile Afrekensystemen (XAA)експорт як XAA 3.2 (Звіт → Виручка за період → Аудиторський файл каси), за бажанням підписаний сертифікатом постачальника
БельгіяОблік присутності у зареєстрованій касовій системі: реєстрація початку й кінця робочого часу працівників у касовій системіВідмітка приходу/виходу (Налаштування → Заклад; Обов’язково = спочатку відмітити прихід) реєструється в чорній скриньці
БельгіяDimona: кожне працевлаштування (зокрема flexi-jobs і студентів) повідомляти до RSZ до його початкуце робить ваш соціальний секретаріат або інструмент планування (напр. Shyfter, Book'u, Plan-Me); HorecaPOS надає відпрацьовані години й виручку (Налаштування → Робочий час → Зарплата і планування)
НідерландиОблік робочого часу та часу відпочинку (Закон про робочий час, Arbeidstijdenwet)Відмітка приходу/виходу з відпрацьованими годинами за працівником, які може змінювати адміністратор (з журналом), і табель для зарплатної програми
Нідерланди та БельгіяHACCP / безпечність харчових продуктів: реєстрація температур (охолодження, морозильник, підтримання в теплі, термообробка, швидке охолодження, приймання) і прибирання; NL Hygiënecode voor de Horeca (NVWA), BE самоконтроль FAVV (настанова G-023)Реєстрація HACCP у касі (Налаштування → Закони та правила, кнопка HACCP угорі): точки вимірювання з межами, завдання з прибирання та контролю, обовʼязковий коригувальний захід у разі відхилення, записи без можливості зміни, звіт із пропущеними записами як CSV або друк (див. Реєстрація HACCP)
Нідерланди та БельгіяОбов’язок зберігання (NL 7 років, BE 10 років)чеки, Z-звіти й журнал подій зберігаються в базі даних і в резервних копіях; журнал подій неможливо змінити чи видалити з каси

Закони та правила

Налаштування → Закони та правила (адміністратор; помічник з ПДВ також із правом Керування товарами). За замовчуванням усе вимкнено; без цих налаштувань каса працює як завжди.

Рахунки (у Бельгії обов'язкові між компаніями) описано в розділі «Рахунки для бізнес-клієнтів». Ще зробити: GKS 2.0, дізнатися, як просувається сертифікація (див. docs/backlog-concurrenten.md).

Рахунки для бізнес-клієнтів

Налаштування → Рахунки (адміністратор; за замовчуванням вимкнено): увімкніть Рахунки для бізнес-клієнтів (UBL / Peppol). Нижче, якщо увімкнено, є Оплата за рахунком, Дані в рахунку, Сервіси Peppol, Підключення до банку (з оплатою за рахунком) і список усіх рахунків. У Бельгії електронні рахунки між компаніями обов'язкові з 1-1-2026.

Кіоск самообслуговування

Гості замовляють самі на стійці чи планшеті, як у фастфуді, і платять на касі або карткою біля кіоску. Екрани замовлення — частина самої каси, тож меню, ціни, опції, комплекси, happy hours, частини дня, фото, алергени, мови та чек беруться з каси, і їх не треба налаштовувати деінде. На кіоску працює застосунок PinPortal Kiosk 2 (Android, зокрема Sunmi, а також Windows, Linux і macOS), який показує сторінку і друкує чек. Типово вимкнено.

Увімкнення й налаштування (адміністратор): Налаштування → Заклад → Екрани та керування → Кіоск самообслуговування.

Сам сканер налаштовують на кіоску: у застосунку PinPortal Kiosk 2 у розділі керування → Сканер штрихкодів (як клавіатура, вбудований сканер або COM-порт), з тестом сканера. Сканер, що працює як клавіатура, працює і без застосунку.

Додавання й під'єднання кіоску

  1. У розділі Кіоски введіть назву (напр. Кіоск вхід) і виберіть Додати кіоск. Ви отримаєте код під'єднання з 6 цифр (дійсний 30 хвилин).
  2. Оберіть у кіоску, як платить гість: типово на касі. Якщо це кіоск із терміналом, оберіть карткою або гість обирає і виберіть термінал цього кіоску (з Налаштування → Оплата).
  3. Відкрийте на кіоску сторінку кіоску:
    • у закладі: у застосунку в керуванні → Vast adres адресу, указану біля налаштування, напр. http://192.168.1.20:3000/kiosk;
    • або через портал керування (https, навіть якщо кіоск не в тій самій мережі): прив'яжіть адресу кіоску, указану біля налаштування, до коду кіоску в застосунку, як зі старим кіоском.
  4. Введіть код під'єднання на кіоску. Готово: кіоск запам'ятовує свій ключ. Під'єднати знову дає новий код; Видалити від'єднує його.

Біля кожного кіоску видно, чи він у мережі.

Як замовляє гість

  1. Стартовий екран із вітальним текстом; гість вибирає мову (усі мови каси) і торкається, щоб замовити.
  2. Тут або з собою.
  3. Меню за групами товарів, з фото, ціною (з happy hour), алергенами і тим, що закінчилося. Товари з вибором або комплекс відкривають вікно вибору.
  4. Кошик: зміна кількості та, за бажанням, Ще щось до цього?.
  5. Замовити (оплата на касі): гість бачить свій номер видачі великим на екрані разом із сумою, отримує листок і платить на касі. У касі замовлення відкрите як Кіоск Вхід · 42 (номер, який називає гість); розрахунок як завжди. Після цього воно показується як оплачене на екрані виклику і йде на кухню, якщо це мало статися лише після оплати.
  6. Оплатити карткою: каса надсилає суму на термінал цього кіоску (те саме підключення оплати, що й на касі). Якщо не вдалося, гість може спробувати ще раз або скасувати (або, якщо можна обирати, усе ж оплатити на касі). Лише після успішної оплати замовлення йде на кухню і закривається. Гість бачить свій номер видачі великим на екрані й отримує чек.
  7. За кілька секунд кіоск повертається на початок.

У разі збою: сповіщення й аварійний режим (у застосунку кіоску, керування → Bij storing; типово вимкнено). Якщо кіоск не може зв’язатися з касою, на ньому показано Even gesloten. Дві додаткові функції:

У касі замовлення з кіоску — звичайне замовлення (з собою чи на місці, з назвою Кіоск Вхід) на ім'я працівника Kiosk. Каса створює його сама; ніхто не може увійти під ним. Не робіть його неактивним, інакше кіоск не зможе замовляти. Замовлення з кіоску є у звітах, у розділі Чеки та на екрані виклику. Замовлення, не завершене в кіоску (не замовлене або не оплачене карткою), саме спливає через 30 хвилин.

Оплата карткою в тестовому режимі (Налаштування → Оплата)? Тоді кіоск насправді не приймає гроші; зручно для проби. Без інтернету оплатити карткою неможливо; кіоск тоді повідомляє, що замовити можна біля стійки.

Збій: якщо каса недоступна, застосунок кіоску показує "Тимчасово зачинено" і сам продовжує роботу. Якщо кіоск працює через портал керування і зникає інтернет, застосунок може перейти на касу в локальній мережі (у застосунку: керування → Розширення → У разі збою переходити на локальну мережу); адресу передає сам кіоск.

Вимкнення: кіоск повідомляє, що ненадовго зачинений. Кіоски й налаштування зберігаються. У журналі фіксуються ввімкнення/вимкнення, налаштування, додані й видалені кіоски, під'єднання та скасовані замовлення.

Цифровий меню-борд

Меню з цінами на телевізорі (або іншому моніторі з браузером), прямо з каси. Типово вимкнено; вмикається в Налаштування → Заклад → Екрани та керування → Цифровий меню-борд. Потім відкрийте на телевізорі http://<kassaserver>:3000/menubord (або кнопку На окремому екрані / На планшеті або телефоні з QR-кодом). Без входу і без прив'язки.

Персонал і PIN-коди

Налаштування → Персонал (лише адміністратор): додавати працівників, змінювати ім’я, роль і PIN-код, деактивувати.

Вхід за карткою (за бажанням)

За замовчуванням вимкнено. Увімкнути: Налаштування → Персонал, позначка Вхід за карткою (NFC, RFID або iButton). Потрібно: USB-зчитувач карток, що працює як клавіатура (для NFC- або RFID-карток, брелоків, браслетів або ключів iButton). Такий зчитувач "друкує" номер картки й натискає Enter; драйвер чи інтеграція не потрібні.

Права за ролями

Налаштування → Права (лише адміністратор): для кожної ролі позначте, що можуть офіціант і менеджер. Типово все точно як описано вище (як каса працювала завжди); клітинка, що відрізняється, виділена кольором.

ПравоОфіціантМенеджер
Скасовувати рядки після замовлення (сторно)тактак
Надавати знижку / прибирати знижкунітак
Позначати товар як «закінчився»тактак
Друкувати копію чекатактак
Повернення (кредитний чек)нітак
Розрахунок за рахунком і прийом платежів за рахунком (лише з увімкненою оплатою за рахунком)нітак
Проміжний підсумок (X-звіт)тактак
Закрити день (Z-звіт)нітак
Виручка за періоднітак
Керувати грошовою шухлядоюнітак
Керувати подарунковими сертифікатами (лише з подарунковими картками з балансом)нітак
Читати відгуки й відповідати на них (лише з увімкненим керуванням відгуками)нітак
Керування карткою лояльності (лише з увімкненою карткою лояльності)нітак
Переглядати журналнітак
Перегляд камер (лише з увімкненим відео з камер)нітак
Керувати запасами (лише з увімкненим обліком запасів)нітак
Керування товараминіні
Керувати планами залуніні
Налаштовувати заклад, оплату й принтериніні
Переглядати й коригувати робочий часніні

Дані закладу

Налаштування - Заклад

Налаштування → Заклад (лише адміністратор): назва, адреса, поштовий індекс, місто, телефон і номер платника ПДВ закладу. Вони друкуються вгорі кожного чека та pro forma. Тут також налаштовується текст унизу чека (можна кілька рядків; порожньо = без тексту; типово «Bedankt en tot ziens!»), а під ним — мова касового чека (типово нідерландська; див. Мови). Попередній перегляд чека оновлюється наживо. Після збереження наступний чек одразу використовує нові дані. Країну й фіскальні дані (GKS) тут навмисно змінити не можна. У Бельгії номер платника ПДВ обов’язковий. Позначка Округлювати оплату готівкою до 5 центів (за замовчуванням вимкнено) округлює суму при оплаті готівкою (€ 6,62 → € 6,60, € 6,63 → € 6,65); різниця вказується в чеку як «Округлення». Картка — завжди точно до цента.

Керування товарами

Налаштування - Товари

Увійдіть як адміністратор і виберіть Налаштування → Товари.

Фото товарів

Кожен товар може мати фото.

Сканер штрихкодів

Сканером штрихкодів на касі ви скануєте товари, промокоди, картки лояльності та подарункові картки. Увімкнення: Налаштування → Сканер (вкладка поруч із принтерами та вагою; типово вимкнено). Позначте, що робить сканування на екрані замовлення:

Каса шукає спочатку серед товарів, потім серед карток лояльності, подарункових карток і промокодів. Сканування працює на екрані замовлення, якщо курсор не стоїть у полі введення. У полі введення код просто потрапляє в це поле.

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

На кіоску сканер налаштовують окремо (Налаштування → Заклад → Кіоск); див. Кіоск самообслуговування.

Друк етикеток

Етикетки товарів із назвою, ціною і штрихкодом на принтері етикеток (Brother, Dymo, Zebra ...), встановленому на комп'ютері чи планшеті. Вмикається в Налаштування → Заклад → Друк етикеток (за замовчуванням вимкнено). Там же вибирається розмір етикетки (38 × 25, 57 × 32, 62 × 29 або 100 × 50 мм) і чи будуть на ній ціна й штрихкод. Пробний друк друкує одну пробну етикетку.

Налаштування ваг (A&D, Aclas, Adam Equipment, Avery Berkel, Avery Weigh-Tronix, Balanzas Marques, Baxtran, Bizerba, Brecknell, CAS, Datalogic, Dibal, DIGI, Dini Argeo, Excell Precision, Gram, Ishida, Kern & Sohn, Mettler Toledo, Minebea Intec, Ohaus, Precia Molen, Precisa, Rice Lake, Rongta, Sartorius, Star Micronics, T-Scale, UWE, Wedderburn, Wintec, Zebra)

Окрема вкладка Налаштування → Вага (право Налаштовувати заклад, оплату й принтери, типово лише адміністратор; вкладка є завжди, навіть якщо ваги ще вимкнені). Типово вимк.: тоді каса працює точно як раніше. Не бачите вкладку?

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

Знайдене вноситься у форму з кнопкою Увімкнути й використовувати: один дотик — і все працює. (Пошук надсилає W на кожен вільний COM-порт; зайнятий порт, напр. платіжним терміналом, пропускається.)

Усі ваги Aclas. Для кожних ваг ви вибираєте модель; тоді каса знає, як їх можна підключити. Є два види:

Один список, дві позначки. Усі ваги в одному списку. Для кожних ваг ви позначаєте, що вони роблять: Зважування біля каси (каса запитує вагу під час замовлення) та/або Сканувати етикетки (ваги друкують етикетку зі штрихкодом, яку сканує каса, і отримують PLU від каси). ПК- або ШІ-ваги, як-от TS6X, вміють обидва; ваги з друком етикеток LS — лише етикетки. Етикетки можуть надходити лише з одних ваг на заклад.

МодельВидПідключенняУ касі
OS6XPOS-вагиRS232, USB, Bluetoothпідключені, кілька одночасно
OS2XPOS-вагиRS232, USBпідключені, кілька одночасно
CS6X, CS3XКасові вагиRS232, USB, Ethernet, wifiпідключені, кілька одночасно
TS6X, TS3X, TS5EX, TS5NX, TS5GXПК-ваги (Windows, Android, Linux)RS232, USB, Ethernet, wifiна цьому пристрої (1x), також як ваги з етикетками
iS6X, iS2X, iR6X, Ti6X, iL8XШІ-ваги з розпізнаванням товарів (Windows, Android, Linux)RS232, USB, Ethernet, wifiна цьому пристрої (1x), також як ваги з етикетками
iS5X, OiT2XШІ-ваги (лише Linux)RS232, USB, Ethernetпідключені або як ваги з друком етикеток
LS2S, LS2RX, LS2CX, LS2NX, LS5SX, LS5RX, LS5CX, LS5NX, LS6CX, LS6RX, LS6NXВаги з друком етикетокRS232, Ethernet, wifiсканування етикеток і PLU
PS1CX, PS1DX, PS6CX, PS6DXВаги з розрахунком ціниRS232підключені, кілька одночасно
PS1BXВаги з розрахунком ціни без підключеннянемаєвага вручну
LH15XПідвісні ваги з принтером етикетокRS232, Ethernet, wifiпідключені або як ваги з друком етикеток

A&D, Adam Equipment, Avery Berkel, Avery Weigh-Tronix, Balanzas Marques, Baxtran, Bizerba, Brecknell, CAS, Datalogic, Dibal, DIGI, Dini Argeo, Excell Precision, Gram, Ishida, Kern & Sohn, Mettler Toledo, Minebea Intec, Ohaus, Precia Molen, Precisa, Rice Lake, Rongta, Sartorius, Star Micronics, T-Scale, UWE, Wedderburn, Wintec і Zebra. Додано поширені моделі цих марок, для яких точно відомо, як каса з ними спілкується (потребує перевірки = протокол не вказано дослівно в жодному джерелі; каса обирає найімовірніший). Усі підключені (кілька одночасно) або як ваги з етикетками, етикетку яких сканує каса:

МаркаМодельВидПідключенняПротокол (заводський)У касі
A&DEK-i (зокрема EK-610i), HV-WPКасові ваги (лише вага)RS232, EK-i також USBБезперервно (режим stream), 2400 бод, 7E1підключені, кілька одночасно
Adam EquipmentSwiftВаги з розрахунком ціниRS232, USB (опція)Безперервно (безперервно на ПК), 9600 8N1 (потребує перевірки)підключені, кілька одночасно
Avery BerkelFX110, FX120, FX131 (вбудовані, зі сканером)Касові вагиRS232, FX131 також USBMettler Toledo 82/7 = Toledo 8217 (каса надсилає W), 9600 бод, 7E1підключені, кілька одночасно
Avery BerkelFX125Ваги з розрахунком ціниRS232Checkout-Dialog 06 (9600, 7O1)підключені, кілька одночасно
Avery BerkelXs, XTs, XTiВаги з друком етикетокEthernet, Wi-Fi, USBвласні PLU на вагахсканувати етикетки
Avery Weigh-Tronix7820, 7829, ZP900Касові вагиRS232, 7820 також USB, ZP900 також USB і EthernetNCI (каса надсилає W), 9600 бод, 7E1підключені, кілька одночасно
Balanzas MarquesBM1000P TOPКасові ваги (лише вага)RS232METTLER (каса надсилає W, Toledo), 9600 бод, 7E1підключені, кілька одночасно
Balanzas MarquesBM5 Junior Tower Label, BM500 ETQВаги з друком етикетокEthernet, USB, RS232, BM500 ETQ також wifiвласні PLU на вагахсканувати етикетки
BaxtranTW, VW, XTA, XTA-PВаги з розрахунком ціниRS232Toledo (каса надсилає W), 9600 бод, 7E1підключені, кілька одночасно
BizerbaCS 300 (також вбудовані)Касові вагиRS232Checkout-Dialog 06 (9600, 7O1)підключені, кілька одночасно
BizerbaK-Class Flex, KH IIВаги з друком етикетокEthernetвласні PLU на вагахсканувати етикетки
Brecknell6702U, 6710U, 6720UКасові вагиRS232, USB (віртуальний COM-порт)NCI (каса надсилає W), 9600 бод, 7E1підключені, кілька одночасно
CASPD-II, PDN, PDI, PDS-BКасові вагиRS232, PDN також USB і Bluetooth, PDI також USBECR type 2 = Toledo (каса надсилає W), 9600 бод, 7E1підключені, кілька одночасно
CASCL3000, CL5500, CL7200Ваги з друком етикетокEthernet, USB, RS232, CL5500 і CL7200 також wifiвласні PLU на вагахсканувати етикетки
DatalogicMagellan 9300i, 9400i, 9800i (сканер із вагами)Касові вагиRS232 (окремий ваговий порт), USBMettler Toledo 8217 (каса надсилає W), 9600 бод, 7E1підключені, кілька одночасно
DibalKS-400, D-POS 400Касові вагиRS232, D-POS 400 також USBCheckout-Dialog 06 (9600, 7O1)підключені, кілька одночасно
DibalG-325, PI-100Ваги з розрахунком ціниRS232Checkout-Dialog 06 (9600, 7O1)підключені, кілька одночасно
DibalM-500 (Mistral), D-900, CS-2200Ваги з друком етикетокEthernet, Wi-Fi, USBвласні PLU на вагахсканувати етикетки
DIGIDS-781Ваги з розрахунком ціниRS232DIGI Type B (каса надсилає ENQ), 9600 8N1підключені, кілька одночасно
DIGISM-120, SM-6000Ваги з друком етикетокEthernet, Wi-Fiвласні PLU на вагахсканувати етикетки
Dini ArgeoDFW, DGT, 3590EКасові ваги (лише вага)RS232, USB, Ethernet, DFW і 3590E також wifiБезперервно (ST,GS, 0.512,kg), 9600 8N1підключені, кілька одночасно
Excell PrecisionTPE, AM4, FD4-P, FDP4-P, GE4, GEP4Ваги з розрахунком ціниRS232Безперервно (ST,GS,+0.876kg), 9600 8N1 (крім TPE, потребує перевірки)підключені, кілька одночасно
GramXFOC RS, XFOC+ RS, ZFOC RSВаги з розрахунком ціниRS232, USB (кабель Gram)Gram (каса надсилає ENQ, потім DC1), 9600 8N1 (XFOC потребує перевірки)підключені, кілька одночасно
IshidaUni-3, Uni-5, Uni-7, Uni-9Ваги з друком етикетокEthernet, Wi-Fi, USBвласні PLU на вагахсканувати етикетки
Kern & SohnRPB, RFCВаги з розрахунком ціниRS232, USBCheckout-Dialog 06 (Prot = DLG-06, 9600, 7O1)підключені, кілька одночасно
Kern & SohnRFE (з ціною), IFB, EOCВаги з розрахунком ціни / касові вагиRS232Безперервно, 9600 8N1підключені, кілька одночасно
Mettler ToledoAriva-SКасові вагиRS232, USB (віртуальний COM-порт)Toledo 8217 (каса надсилає W), 9600 бод, 7E1підключені, кілька одночасно
Mettler ToledoVivaКасові вагиRS232Toledo 8217, 9600 бод, 7E1підключені, кілька одночасно
Mettler ToledobPlus, UC EvoВаги з друком етикетокEthernet, Wi-Fiвласні PLU на вагахсканувати етикетки
Minebea IntecSignum, Combics, Midrics, PuroКасові ваги (лише вага)RS232, USB, Signum і Combics також EthernetБезперервно (SBI, автоматичний друк), 9600 8N1підключені, кілька одночасно
OhausAviator 7000Ваги з розрахунком ціниRS232 або USBCheckout-Dialog 06 (9600, 7O1)підключені, кілька одночасно
OhausValor 7000, Ranger 3000, Ranger 4000, Ranger 7000, Defender 3000Касові ваги (лише вага)RS232, USB, EthernetБезперервно (Auto Print Continuous), 9600 8N1підключені, кілька одночасно
Precia MolenDP400Касові вагиRS232, USBCheckout-Dialog 06 (9600, 7O1)підключені, кілька одночасно
Precia MolenDPOS CR, C 210 B, C 210 CВаги з розрахунком ціниRS232Checkout-Dialog 06 (9600, 7O1; C 210 потребує перевірки)підключені, кілька одночасно
Precia MolenCorail 500Ваги з друком етикетокEthernet, Wi-Fiвласні PLU на вагахсканувати етикетки
PrecisaXB, XT, LS, LX (прецизійні ваги)Касові ваги (лише вага)RS232, LS і LX також USBБезперервно (режим друку CONTINUOUS), 9600 8N1підключені, кілька одночасно
Rice LakeBenchPro BP-S, BenchPro BP-RКасові вагиRS232BP-S Toledo 8213, BP-R NCI (в обох випадках каса надсилає W), 9600 бод, 7E1 (потребує перевірки)підключені, кілька одночасно
RongtaRLS1000, RLS1100Ваги з друком етикетокEthernet, RS232, wifiвласні PLU на вагахсканувати етикетки
SartoriusEntris, QuintixКасові ваги (лише вага)RS232, USBБезперервно (SBI, автоматичний друк), 9600 8N1підключені, кілька одночасно
Star MicronicsmG-T12, mG-T30, mG-T60, mG-S8200Касові ваги (лише вага)RS232, USB (віртуальний COM-порт)Безперервно, 9600 8N1 (потребує перевірки)підключені, кілька одночасно
T-ScalePA10, PA15, PEA10Ваги з друком етикетокEthernetвласні PLU на вагахсканувати етикетки
UWEASEPВаги з розрахунком ціниRS232Безперервно, 9600 8N1 (потребує перевірки)підключені, кілька одночасно
WedderburnTSDS983Касові вагиRS232DIGI Type B (каса надсилає ENQ), 9600 8N1 (потребує перевірки)підключені, кілька одночасно
WedderburnTSDS781T, TSDS782TВаги з розрахунком ціниRS232DIGI Type B, 9600 8N1 (потребує перевірки)підключені, кілька одночасно
WedderburnTSSM120Ваги з друком етикетокEthernet, RS232власні PLU на вагахсканувати етикетки
WintecScalePOS ACS-S60E (каса з вбудованими вагами)Касові вагивнутрішній COM6 (Windows) або COM4 (Android)Безперервно, 9600 8N1 (потребує перевірки)підключені
ZebraMP7000, MP72 (сканер із вагами)Касові вагиRS232 (порт AUX)SASI = Toledo (каса надсилає W), 9600 бод, 7E1 (потребує перевірки)підключені, кілька одночасно

Той самий список є в касі в Налаштування → Вага → Усі ваги (ACLAS_MODELLEN у packages/shared/src/weegschaal.ts, з маркою для кожної моделі).

Якомога менше заповнювати: коли ви обираєте модель, каса готує решту так, як марка налаштовує на заводі: підключення COM-порт / USB на першому вільному порту, 9600 бод (A&D: 2400) і протокол марки (Toledo: Aclas з 8N1, а з 7E1 Avery Berkel FX, Avery Weigh-Tronix, Balanzas Marques, Baxtran, Brecknell, CAS, Datalogic, Mettler Toledo, Rice Lake і Zebra; Dialog 06: Avery Berkel FX125, Bizerba, Dibal, Kern & Sohn RPB/RFC, Ohaus Aviator і Precia Molen; DIGI Type B: DIGI і Wedderburn; Gram: Gram; Безперервно: A&D, Adam Equipment, Dini Argeo, Excell Precision, інші Kern & Sohn, Minebea Intec, інші Ohaus, Precisa, Sartorius, Star Micronics, UWE і Wintec), а також назву (напр. OS6X, OS6X 2). ПК- або ШІ-ваги стають На цьому пристрої (напр. TS6X (ingebouwd); у Linux на внутрішньому порту /dev/ttyS0). Якщо щось не так, Пошук знайде правильний порт, швидкість і протокол.

На цьому пристрої (Aclas Scale Module): ваги показують повірену вагу; каса надсилає ціну за кг і тару (як попередню тару) та бере суму, яку рахують ваги, так само як з Dialog 06.

Програмне забезпечення Aclas входить до каси: Scale Module для Windows (aclas-module), AclasScaleDriver для Android (aclas-android) і Aclas Sync SDK для Windows і Linux (aclas-sdk). Aclas дозволяє нам їх постачати. Інсталятори для Windows і Linux їх містять; нічого не треба окремо завантажувати чи встановлювати.

Bluetooth (напр., OS6X): спершу з'єднайте ваги. Windows робить із них COM-порт (Параметри Bluetooth → Інші параметри Bluetooth → COM-порти), Linux /dev/rfcomm0: введіть цей порт. У застосунку Android ви вводите адресу Bluetooth (00:11:22:AA:BB:CC); застосунок один раз просить дозвіл на Пристрої поблизу і підключається через Bluetooth SPP.

ШІ-ваги (розпізнавання товарів): камера розпізнає товар у програмі Aclas на вагах. Зважування працює через Scale Module (на цьому пристрої) або порт RS232; ШІ-ваги з друком етикеток після розпізнавання друкують етикетку зі штрихкодом, яку сканує каса (як з TS6X).

Aclas AI Recognition Plugin (ШІ-ваги, на яких працює каса, напр. iS6X з Windows): плагін Aclas розпізнає товар і вводить його штрихкод у касу, як сканер (з Enter після нього); екран замовлення додає товар із вагою до замовлення. Як це налаштувати:

Aclas OS6X (POS-ваги біля каси, RS232/USB; так само працюють інші підключені ваги):

Сканувати етикетки (позначка біля ваг: Aclas TS6X, інші ПК- чи ШІ-ваги, серія LS або LH15X; ваги + принтер етикеток, одні на заклад):

Портал керування: повідомлення в портал має функцію Ваги (A&D, Aclas, Adam Equipment, Avery Berkel, Avery Weigh-Tronix, Balanzas Marques, Baxtran, Bizerba, Brecknell, CAS, Datalogic, Dibal, DIGI, Dini Argeo, Excell Precision, Gram, Ishida, Kern & Sohn, Mettler Toledo, Minebea Intec, Ohaus, Precia Molen, Precisa, Rice Lake, Rongta, Sartorius, Star Micronics, T-Scale, UWE, Wedderburn, Wintec, Zebra) з увімк./вимк. і вагами за моделями (напр. TS6X (op dit apparaat), 2x OS6X, PS1CX, Ariva-S, DS-781, LS6RX, 5 producten per kilo); без IP-адрес, COM-портів і Bluetooth-адрес.

Закон про метрологію: ваги, на яких ви продаєте, мають бути повірені (клас III, як OS6X). З Toledo/безперервним режимом каса рахує з вагою, яку передають ваги; з Dialog 06 повірені ваги самі розраховують ціну.

Код: packages/shared/src/weegschaal.ts (протоколи, етикетки, файл PLU), apps/pos-server/src/lib/weegschaal.ts і routes/weegschaal.ts; екрани WeegschaalInstellingen.tsx і WeegDialoog.tsx.

Thuisbezorgd.nl / Takeaway.com

Замовлення з Thuisbezorgd.nl надходять прямо в касу, без посередників (без Deliverect, HubRise тощо): Just Eat Takeaway JET Connect зв’язується з порталом керування Pin Voordeel, а каса забирає звідти свої повідомлення.

У Бельгії платформа називається Takeaway.com: та сама компанія (Just Eat Takeaway) і те саме підключення. Для бельгійського закладу на екранах, у сповіщеннях, на кухонному чеку та в порталі керування всюди показано Takeaway.com замість Thuisbezorgd.nl. Нижче Thuisbezorgd означає обидва.

Чому через портал? Касі потрібні лише PORTAAL_URL і PORTAAL_SLEUTEL (див. Портал керування), і вона робить лише вихідні запити.

Налаштування (Налаштування → Платформи доставки → Thuisbezorgd.nl / Takeaway.com, право Налаштування закладу, оплати та принтерів; раніше це було в Налаштування → Заклад):

  1. Увімкніть Використовувати Thuisbezorgd (діє одразу, незалежно від «Зберегти»).
  2. Зареєструватися в Thuisbezorgd. Після цього заклад вибирає в Thuisbezorgd (Partner Hub або через акаунт-менеджера) OptimumPOS / Pin Voordeel як касу. JET тоді запускає сеанс підключення; портал знаходить зареєстровану касу (за поштовим індексом і назвою, інакше Pin Voordeel прив’язує сеанс у порталі вручну), надсилає конфігурацію і запитує в каси меню. Після цього підключення починає працювати.
  3. Позначте товари, які можна замовити через Thuisbezorgd (за групою або окремо), за бажанням з описом для Thuisbezorgd. Меню (ціна, опції як модифікатори, алергени, ПДВ) передається автоматично; PLU = id товару/опції. Після зміни в каталозі каса оновлює меню протягом 30 секунд; лише «закінчився»/«знову в наявності» йде через API доступності.
  4. Години роботи Thuisbezorgd: окремо для доставки й самовивозу (напр. 16:00-22:00, кілька блоків через кому). Їх зберігають кнопкою Зберегти години роботи під ними, і вони надсилаються в Thuisbezorgd як service times, щойно інтеграція готова.
  5. Тимчасово закрито / Знову відкрито (у NL/BE відкривається знову найпізніше наступного ранку о 07:00).

Замовлення. Замовлення стає звичайним замовленням без столика (bezorgen або afhalen, назва групи TB <ordernummer>) з цінами, які сплатив клієнт, плюс плата за доставку/обслуговування окремим рядком і знижка Thuisbezorgd рядком знижки; якщо сума все одно не сходиться — рядок «Різниця Thuisbezorgd». Кухонний чек одразу йде на кухню/бар (можна вимкнути). Каса за кілька секунд підтверджує порталу, а той повідомляє JET; якщо це не вдається протягом 3 хвилин або каса офлайн, JET отримує «не вдалося», і заклад повертається до Orderpad.

Кнопка Thuisbezorgd у верхній панелі (з кількістю поточних замовлень): список, клієнт і адреса, час готовності/доставки та хронологія (track & trace): отримано, кур’єр їде до закладу, кур’єр у закладі, у дорозі до клієнта, доставлено (від JET), плюс власні кроки (готується, готово, у дорозі/доставлено при власній доставці, забрано). Живої карти з кур’єром JET Connect касі не надає; її бачить клієнт у застосунку Thuisbezorgd. Нове замовлення, скасування та «кур’єр у закладі» супроводжуються помаранчевою смугою і звуковим сигналом. Завершити (оплачено онлайн) розраховує зі способом оплати online; якщо клієнт платить біля дверей, просто розрахуйтеся як звичайно. Скасування з боку Thuisbezorgd анулює замовлення й друкує кухонний чек «СКАСОВАНО».

Код: apps/pos-server/src/lib/thuisbezorgd.ts, routes/thuisbezorgd.ts; екрани ThuisbezorgdInstellingen.tsx і Thuisbezorgd.tsx. Бік порталу: horecapos-portaal/src/thuisbezorgd.mjs (див. README порталу).

Підрахунок на порталі керування. Кількість замовлень Thuisbezorgd за день входить до повідомлення на портал керування (verkoopTelling у lib/portaal.ts): ті, що надійшли й не скасовані, за днем надходження. Замовлення Thuisbezorgd, розраховане в касі (також Завершити (оплачено онлайн)), не рахується там удруге в самовивозі/доставці. Дані Thuisbezorgd зберігаються в базі даних каси, тож потрапляють у резервні копії каси як звичайно.

Інтернет-магазин і онлайн-замовлення

Кожен заклад може отримати власний інтернет-магазин: сайт замовлень (і застосунок) у фірмовому стилі закладу для самовивозу, доставки, замовлення за столиком через QR-код і бронювання, з онлайн-оплатою (MultiSafepay або Buckaroo) або оплатою під час самовивозу/доставки. Інтернет-магазин — окремий проєкт, horecapos-webshop (Node.js, див. README там), і працює на тому ж сервері, що й портал керування.

Увімкнення й налаштування виконуються в керуванні інтернет-магазином: кнопка Керувати інтернет-магазином у клієнтському порталі (власник) або біля інсталяції в порталі керування (Pin Voordeel). Там є увімк./вимк., веб-адреса (<zaak>.<webshopdomein> або власний домен), фірмовий стиль (кольори, логотип, фото в шапці, шрифт), години роботи та часові проміжки для самовивозу й доставки, зона доставки (поштові індекси, радіус або область на карті, із вартістю й мінімумом), оплата, промокоди, тексти, мови, QR-коди для столиків, бронювання та застосунок (встановлюється як PWA; Android-застосунок через Trusted Web Activity). Крім того, push-сповіщення (за бажанням, типово вимкнені): гість вмикає сповіщення на сторінці свого замовлення й отримує push-сповіщення, коли замовлення готове або в дорозі; охочі також час від часу отримують пропозицію, яку заклад надсилає з керування інтернет-магазином (вкладка Push-сповіщення). Працює на Android і комп’ютерах (Chrome, Edge, Firefox, Samsung Internet), в Android-застосунку, а також на iPhone та iPad (iOS 16.4 або новіше), якщо гість додасть інтернет-магазин на початковий екран. SMS чи e-mail не надсилаються, ім’я чи номер не зберігаються. Подробиці в README інтернет-магазину.

Меню. Каса надсилає меню автоматично: усі активні товари (не вагові), за групами товарів, з ціною, варіантами вибору, алергенами, позначкою «розпродано» та фото товару, а також столики, дані закладу і те, які маркетингові канали увімкнено (для позначки "отримувати пропозиції" під час оформлення, див. SMS- та e-mail-маркетинг). Це відбувається під час запуску, щойно вмикається інтернет-магазин, протягом 30 секунд після зміни в каталозі та протягом кількох секунд після зміни в Налаштування → Заклад, наприклад маркетингу чи картки лояльності (або кнопкою Надіслати меню зараз). Прибрати товар з інтернет-магазину можна в керуванні інтернет-магазином (приховати) або в базі даних за допомогою artikel.webshop = false.

Замовлення. Самовивіз і доставка стають звичайним замовленням без столика (назва групи WEB <bestelnummer>) з цінами, які бачив гість, плюс вартість доставки та транзакційний збір окремими рядками й промокод рядком знижки; якщо підсумок усе ж не збігається — рядок "Різниця інтернет-магазину". Чайові гостя не рахуються як виручка: вони потрапляють у Завершити (оплачено онлайн) як чайові в оплаті. Замовлення за столиком (QR-код) додається до відкритого рахунку цього столика (оплачено онлайн: окремою групою за цим столиком). Кухонний чек одразу йде на кухню/бар (вимикається у вікні Інтернет-магазин). Каса протягом кількох секунд підтверджує замовлення з номером чека; гість отримує "отримано" і лист. Якщо каса офлайн, інтернет-магазин не приймає замовлень (гість бачить це одразу) і надсилає лист закладу, якщо замовлення надто довго не оброблено. Бронювання з інтернет-магазину потрапляють у Бронювання (лише якщо бронювання в касі увімкнено). Якщо задано максимум на проміжок (Доставка та часові проміжки), замовлення інтернет-магазину з часом у цьому проміжку враховуються.

Бельгія (чорна скринька). Замовлення з інтернет-магазину одразу йде до чорної скриньки як замовлення (signOrder), ще до кухонного талона, так само як Замовити на касі. Якщо це не вдається, замовлення не потрапляє в касу, і інтернет-магазин пізніше надсилає його повторно. Усе, що ще не протестовано з чорною скринькою, вимкнено в меню для інтернет-магазину (подарункові картки, промокоди, за рахунком, на номер, комплексні меню, опції з доплатою, happy hour і чайові) і відхиляється, якщо старий інтернет-магазин усе ж це надсилає. Завершити перевіряє чайові, оплату за рахунком і на номер так само, як каса.

На номер (інтеграція з готелем, Налаштування → Готель → Самообслуговування → В інтернет-магазині): меню отримує kamer: { maxBedrag }; інтернет-магазин надсилає betaling.wijze = "kamer" разом із kamer і achternaam. Каса перевіряє гостя в готельному ПЗ (не за столом, не з подарунковою карткою) і зберігає його разом із замовленням; Завершити (на номер) проводить розрахунок на номер і записує чек на готельний рахунок. Зведений рахунок-фактура при оплаті за рахунком: чек тоді значиться як відкрита позиція.

Кнопка Інтернет-магазин у верхній панелі (з кількістю поточних замовлень): список, клієнт і адреса, бажаний час або "якнайшвидше", спосіб оплати та хронологія. Кроки Готується, Готово і У дорозі гість бачить наживо в інтернет-магазині (і e-mail, якщо заклад цього хоче). Розраховано в касі = Завершено; Скасувати анулює лише рядки цього замовлення інтернет-магазину, друкує кухонний чек "СКАСОВАНО", а за замовлення, оплачене онлайн, інтернет-магазин повертає гроші. Прибув, неявка або скасовано в бронюванні теж передаються назад в інтернет-магазин. Нове замовлення або бронювання показує помаранчеву смугу та звуковий сигнал.

Код: apps/pos-server/src/lib/webshop.ts, routes/webshop.ts; екран Webshop.tsx. Сторона порталу: horecapos-portaal/src/webshop.mjs.

Каса та інтернет-магазин однаково (кожну частину вмикають окремо, за замовчуванням вимкнено; старіший інтернет-магазин ігнорує нові поля). Що увімкнено в касі, працює і в інтернет-магазині:

Для цього меню для інтернет-магазину має versie: 2 з полями menuArtikelen, allergenenAan, happyhours, menus, klantenkaart, cadeaubon, kortingscodes, pauze, drukteMin, volgt, bezetting, reserveren.online, ayce, opRekening, wachtlijst і upsell. Підтвердження для порталу додатково містить cadeaubonnen (коди), klant (бали) та plek (список очікування).

Підрахунок на порталі керування. Самовивіз і доставка через інтернет-магазин рахуються окремо (webshop, webshopGeannuleerd у verkoopTelling), за днем надходження, і не рахуються вдруге в самовивозі/доставці. Замовлення за столиком рахується як звичайно за столиком.

Оплата карткою та платіжні термінали

Налаштування → Оплата (лише адміністратор):

Якщо є хоча б один термінал з API-ключем (або ввімкнено тестовий режим), Розрахунок → Картка / Bancontact автоматично запускає оплату на терміналі на суму, яку розраховує сервер.

Поки підключення ввімкнене, сервер приймає «картку» лише з успішною оплатою на терміналі саме за це замовлення й на цю суму. Запити, як і в офіційному PHP-SDK, надсилаються звичайною формою, із резервним API (api-backup.pinvandaag.com), якщо основний API не відповідає. Кожна відповідь API показується з [pin] у вікні сервера — зручно під час збоїв. Успішна, але ще не оброблена оплата (напр. планшет вимкнувся) знаходиться під час наступного розрахунку цього замовлення.

Чайові (картка, готівка й подарункова картка)

На екрані розрахунку для кожного способу оплати є ряд кнопок чайових: Немає, 5%, 10%, 15% (з округленням угору до 10 центів), Округлення (до наступного цілого євро) та Інша сума. При оплаті карткою клієнт платить суму + чайові одним платежем на терміналі; при готівці чайові враховуються в решті та в грошовій шухляді. На чеку — сплачена карткою сума з «з них чайові» під нею; ПІДСУМОК і ПДВ не змінюються, бо чайові — не виручка. У X/Z-звіті чайові вказано за способами оплати та як «Чайові разом».

Адміністратор налаштовує кнопки чайових у Налаштування → Заклад → Чайові: увімк./вимк., які відсотки (не більше 4, напр. «5, 10, 15»), чи є кнопка «Округлення» і для яких способів оплати (картка, готівка, подарункова картка) можливі чайові. «Немає» та «Інша сума» є завжди.

«Нехай буде …» є завжди, для кожного способу оплати, навіть якщо кнопки чайових вимкнено (без налаштування): клієнт сам округлює рахунок угору, а різниця — чайові. Є кнопки з наступним цілим євро й наступними круглими сумами (напр. € 28,00 → 29, 30, 40; € 44,00 → 45, 50, 60) та Інший підсумок, щоб ввести підсумок самостійно. Повторне натискання вибраної кнопки = без округлення. Не більше € 500 чайових (така сама межа, як на касовому сервері).

Немає інтернету

Каса працює в локальній мережі й не потребує інтернету; він потрібен лише для оплати карткою через підключення. Якщо в закладі немає інтернету, у верхній панелі з’являється Немає інтернету · картка вручну (перевіряється щохвилини). Тоді на екрані розрахунку, а також після невдалого запуску на терміналі, з’являється кнопка Уже оплачено на терміналі: проведіть суму на самому терміналі й зафіксуйте її так.

Плани залу та столики

Редактор плану залу

Налаштування → Плани залу (лише адміністратор):

Перенесення конфігурації в другий заклад

Налаштування - Імпорт/експорт

Налаштування → Імпорт/експорт (лише адміністратор). Якщо ви повністю налаштували один заклад, експортуйте конфігурацію у файл .json і імпортуйте його в касу другого закладу. Можна вибрати окремі частини:

Ніколи не переносяться: назва, адреса, поштовий індекс, місто, телефон, e-mail, номер платника ПДВ і завершальний рядок чека закладу, адреса e-mail для Z-звіту, платіжні термінали та їхні ключі, персонал і PIN-коди, а також уся виручка, чеки, клієнти й кількості запасів.

Імпорт надійно захищений: велике червоне попередження, позначка «Я розумію...», повторне введення власного PIN-коду адміністратора, відсутність відкритих замовлень, та сама країна (ставки ПДВ) і попередня автоматична резервна копія. Імпорт виконується однією транзакцією: якщо щось піде не так, нічого не зміниться. Наявні товари, групи, інгредієнти й столики не стираються, а прибираються з каси (як під час видалення), тож старі чеки й звіти лишаються правильними.

Імпорт з іншої каси

Перехід без повторного введення всього. Завжди доступно (без перемикача): у Налаштування → Імпорт/експорт (лише адміністратор) є розділ Імпорт з іншої каси.

Мови (42, зокрема турецька, арабська, дарія, берберська, польська, болгарська, угорська, російська, сербська, албанська, перська, тигринья, амхарська, сомалійська, пап’яменто, сранан-тонго, гінді, урду, індонезійська, в’єтнамська, сирійсько-арамейська, китайська та українська)

Поруч із кнопкою © у правому нижньому куті кожного екрана є кнопка з мовою (напр. NL і прапорець). Натисніть її, щоб відкрити меню вибору: мови розташовані за алфавітом, з назвою рідною мовою перед прапорцем: Bahasa Indonesia (індонезійська), Čeština (чеська), Darija (марокканська арабська латиницею), Deutsch, English, Español, Français, Hrvatski (хорватська), Italiano, Kurdî (Kurmancî), Latviešu (латиська), Lietuvių (литовська), Magyar (угорська), Nederlands, Papiamentu (пап’яменто), Polski, Português, Română, Shqip (албанська), Slovenčina (словацька), Soomaali (сомалійська), Sranantongo, Srpski (сербська, латиницею), Tarifit (рифська берберська), Tiếng Việt (в’єтнамська), Türkçe, потім кирилицею Български (болгарська), Русский (російська) і Українська (українська), далі мови арабським письмом: اردو (урду), الدارجة (дарія), العربية (арабська), دری (дарі), فارسی (перська, фарсі), پښتو (пушту) і کوردی (سۆرانی) (курдська сорані), потім сирійським письмом ܣܘܪܝܝܐ (сирійсько-арамейська, сурйойо), деванагарі हिन्दी (гінді), письмом геез ትግርኛ (тигринья) і አማርኛ (амхарська), письмом тифінаг ⵜⴰⵎⴰⵣⵉⵖⵜ (тамазіхт, берберська), і останньою 中文(简体)(китайська, спрощене письмо). Перекладаються всі екрани, кнопки, повідомлення та повідомлення про помилки касового сервера.

Для розробників: кожен видимий текст записано в коді як vt('Nederlandse tekst') (apps/pos-web/lib/i18n.ts); нідерландський текст є ключем. Переклади зберігаються в apps/pos-web/lib/vertalingen/<taal>.ts. Якщо перекладу бракує, каса показує нідерландський текст; тест i18n (pos-web) перевіряє, що кожен текст перекладено кожною мовою і що місця {0} збігаються. Повідомлення касового сервера лишаються нідерландською й перекладаються в браузері (також із {0}, напр. назва товару в повідомленні).

Налаштування принтерів

Нова каса не має принтерів. Увійдіть як адміністратор (демо: 1111) і виберіть Налаштування у верхній панелі.

Однакові товари під час друку об’єднуються: двічі 1x Cola стає 2x Cola, на кухонному чеку й на касовому чеку. Об’єднуються лише товари з однаковими опціями та приміткою.

Інсталятор для Linux додає користувача каси до груп lp і dialout, щоб каса могла використовувати USB- і послідовні принтери.

Потрібна допомога?

Optimum POS · 085 560 00 60 · support@optimumpos.nl · пн–пт 9:00–20:00, сб–нд 14:00–20:00