Кожна третя інвентаризація на складі закінчується розбіжностями. Паперові бланки губляться, дані вводяться із запізненням, а серійні номери забувають фіксувати. Ми розробляємо мобільні застосунки, які замінюють ручну працю: співробітник сканує штрихкод, система миттєво звіряє з обліком і фіксує результат. Час інвентаризації скорочується до 70%, а прозорість процесу виключає людський фактор.
В основі лежить інвентаризація (Wikipedia) — звірка фактичної наявності з даними обліку. Але традиційний процес перетворюється на цифровий: мобільний застосунок підказує, що сканувати, і не дає пропустити позицію. Офлайн-режим гарантує роботу навіть при втраті мережі, а інтеграція з 1С автоматично завантажує акти в облікову систему. Вартість проекту починається від $5,000, що включає аудит та базову версію.
Що дає мобільний застосунок для інвентаризації?
Вбудована камера vs апаратний сканер
Вбудована камера — найдоступніше рішення. ML Kit Barcode Scanning (Android/iOS) через CameraX або AVFoundation декодує EAN-13, EAN-8, Code 128, Code 39, QR і ще десяток форматів. Працює без мережі. Затримка розпізнавання на сучасних телефонах — 100–200 мс.
Але є кейси, де камера не тягне: склад з поганим освітленням, пошкоджені етикетки, вимога сканувати не піднімаючи товар (дальнє зчитування). Тут потрібні bluetooth-сканери (Zebra CS60, Honeywell 1950g, Newland BS80) або промислові ТСД (Zebra TC21/TC26, Honeywell CT30). Вони підключаються як HID-клавіатура або через SDK виробника.
| Параметр | Камера | Bluetooth-сканер | Промисловий ТСД |
|---|---|---|---|
| Вартість | Безкоштовно (вбудована) | Низька | Висока |
| Швидкість сканування | 100–200 мс | 50–100 мс | 30–50 мс |
| Дальність | 10–30 см | до 10 м | до 15 м |
| Робота з пошкодженими етикетками | Погано | Добре | Відмінно |
| Захист від пилу/вологи | Немає | Залежить від моделі | IP65+ |
На практиці камера підходить для офісу або магазину, ТСД — для брудного складу. Промисловий ТСД у 3 рази швидший за bluetooth-сканер на пошкоджених штрихкодах. Якщо бюджет обмежений, bluetooth-сканер з кріпленням на руку — золота середина: він у 2–3 рази швидший за камеру на потертих штрихкодах.
Чому офлайн-first архітектура критична для складу?
Склад — це зона з нестабільним Wi-Fi. Деякі зони взагалі без покриття. Застосунок повинен працювати повністю офлайн: завантажити список інвентаризації перед початком, фіксувати сканування локально, синхронізувати при відновленні з'єднання. Ми використовуємо Room для локальної бази та WorkManager з constraint NetworkType.CONNECTED.
// Room: сутності для плану інвентаризації та записів сканування @Entity(tableName = "inventory_items") data class InventoryItem( @PrimaryKey val sku: String, val name: String, val expectedQuantity: Int, val unit: String, val location: String, ) @Entity(tableName = "scan_records") data class ScanRecord( @PrimaryKey(autoGenerate = true) val id: Long = 0, val sku: String, val scannedQuantity: Int, val scannedAt: Long = System.currentTimeMillis(), val syncStatus: SyncStatus = SyncStatus.PENDING, val userId: String, ) enum class SyncStatus { PENDING, SYNCED, CONFLICT } При конфлікті (інший співробітник відсканував той самий SKU) сервер повертає конфлікт, застосунок показує обидва значення і просить вирішити вручну.
Детальніше про синхронізацію
Синхронізація виконується через WorkManager із перевіркою з'єднання. Дані відправляються пачками, конфлікти вирішуються за принципом "останнє сканування виграє" або вручну.
Як реалізувати серійний облік?
Не в кожного товару є читабельний штрихкод. Ручне введення SKU з автодоповненням з локальної бази — обов'язкова функція. Список SKU завантажується заздалегідь у FTS4/FTS5 таблицю Room для швидкого повнотекстового пошуку за найменуванням.
Серійні номери — окрема історія. Позиція може вимагати сканування кожного екземпляра поштучно (ноутбуки, принтери, інструменти). Режим «серійний облік»: застосунок чекає N сканувань серійних номерів для однієї позиції, показує прогрес 3/10 серійних номерів введено.
Кроки реалізації серійного обліку:
- Отримати з сервера список SKU з ознакою серійного обліку.
- При скануванні зчитувати штрихкод — якщо SKU вимагає серій, перейти в режим введення.
- Зберігати кожен серійний номер окремим записом із зв'язком до SKU.
- Показувати прогрес і дозволяти завершити достроково.
- При синхронізації відправляти список серійних номерів.
Як формується звіт про розбіжності та інтеграція з 1С?
Після завершення інвентаризації — звіт про розбіжності: які позиції не знайшли, які надлишки, де факт не збігся з планом. Формується локально, відправляється на сервер або експортується в PDF через PdfDocument API (Android) / PDFKit (iOS).
Інтеграція з 1С через REST API (HTTP-сервіс 1С) або через проміжний сервіс. Формат обміну — JSON або XML за домовленістю з 1С-розробником. Завантаження документа інвентаризації назад у 1С — стандартний фінальний крок.
Що входить в роботу?
| Компонент | Опис |
|---|---|
| Аудит процесів | Вивчення поточної схеми інвентаризації, типів товарів, умов роботи складу |
| Проектування | Вибір стеку (iOS/Android/Flutter або React Native), архітектури (offline-first), типу сканера |
| Розробка | Реалізація сканера, локального сховища, синхронізації, звітів |
| Інтеграція | Підключення до 1С або іншої ERP, налаштування обміну |
| Тестування | Перевірка на реальних пристроях, в тому числі на ТСД |
| Деплой | Публікація в App Store та Google Play, налаштування TestFlight/Firebase Distribution |
| Навчання | Навчання співробітників роботі з застосунком, передача документації та доступів |
Терміни: базова версія з камерою та офлайн — 5–7 тижнів. З ТСД, серійним обліком та 1С — 10–14 тижнів. Вартість розраховується індивідуально, виходячи із складності інтеграції та кількості платформ. Орієнтовна ціна від $5,000 до $15,000.
Типові помилки при розробці
- Ігнорування офлайн-режиму — застосунок «зависає» при втраті мережі.
- Відсутність абстракції сканера — заміна камери на ТСД вимагає переписування коду.
- Sync-конфлікти без механізму вирішення — дані можуть розійтися.
- Відсутність обробки пошкоджених штрихкодів — використання лише камери без fallback.
Наша команда має 5+ років досвіду в мобільній розробці та реалізувала понад 30 проектів для автоматизації складу. Ми гарантуємо стабільну роботу застосунку в умовах поганого зв'язку та агресивного середовища.
Зв'яжіться з нами для консультації — оцінимо ваш проект і запропонуємо оптимальне рішення.







