Облік складу в Telegram: форма й таблиця залишків

Облік складу в Telegram: форма й таблиця залишків

Easy Post Team · · облік складу складський журнал залишки на складі telegram-бот інвентаризація
Зміст

Прийшла поставка, дві коробки пішли в магазин, ящик упустили. До вечора ніхто не пам’ятає цифр, тож хтось заповнює таблицю обліку складу з пам’яті, якщо взагалі заповнює, а щомісячна інвентаризація знаходить розбіжності, яких ніхто не може пояснити. Таблиця працює лише тоді, коли рядки вносять у момент руху товару. Форма в боті Telegram зводить це до кількох дотиків на телефоні: працівник вибирає операцію, позицію й кількість, а ви отримуєте запис з іменем відправника.

Форма веде журнал руху. Вона не знає, скільки товару у вас на складі, не завадить відвантажити більше, ніж є, не має сканера штрихкодів і не надсилає сповіщень про низький залишок. Залишок рахує ваша власна таблиця, і для цього потрібен ще один крок: вебхук — веб-адреса, яка приймає кожен запис і передає його в таблицю. Вебхуки є не в усіх тарифах. Без вебхука лишаються повідомлення в Telegram і список записів на сайті, з якого експорту немає. Інвентаризаційний опис і акт списання матеріалів — окремі документи, і форма їх не формує, тож якщо ви шукали друкований бланк, це не він.

З чого почати

Усе налаштовується на сайті easy-post.app. Зареєструйтеся, і на першому екрані потрібно обрати шаблон: оберіть «Інвентаризація». Easy Post одразу створить «потік» — вашу форму разом зі списком записів, які вона збирає. Далі цей список на сайті називається «кабінет»; його відкриває кнопка «Заявки» на сторінці потоку. Бот, з яким спілкуються ваші працівники, належить самому Easy Post, тож створювати його не потрібно. Кожен запис приходить вам у Telegram повідомленням, тому на сторінці потоку натисніть «Перевірити форму в Telegram», щоб прив’язати свій акаунт. Для цього налаштування не потрібен Telegram-канал (стрічка, що публікує пости для читачів), тож поле каналу в блоці «Залишилося зробити» на сторінці потоку залиште порожнім. Якщо обліковий запис у вас уже є, кнопка «+ Новий потік» на сторінці вашого проєкту (там перелічено ваші потоки) відкриває сторінку вибору шаблону, якщо тариф дозволяє ще один потік.

Скоротіть сім питань до тих, які ви читатимете

Це шаблон «Інвентаризація» в Easy Post. У ньому сім питань — забагато для людини, яка цілий день вносить операції, бо кожна операція — це один прохід усією формою. Відкрийте «Налаштування форми» (кнопка «Форма» на сторінці потоку) і скоротіть її. Кожне питання — картка в списку. У кожній картці є поле «Назва поля, бачите лише ви» (напис у вашому повідомленні в Telegram), поле «Текст від бота» (питання, яке бачать працівники), меню «Тип» («Текст», «Число», «Кнопки» та інші) і × у куті, що видаляє питання. Коли ви обираєте «Кнопки», під питанням з’являється поле для назв кнопок. Інші способи створити таку форму порівнює посібник із конструктора форм без коду. В українському інтерфейсі питання й кнопки шаблону вже українські, тож нижче вони такі, як у боті. Залишайте питання, лише якщо читатимете відповідь.

  • Операція (обов’язкове; питання «Тип операції:»; кнопки «Приймання», «Відвантаження», «Списання»). Залиште. Формули вашої таблиці порівнюватимуть ці слова літера в літеру, тож визначтеся з назвами одразу. Усі назви вписано в одне поле через кому, тому назва не може містити коми.
  • Річ (позиція складу; обов’язкове; питання «Назва або артикул:», де артикул — складський код на товарі або на полиці). Це вільний текст, і саме тут слабке місце: «Кола 0,5», «кола 500мл» і «Кока-кола мала» стають у вашій таблиці трьома різними позиціями. Якщо позицій до дванадцяти, змініть тип на «Кнопки» й впишіть у поле точні назви. Тримайте кожну назву в межах приблизно 28 літер (ліміт Telegram — 64 байти, а кирилична літера займає два, емодзі — ще більше): довшу назву Telegram відхиляє, і крок ламається. Якщо позицій більше, залиште текстове поле й просіть код, який ви надрукуєте на кожній етикетці на полиці, наприклад П-014. Код швидше набирати, і його легше тримати однаковим.
  • Кількість (обов’язкове; питання «Кількість:»; тип «Текст»). Змініть тип на «Число», а питання на «Кількість, лише цифри:». Слово на кшталт «сорок» бот тоді відхиляє відповіддю «Введіть число.» Тип «Число» усе ж пропускає «40 шт», бо коротка одиниця виміру поруч із числом дозволена, а відповідь зберігається саме так, як її набрано. Одиницю вписуйте в назву позиції («Вода 500 мл (ящик)»), а не у відповідь.
  • Стан (необов’язкове; кнопки «Новий», «Вживаний», «Пошкоджений»; кнопка пропуску «Не вказано»). Видаліть його, якщо у вас немає вживаних товарів.
  • Місце зберігання (необов’язкове; питання «Місце зберігання:»). Залишайте, лише якщо у вас більше одного місця для зберігання товару, і тоді теж зробіть його кнопками, наприклад «Полиця 1, Полиця 2, Холодильна камера».
  • Фото (необов’язкове фото; питання «Прикріпіть фото:»; до трьох фото; кнопка пропуску «Без фото»). Залиште. Просіть фото накладної, коли товар надходить, і фото пошкодження, коли щось списують. У повідомленні в Telegram фото немає. Вони зберігаються в кабінеті мініатюрами, які відкриваються у повному розмірі.
  • Примітки (необов’язкове; питання «Додаткові примітки:»). Залиште й змініть питання на «Примітка (для списання вкажіть причину):». Питання не може з’являтися лише для однієї операції, тому воно з’являється при кожній операції, а працівник пропускає його одним дотиком.

