🛡
Контроль каси і чесність продажів
Група «Контроль» у застосунку: підозрілі чеки, аудит видалених позицій, поведінка касирів, аномалії і звірка змін — як бот шукає «продажі повз касу» і як читати його знахідки.
1
Що входить у групу «Контроль»
Шість вкладок: ⚠️ Підозр. (чеки з видаленими позиціями за 3 дні), 🔍 Касири (патерни поведінки), 🧾 Опер. кас (що робили за зміну), ⚠️ Аномалії (статистичні відхилення), 🔄 Звірка (каса зі зміни vs Poster) і 🕵️ Чеки (аудит видалених позицій, тільки власник/адмін).
Це екрани «подивитись руками». Паралельно ті самі перевірки працюють самі як алерти: повернення чека, чек з мінусовою сумою, підозрілі чеки щогодини, нефіскалізовані продажі — усе це приходить у Telegram одразу, тумблери в «🔔 Сповіщеннях».
Це екрани «подивитись руками». Паралельно ті самі перевірки працюють самі як алерти: повернення чека, чек з мінусовою сумою, підозрілі чеки щогодини, нефіскалізовані продажі — усе це приходить у Telegram одразу, тумблери в «🔔 Сповіщеннях».
⚠️ Головне правило всієї групи: один дивний чек — ще не крадіжка (гість передумав — це норма). Сигнал — систематика по одній людині за кілька тижнів.
2
Підозрілі чеки
Вкладка ⚠️ Підозр. шукає головний патерн «повз касу»: позицію додали в чек, потримали і видалили перед закриттям. Перевіряються лише чеки, оплачені готівкою й відкриті достатньо довго — по картці банк фіксує суму, там ця схема не працює, тож решта чеків перевірки не потребує (екран чесно показує: всього чеків / перевірено / знайдено).
Кожна знахідка — з назвою товару, сумою, касиром і таймлайном: о котрій додали, о котрій видалили і скільки позиція «висіла». Кнопка 📥 Export CSV вивантажує список за тиждень.
Кожна знахідка — з назвою товару, сумою, касиром і таймлайном: о котрій додали, о котрій видалили і скільки позиція «висіла». Кнопка 📥 Export CSV вивантажує список за тиждень.
3
🕵️ Чеки — аудит видалених позицій
Вкладка 🕵️ Чеки (тільки власник/адмін) — глибша версія попереднього екрана: нічний скан збирає всі видалення позицій із чеків у локальну історію, і по ній будується статистика по кожному бариста за 7/30/90 днів: всього видалень, з них за готівку, у перерахунку на 100 чеків (щоб не карати найпрацьовитішого) і на яку суму.
Нижче — список самих чеків з фільтром по людині: що видалили, коли, як оплатили.
Щоранку о 10:00 бот присилає власнику в особисті список видалень за вчора — час, бариста, позиція, сума і номер чека, від дорожчого до дешевшого. Це саме для того, щоб звірити з камерами, поки запис не перезаписався. Порогів «скільки позиція провисіла до видалення» тут немає: на реальних даних видаляють через 10 секунд, і будь-який такий поріг просто ховав би 9 випадків із 10. Фільтр один і зрозумілий: позиція не пішла в сусідній чек (це розділення рахунку) і чек оплачено готівкою — за карткою банк усе одно зафіксує повну суму. Окремий тумблер «Видалені позиції за день» у Сповіщеннях.
Нижче — список самих чеків з фільтром по людині: що видалили, коли, як оплатили.
Щоранку о 10:00 бот присилає власнику в особисті список видалень за вчора — час, бариста, позиція, сума і номер чека, від дорожчого до дешевшого. Це саме для того, щоб звірити з камерами, поки запис не перезаписався. Порогів «скільки позиція провисіла до видалення» тут немає: на реальних даних видаляють через 10 секунд, і будь-який такий поріг просто ховав би 9 випадків із 10. Фільтр один і зрозумілий: позиція не пішла в сусідній чек (це розділення рахунку) і чек оплачено готівкою — за карткою банк усе одно зафіксує повну суму. Окремий тумблер «Видалені позиції за день» у Сповіщеннях.
⚠️ Дані сюди збирає нічний скан, а скан працює, лише поки увімкнено алерт «Аудит чеків» у Сповіщеннях. Вимкнеш тумблер, щоб не приходив понеділковий дайджест, — екран поступово стане порожнім.
4
Касири: патерни поведінки
Вкладка 🔍 Касири — текстовий звіт по кожному баристі зі зміни (не по логіну POS: під одним акаунтом закладу працюють різні люди) за період, типово 28 днів: скільки чеків, скільки скасувань, як часто дає знижки і яка частка готівки.
Частка готівки порівнюється чесно, з трьома поправками: лише в межах свого закладу (у різних закладах рівень готівки різний сам по собі), з поправкою на день тижня (хто працює переважно в будні, у того готівки менше через графік, а не через поведінку) і щодо себе ж — «було 25%, стало 15%» видно навіть якщо людина в межах середньої по закладу.
Пороги: скасувань понад 2%, знижок понад 30%, готівки на 10 пп нижче за колег по закладу, падіння на 8 пп щодо себе ж — усі чотири змінюються у вкладці «📏 Пороги».
Якщо зміну на день не знайдено (або їх було кілька), рядок лишається з логіном POS і позначається зірочкою: до людини така цифра не привʼязана.
Частка готівки порівнюється чесно, з трьома поправками: лише в межах свого закладу (у різних закладах рівень готівки різний сам по собі), з поправкою на день тижня (хто працює переважно в будні, у того готівки менше через графік, а не через поведінку) і щодо себе ж — «було 25%, стало 15%» видно навіть якщо людина в межах середньої по закладу.
Пороги: скасувань понад 2%, знижок понад 30%, готівки на 10 пп нижче за колег по закладу, падіння на 8 пп щодо себе ж — усі чотири змінюються у вкладці «📏 Пороги».
Якщо зміну на день не знайдено (або їх було кілька), рядок лишається з логіном POS і позначається зірочкою: до людини така цифра не привʼязана.
5
Операції касирів
Вкладка 🧾 Опер. кас — що конкретно відбувалося на касі за період: скасовані чеки, повернення і чеки, які висіли відкритими понад 10 хвилин (саме такі — кандидати на «додав, потримав, видалив»). Це деталізація до «Касирів»: там патерн, тут — конкретні операції, щоб було що спитати в людини.
6
Аномалії
Вкладка ⚠️ Аномалії — статистика замість підозр: бот рахує типову поведінку закладу (виторг, кількість чеків, повернення, знижки) і показує дні, що відхилилися більш ніж на 2 стандартні відхилення (z-score, поріг налаштовується). Падіння виторгу без причини, сплеск повернень, незвично багато знижок — усе спливає тут, навіть якщо жодне окреме правило не спрацювало.
7
Звірка змін
Вкладка 🔄 Звірка — 14 днів по кожному закладу: каса, яку бариста здав у зміні, проти виторгу Poster за той самий день. Чотири стани: 🚨 не здана (виторг в Poster є, а звіту зміни немає), 📉 нестача (каса менша за Poster — головний привід розібратися), 📈 надлишок і ✅ зведено.
Повернені чеки бот з денного виторгу Poster виключає — повернення не створює хибної «нестачі».
Повернені чеки бот з денного виторгу Poster виключає — повернення не створює хибної «нестачі».
💡 Та сама перевірка працює і сама: алерт «Сверка змін з Poster» раз на день нагадає про виторг без зданої зміни, а разова розбіжність каси/сейфа ловиться одразу при розборі звіту зміни.
8
Алерти реального часу
Екрани вище — для розбору заднім числом. Щоб дізнаватися одразу, увімкни відповідні тумблери в 🔔 Сповіщеннях: повернення чека (кожне — окремим повідомленням), чек з мінусовою сумою, перевірка підозрілих чеків (щогодини), нефіскалізовані чеки за зміну (створює задачу на бариста, який здав зміну), аномалії дня і чек «висить відкритим». У кожного алерта свій адресат: лічка власника, група закладу або окрема тема форуму.
FAQ
Хто бачить групу «Контроль»?
Пʼять вкладок — під правом
tab_finance: за замовчуванням власник, адмін, менеджер і бухгалтер. 🕵️ Чеки — виняток: тільки власник і адмін, право не роздається.Екран «Чеки» порожній, хоча видалення точно були
Найчастіше — вимкнений тумблер алерта «Аудит чеків» у Сповіщеннях: без нього нічний скан не працює і історія не наповнюється. Увімкни і зачекай наступної ночі.
Бот показує підозрілий чек — що робити?
Нічого драматичного одразу: відкрий «🧾 Опер. кас» і «🕵️ Чеки», подивись, чи це разовий випадок чи систематика по одній людині за кілька тижнів. Разове — забудь; систематика — розмова з конкретними чеками на руках.