Розробка мобільного додатку для проведення інвентаризації

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Розробка мобільного додатку для проведення інвентаризації
Середній
від 1 тижня до 3 місяців
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Розробка мобільного додатку для проведення інвентаризації

Інвентаризація в традиційному розумінні — це друковані бланки, ручний перерахунок та звірка з 1С вечором. Мобільний додаток з підтримкою сканування штрихкодів змінює процес: працівник скануває штрихкод або QR, додаток одразу сопоставляє з обліковою системою, розхідження фіксуються в момент сканування. Задача звучить прямолінійно, але деталі реалізації визначають, наскільки швидко проходить реальна інвентаризація.

Сканування: вбудована камера 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 виробника.

// Android: інтеграція Zebra DataWedge через Intent
class ZebraDataWedgeManager(private val context: Context) {
    private val DATAWEDGE_ACTION = "com.symbol.datawedge.api.ACTION"
    private val SCAN_ACTION = "com.symbol.datawedge.data_string"

    fun registerScanReceiver(onScan: (String) -> Unit): BroadcastReceiver {
        val receiver = object : BroadcastReceiver() {
            override fun onReceive(context: Context, intent: Intent) {
                if (intent.action == SCAN_ACTION) {
                    val barcode = intent.getStringExtra("com.symbol.datawedge.data_string") ?: return
                    onScan(barcode)
                }
            }
        }
        context.registerReceiver(receiver, IntentFilter(SCAN_ACTION))
        return receiver
    }
}

Honeywell ТСД використовують аналогічний broadcast-механізм через DataCollection SDK. Для універсального рішення — абстракція BarcodeScanner з реалізаціями: CameraBarcodeScanner, ZebraBarcodeScanner, HoneywellBarcodeScanner. Конфігурація вибирається при запуску по типу пристрою.

Архітектура: офлайн-first обов'язкова

Склад — це зона з нестабільним Wi-Fi. Деякі зони вообще без покриття. Додаток повинен працювати повністю офлайн: загрузити список інвентаризації перед початком, фіксувати сканування локально, синхронізувати при відновленні з'єднання.

@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 }

WorkManager запускає синхронізацію при появі мережі — NetworkType.CONNECTED constraint. При конфлікті (інший працівник відсканував той же SKU) — сервер повертає конфлік, додаток показує обидва значення та просить розв'язати вручну.

Пошук по серійному номеру та ручний ввід

Не у кожного товару є читаємий штрихкод. Ручний ввід SKU з автодополненням з локальної бази — обов'язкова функція. Список SKU загружається заздалегідь в FTS4/FTS5 таблицю Room для швидкого повнотекстового пошуку по наменованню.

Серійні номери — окрема історія. Позиція може потребувати сканування кожного екземпляра поштучно (ноутбуки, принтери, інструменти). Режим «серійний облік»: додаток чекає N сканувань серійних номерів для однієї позиції, показує прогрес 3/10 серійних номерів введено.

Звіт про розхідження

Після завершення інвентаризації — звіт про розхідження: які позиції не знайшли, які излишки, де факт не совпав з планом. Формується локально, відправляється на сервер або експортується в PDF через PdfDocument API (Android) / PDFKit (iOS).

Інтеграція з 1С через REST API (HTTP-сервіс 1С) або через проміжний сервіс. Формат обміну — JSON або XML по договоренності з 1С-розробником. Загрузка документа інвентаризації назад у 1С — стандартний фінальний крок.

Розробка мобільного додатку для інвентаризації з офлайн-роботою, Camera ML Kit та експортом звітів: 5-7 тижнів. З підтримкою ТСД Zebra/Honeywell, серійним обліком та двосторонньою інтеграцією з 1С: 10-14 тижнів. Вартість розраховується індивідуально.