Після видалення питання прокрутіть до розділу «Вигляд поста» під списком. Це розмітка для постів у каналі, якою ви не користуєтеся, але перевірка довжини її все одно читає, а рядок видаленого питання лишається в ній і рахується як написаний. Видаліть цей рядок, наприклад той, що закінчується на {condition}, і натисніть «Зберегти» під списком. Якщо запис із фото перевищує 1024 видимі символи, бот його видаляє, відправник бачить «Заявка задовга для публікації з фото (максимум 1024 символи)…» і має відповідати на всі питання знову. Скажіть працівникам писати примітки коротко. Те саме прибирання зайвого розібрано в статті про форму заявки на ремонт.

Бот Telegram для складського журналу, який наповнює таблицю обліку складу: вітальне повідомлення з кнопкою «Почати», питання про операцію з трьома кнопками, питання про позицію з колонкою назв і питання про кількість, де просять лише цифри

Ілюстрація: тексти — з самого бота, а питання й кнопки — ті, які ви напишете; частину кроків пропущено; імена й дані вигадані.

Спробувати форму обліку складу →

Три тексти й два ліміти, які треба змінити

У «Налаштуваннях форми», у розділі «Повідомлення бота», «Вітальний текст» — це перше повідомлення, яке надсилає бот; за замовчуванням там «Ласкаво просимо! Натисніть кнопку, щоб надіслати заявку.» Напишіть, для чого ця форма.

Складський журнал. Виберіть операцію, річ і кількість (лише цифри). Для списання напишіть причину в примітці.

«Текст завершення» бот надсилає після останньої відповіді. Текст за замовчуванням, «Дякуємо! Ваша заявка очікує на перевірку.», тут не підходить, бо ніхто нічого не перевіряє. Замініть його.

Записано. Натисніть кнопку нижче, щоб внести наступну операцію.

Під подякою бот показує кнопку «Надіслати ще». Перейменуйте її в полі «Текст кнопки „Ще“», наприклад на «Внести ще одну операцію». Її можна перейменувати, але не вимкнути, і вона дає змогу працівникам вносити наступну операцію, не відкриваючи форму знову.

Повідомлення, яке працівник бачить після внесення операції в складський журнал: «Записано. Натисніть кнопку нижче, щоб внести наступну операцію.» і кнопка «Внести ще одну операцію»

Ілюстрація: текст — той, що вставлено вище; імена й дані вигадані.

Нижче на тій самій сторінці «Ліміти заявок» за замовчуванням становлять 20 записів на день і 100 на місяць на людину — окремо для кожного акаунта Telegram і кожної форми. Кожна операція — один запис, тож зайнятий працівник на розвантаженні може вичерпати 20 записів за день ще до обіду, а 100 за місяць — за тиждень. Збільште «Денний ліміт» і «Місячний ліміт» до того, що потрібно вашому найзавантаженішому працівникові, і натисніть «Зберегти» внизу сторінки.

Що приходить вам, коли хтось вносить операцію

