AIVcoreOdoo development
ru
Все материалы
Кейс2 апреля 2026 г.2 мин чтения

Мобильное приложение со сканированием для склада на Odoo

Штатный Barcode-модуль не выдерживал 900 строк отбора в смену и падал при потере Wi-Fi. Сделали приложение на Flutter с офлайн-очередью и синхронизацией через JSON-RPC.

О проекте

Заказчик
Дистрибьютор автозапчастей
Отрасль
Дистрибуция
Срок
7 недель
Стек
Odoo 17FlutterJSON-RPCZebra TC21Offline-режим
×2.4
скорость сборки заказа
-91%
ошибок пересорта
0
простоев при потере сети

Почему не хватило штатного модуля

У клиента 12 000 SKU и до 900 строк отбора в смену. Штатный веб-интерфейс сканирования Odoo работал, но:

  • при просадке Wi-Fi в дальних рядах стеллажей операция срывалась и приходилось начинать заново;
  • на каждый скан уходил сетевой запрос — на слабом сигнале до 2–3 секунд;
  • не было пакетного отбора по нескольким заказам одновременно;
  • ТСД Zebra с аппаратным сканером в браузере работали неудобно.

Что сделали

Приложение на Flutter

Одна кодовая база под Android-ТСД (Zebra TC21/TC26) и обычные смартфоны. Работа с аппаратной кнопкой сканера через DataWedge, крупные элементы интерфейса под работу в перчатках, звуковое и вибро-подтверждение операции.

Офлайн-очередь

Ключевое решение: приложение хранит локальную копию задания на отбор и пишет все действия в локальную очередь (SQLite). Синхронизация с Odoo — фоновая, с ретраями и разрешением конфликтов на сервере. Кладовщик физически не может «застрять» из-за сети.

Кастомный модуль на стороне Odoo

Чтобы не гонять по сети лишнее, написали модуль с компактным JSON-RPC API:

  • wave.picking — волновой отбор: система группирует заказы в волны по зонам склада;
  • один запрос отдаёт всё задание целиком, включая штрихкоды, ячейки и остатки;
  • подтверждение операций пакетом, с идемпотентными ключами (повторная отправка не создаёт дублей);
  • фиксация расхождений с фото прямо из приложения.

Маршрут отбора

Порядок строк рассчитывается по фактической геометрии склада — операторы больше не ходят из конца в конец, а идут по одному проходу.

Результат

  • скорость сборки заказа выросла в 2.4 раза;
  • ошибки пересорта снизились на 91% — отгрузка невозможна без скана штрихкода позиции;
  • потеря Wi-Fi больше не останавливает работу;
  • приёмка, инвентаризация и перемещения работают в том же приложении.

Технические детали

Аутентификация — сервисный пользователь Odoo с ограниченными правами и токеном устройства. Все операции идут от имени реального сотрудника (по PIN-коду при входе в смену), поэтому в Odoo видно, кто и что сделал.

Похожая задача?

Расскажите о процессе — оценим объём работ и сроки.

Похожие материалы

Кейс
14 мая 2026 г.2 мин чтения

Odoo с нуля на пищевом производстве: партии, сроки годности, себестоимость

Компания росла без ERP: заказы в мессенджерах, склад в тетради. За 10 недель развернули Odoo 18 с производством, партионным учётом и прослеживаемостью до сырья.

10 недель
до промышленной эксплуатации
+27%
точность плана производства
ВнедрениеПроизводство
Читать
Кейс
18 июня 2026 г.2 мин чтения

Миграция с 1С:УПП на Odoo 17: завод металлоконструкций

Перенесли производственный учёт с 1С:УПП на Odoo 17: справочники, остатки, спецификации и незавершённое производство. Параллельный период — один месяц, потерь данных нет.

4 мес.
от аудита до запуска
-38%
время закрытия месяца
Миграция с 1СПроизводство
Читать
Статья
11 марта 2026 г.2 мин чтения

Кастомные отчёты для бухгалтерии в Odoo: как это устроено

ОСВ, акты сверки, книга покупок и продаж, управленческий P&L. Разбираем, какие механизмы Odoo использовать под каждый тип отчёта и где не стоит изобретать своё.

БухгалтерияОтчёты
Читать