Каждая третья инвентаризация на складе заканчивается расхождениями. Бумажные бланки теряются, данные вводятся с опозданием, а серийные номера забывают фиксировать. Мы разрабатываем мобильные приложения, которые заменяют ручной труд: сотрудник сканирует штрихкод, система мгновенно сверяет с учётом и фиксирует результат. Время инвентаризации сокращается до 70%, а прозрачность процесса исключает человеческий фактор.
В основе лежит инвентаризация — сверка фактического наличия с данными учёта. Но традиционный процесс превращается в цифровой: мобильное приложение подсказывает, что сканировать, и не даёт пропустить позицию. Офлайн-режим гарантирует работу даже при потере сети, а интеграция с 1С автоматически загружает акты в учётную систему.
Что даёт мобильное приложение для инвентаризации?
Встроенная камера 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+ |
На практике камера подходит для офиса или магазина, ТСД — для грязного склада. Если бюджет ограничен, 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) сервер возвращает конфликт, приложение показывает оба значения и просит разрешить вручную.
Как реализовать серийный учёт?
Не у каждого товара есть читаемый штрихкод. Ручной ввод SKU с автодополнением из локальной базы — обязательная функция. Список SKU загружается заранее в FTS4/FTS5 таблицу Room для быстрого полнотекстового поиска по наименованию.
Серийные номера — отдельная история. Позиция может требовать сканирования каждого экземпляра поштучно (ноутбуки, принтеры, инструменты). Режим «серийный учёт»: приложение ждёт N сканирований серийных номеров для одной позиции, показывает прогресс 3/10 серийных номеров введено.
Как формируется отчёт о расхождениях и интеграция с 1С?
После завершения инвентаризации — отчёт о расхождениях: какие позиции не нашли, какие излишки, где факт не совпал с планом. Формируется локально, отправляется на сервер или экспортируется в PDF через PdfDocument API (Android) / PDFKit (iOS).
Интеграция с 1С через REST API (HTTP-сервис 1С) или через промежуточный сервис. Формат обмена — JSON или XML по договорённости с 1С-разработчиком. Загрузка документа инвентаризации обратно в 1С — стандартный финальный шаг.
Что входит в работу?
| Компонент | Описание |
|---|---|
| Аудит процессов | Изучение текущей схемы инвентаризации, типов товаров, условий работы склада |
| Проектирование | Выбор стека (iOS/Android/Flutter), архитектуры (offline-first), типа сканера |
| Разработка | Реализация сканера, локального хранилища, синхронизации, отчётов |
| Интеграция | Подключение к 1С или другой ERP, настройка обмена |
| Тестирование | Проверка на реальных устройствах, в том числе на ТСД |
| Деплой | Публикация в App Store и Google Play, настройка TestFlight/Firebase Distribution |
| Обучение | Обучение сотрудников работе с приложением, передача документации и доступов |
Сроки: базовая версия с камерой и офлайн — 5–7 недель. С ТСД, серийным учётом и 1С — 10–14 недель. Стоимость рассчитывается индивидуально, исходя из сложности интеграции и количества платформ.
Типичные ошибки при разработке
- Игнорирование офлайн-режима — приложение «зависает» при потере сети.
- Отсутствие абстракции сканера — замена камеры на ТСД требует переписывания кода.
- Sync-конфликты без механизма разрешения — данные могут разойтись.
- Отсутствие обработки повреждённых штрихкодов — использование только камеры без fallback.
Наша команда имеет 5+ лет опыта в мобильной разработке и реализовала более 30 проектов для складской логистики. Мы гарантируем стабильную работу приложения в условиях плохой связи и агрессивной среды.
Свяжитесь с нами для консультации — оценим ваш проект и предложим оптимальное решение. Получите консультацию уже сегодня.