Працівник відкриває посилання на вашу форму в Telegram, натискає «Почати», обирає «Приймання», обирає позицію, пише 40, додає фото накладної й коротку примітку. Вам у Telegram приходить повідомлення. Його заголовок — «Нова заявка в Інвентаризація» (останнє слово — назва потоку; змінити її можна на сторінці «Редагувати потік»). Нижче йдуть рядок «Збережена в кабінеті», відповіді, «Від: Anna (@anna_wh)» і посилання «Відкрити заявки» на список записів. Кнопок немає, бо нічого не чекає на ваше рішення. Усі, кого ви запросите в розділі «Учасники» (кнопка на сторінці вашого проєкту; запрошення йде на email, і в людини має бути обліковий запис Easy Post), отримують таке саме повідомлення, щойно прив’яжуть свій Telegram. Запросіть туди керівника складу, але не працівників: учасники можуть змінювати і форму, і її адресатів. У кабінеті кожну відповідь показано під внутрішньою назвою питання, наприклад quantity, а ваша «Назва поля» видна лише в повідомленні.

Особисте повідомлення в Telegram власникові складу про нову операцію для таблиці обліку складу: операція «Приймання», позиція, кількість 40, примітка, рядок про те, що запис збережено в кабінеті, ім’я й @нікнейм відправника та посилання на записи, без кнопок

Ілюстрація: тексти взято з бота, а назви полів — ті, які ви задали; імена й дані вигадані.

У насичений день це по повідомленню на кожну операцію, тож вимкніть звук чату з ботом у Telegram і читайте день у кабінеті або в таблиці. Кабінет показує записи від найновіших, по 20 на сторінці, із вкладками за статусами. Пошуку за позицією й експорту в ньому немає.

Зібрати журнал складу →

Перетворіть записи на таблицю обліку складу

Easy Post може надсилати кожен запис як пакет даних (формат називається JSON) на веб-адресу, яку ви оберете; це і є вебхук. Сервіс на кшталт Make або Zapier може його прийняти й додати рядок у Google Таблицю. Вебхуки є не в усіх тарифах, тож спершу загляньте в розділ про тарифи на головній сторінці. Без вебхука таблицею нижче все одно можна користуватися: вносьте кожен запис у вкладку «Журнал» самі, з кабінету. Спершу підготуйте приймальну сторону, бо Easy Post запитає її адресу:

  1. Створіть Google Таблицю з вкладкою «Журнал» і таким рядком заголовків: Час, Операція, Позиція, Кількість, Відправник. Якщо ви залишили місце, примітки чи фото, додайте «Місце», «Примітка» й «Посилання на фото» стовпцями F, G і H після «Відправника», щоб формули нижче працювали.
  2. У Make почніть сценарій з модуля «Custom webhook»; у Zapier почніть Zap з «Webhooks by Zapier» і події «Catch Hook». Будь-який із них покаже веб-адресу. Завершіть автоматизацію кроком, що додає рядок у вашу Google Таблицю. Ця частина відбувається в тому сервісі, а не в Easy Post, і її екрани можуть змінюватися. Якщо це вам нове, налаштуйте з фрілансером або пропустіть і вносьте записи в «Журнал» самі.
  3. На сторінці потоку відкрийте «Куди надсилати». У формі «Додати адресата» оберіть «У CRM або таблицю (вебхук)», введіть назву адресата й вставте веб-адресу із сервісу.
  4. Поставте галочку «Схвалювати автоматично» — вона повідомляє Easy Post, що приймати кожен запис вручну не потрібно. За замовчуванням її вимкнено, і без неї кожне повідомлення має кнопки «Схвалити» та «Відхилити», а вебхук спрацьовує лише після натискання «Схвалити». Коли вона ввімкнена, заголовок вашого повідомлення — «Нова заявка в … — схвалена автоматично», а рядка «Збережена в кабінеті» вже немає; кнопок і далі немає.
  5. Натисніть «Додати» і надішліть тестовий запис. Відтепер кожен запис іде на цю адресу. У сервісі зіставте його частини зі стовпцями: submitted_at — із «Часом» (це момент, коли людина почала заповнювати форму, за UTC), data.operation — з «Операцією», data.item — з «Позицією», data.quantity — з «Кількістю», а bot_user.name — з «Відправником». «Місце» — це data.storage_location, «Примітка» — data.notes, а посилання на фото містяться в images. Посилання на фото відкриваються без входу в акаунт, тож передавайте їх лише сервісу, якому довіряєте.

Додайте другу вкладку «Залишки», по одному рядку на позицію. Вона використовує SUMIFS — формулу таблиці, що додає числа, які відповідають вашим умовам; тут умови — позиція, а потім операція. У стовпці A стоїть назва позиції точно такою, як її надсилають працівники, а в стовпці B — кількість у день старту.

СтовпецьЗаголовокФормула в рядку 2
AПозиціяназва позиції, введена один раз
BПочатковий залишоккількість у день старту
CПрийнято=SUMIFS(Журнал!D:D, Журнал!C:C, A2, Журнал!B:B, "Приймання")
DВідвантажено=SUMIFS(Журнал!D:D, Журнал!C:C, A2, Журнал!B:B, "Відвантаження")
EСписано=SUMIFS(Журнал!D:D, Журнал!C:C, A2, Журнал!B:B, "Списання")
FЗалишок=B2+C2-D2-E2

Протягніть рядок 2 униз. Слова в лапках мають збігатися з вашими кнопками операцій літера в літеру, а назви в стовпці A — з кнопками позицій або кодами. Якщо ваша таблиця вимагає в формулі крапку з комою замість коми (так буває з українськими регіональними налаштуваннями), замініть коми на крапки з комою. Залишок підсумовує всі місця разом. Для одного місця залиште «Місце» у стовпці F і додайте Журнал!F:F, "Полиця 1" усередину кожного з трьох SUMIFS. SUMIFS пропускає текст, тож якщо залишок здається замалим, пошукайте в стовпці «Кількість» клітинки з текстом, такі як «40 шт» чи «1 000», або число, яке ваш сервіс записав як текст (воно притиснуте до лівого краю клітинки).

Де це застрягає

  • Будь-хто, хто отримає посилання на форму, може внести операцію. Тримайте його в чаті працівників, а не на публічних сторінках. У вашому повідомленні видно ім’я відправника в Telegram і його @нікнейм, якщо він є, а вебхук додає число, яке ідентифікує відправника й ніколи не змінюється.
  • Помилку виправляють у двох місцях. У кабінеті «Редагувати» змінює набрані відповіді, як-от кількість чи примітку, але не кнопку, тож неправильна «Операція» означає видалити запис і внести його знову. Редагування чи видалення в кабінеті до таблиці не доходить, тому виправте або видаліть рядок і там.
  • Незавершений запис не дає ні повідомлення, ні вебхука. Часткові відповіді видно на вкладці «Очікує» в кабінеті; вона з’являється лише тоді, коли там щось є, тож заглядайте туди час від часу.

Налаштування за п’ять кроків

  1. Зареєструйтеся, оберіть шаблон «Інвентаризація» і натисніть «Перевірити форму в Telegram». Канал залиште порожнім.
  2. У «Налаштуваннях форми» скоротіть питання, як описано вище, напишіть три тексти бота, збільште денний і місячний ліміти та приберіть зайве у «Вигляді поста».
  3. Натисніть «Копіювати посилання» в блоці «Де люди надсилають заявки» на сторінці потоку, відкрийте посилання в Telegram і надішліть собі по одному запису кожної операції. Перевірте повідомлення, кабінет і текст подяки.
  4. Якщо у вашому тарифі є вебхуки, зберіть вкладки «Журнал» і «Залишки», додайте вебхук і надішліть тестовий запис. Без вебхуків вносьте записи в «Журнал» самі.
  5. Вставте те саме посилання в чат працівників.

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

Налаштувати форму для складу →

Поширені запитання

Чи веде бот залишок на складі?
Ні. Він записує кожну операцію: її тип, позицію, кількість, хто надіслав і коли. Залишок — це сума у вашій власній таблиці за формулами вище. Форма також не відхиляє відвантаження, більше за наявний залишок.
Чи можуть працівники сканувати штрихкод?
Ні. У формі немає сканера, а фото штрихкоду зберігається як картинка й не зчитується. Працівники натискають кнопку з назвою позиції або набирають код з етикетки на полиці.
Чи можна експортувати журнал в Excel?
З кабінету — ні: експорту записів там немає. З вебхуком сервіс автоматизації може додавати кожен запис у таблицю окремим рядком. Вебхуки є не в усіх тарифах. Без вебхука записи можна вносити в таблицю вручну.
Чи може одна форма обслуговувати кілька складів або магазинів?
Питання «Місце зберігання» у вигляді кнопок записує місце в кожен запис. Формули вкладки «Залишки» вище підсумовують кожну позицію з усіх місць, якщо не додати місце в кожен SUMIFS, як там описано. Для окремого списку на кожне місце створіть окремий потік через «+ Новий потік». Кількість потоків може залежати від тарифу.
Чи можуть працівники самі виправити свою помилку?
Ні. Працівники не можуть змінити те, що надіслали. Виправляєте ви: відредагуйте в кабінеті набрану відповідь, як-от кількість, або видаліть запис і попросіть внести операцію знову. У будь-якому разі виправте рядок у своїй таблиці, бо нічого з того, що ви змінюєте в кабінеті, до неї не доходить.

Схожі статті

← Назад до блогу