Плитка продаётся в квадратных метрах, доставляется в коробках, а на складе считается в другой единице. Odoo ведёт один товар в нескольких единицах, резервирует заказ, проверяет объём груза и отслеживает задолженность. Налоговые документы и накладная подключаются отдельно.
Ассортимент большой, заказы объёмные, клиент часто работает по объектам. На таком объёме Excel и тетрадь не выдерживают.
Odoo S.A. публикует в Apps Store отраслевой пакет «Hardware Store» (техническое имя hardware_shop; есть в версиях с 17.0 по 20.0). Страница описывает его как решение для магазинов с широким ассортиментом: сантехника, инструменты, садовые товары, столярные изделия, электрика и хозяйственные товары. По описанию, пакет объединяет кассу, склад, продажи, закупки, бухгалтерию, контакты, сотрудников, дашборд, штрихкоды и документы; обязательные зависимости — Contacts, Knowledge, Discuss, Invoicing, Inventory, Sales, Point of Sale и Purchase. Пакет требует Odoo Enterprise и доступен в Odoo Online, Odoo.sh и на собственном сервере. На странице указано, что бухгалтерия заранее не устанавливается, настройки склада остаются простыми, а локализация страны не входит в пакет.
Отраслевая страница Hardware Store от Odoo перечисляет кассу, склад, счёт-фактуру, планирование, закупки и eCommerce. Единица измерения, упаковка, условия для корпоративных клиентов и задолженность клиента там не упомянуты. Именно эти части — суть оптовой торговли стройматериалами и поставок на объекты, поэтому ниже мы описываем их отдельно.
Для строительных подрядчиков у Odoo есть другие пакеты (General Contractor, Property Developer): они рассчитаны на работу по объектам и сметам, а не на торговлю. Страница строительного подрядчика →
Основа — продажи и склад. Остальные связывают их с кассой, закупками, доставкой и учётом. Какие приложения нужны, определяется на диагностике.
Предложение, заказ, аванс, прайс-лист, доставка и счёт-фактура.
Несколько складов, резерв, комплектация, доставка, упаковка, инвентаризация.
Прилавок магазина: наличные, карта, счёт клиента, смена.
Заказ поставщику, правило минимального остатка, единица закупки.
Счёт-фактура, условие оплаты, задолженность и напоминание, сверка с банком.
Сканер при приёмке и подсчёте, штрихкод упаковки. Входит в Enterprise.
Собственные грузовики и их лимит по весу и объёму; используется при планировании доставки.
Каталог, остатки, заказ для корпоративных и частных клиентов.
Готовая к работе база для магазина. Требует Enterprise.
Плитка на складе считается в квадратных метрах, клиенту продаётся коробками, а на кассе выходит коробкой или поштучно. Согласно документации Odoo, для этого в настройках Inventory включается «Units of Measure & Packagings». В трёх местах стоят три единицы: складская (остаток считается в ней), единица продажи (поле Packagings на вкладке Sales товара) и единица закупки (вкладка Purchase). Пересчёт между единицами Odoo выполняет сама: если заказ на продажу в другой единице, при доставке количество переводится в складскую единицу.
Упаковка привязана к товару: она задаётся названием, количеством внутри и единицей измерения (условный пример: одна коробка — 1,44 м²), ей можно присвоить и штрихкод. Если нужной единицы нет в таблице, на странице Units & Packagings создаётся новая — с названием и эквивалентом в другой единице. В разделе Logistics категории товара есть поле «Reserve Packagings». «Reserve Only Full Packagings» резервирует только целую упаковку, а «Reserve Partial Packagings» — и частично. По новшествам Odoo 20, в продажах добавлена и цена, зависящая от упаковки.
Округление количества в строке продажи до целой коробки в документации не описано. Для такого товара, как плитка, мы проверяем это на тестовой базе и при необходимости закрываем правилом.
Каждый шаг оставляет в Odoo документ, поэтому менеджер, кладовщик, водитель и бухгалтер смотрят на один и тот же заказ.
Клиент передаёт список товаров или площадь объекта. Менеджер составляет предложение с единицей продажи и упаковкой.
Предложение становится заказом. Здесь же задаются аванс и условие оплаты (срок, поэтапная оплата).
Склад резервирует товар целыми упаковками или частично. На недостающую часть открывается заказ на закупку (зависит от правила и маршрута).
Кладовщик комплектует заказ и подвозит его к месту погрузки. Крупный заказ делится на несколько поставок.
Грузовик записывается как способ доставки; проверяется лимит максимального веса и объёма. Адрес объекта хранится в карточке клиента как отдельный адрес доставки.
Счёт-фактура выписывается по заказу или по поставленному количеству (в зависимости от политики). Электронная счёт-фактура в налоговой системе и накладная подключаются отдельно.
Срок отслеживается по условию оплаты; по просроченным счетам-фактурам запускаются этапы напоминаний.
Возвращённый товар оформляется кредит-нотой и движением по складу. Руководитель видит выручку и задолженность по группе товаров, клиенту и доставке.
Пример условный, без цифр. Прораб заказывает для объекта плитку, клей и профиль. Часть клея на складе отсутствует.
Единицы, упаковка, склад и контроль задолженности есть в стандарте. Округление, налоговые документы и ИКПУ (МХИК) — отдельная работа. Данные приведены по документации Odoo 19 и 20; если в вашей версии есть отличия, проверим их на диагностике.
| Задача | В стандартном Odoo | Дополнительная работа (BUline) |
|---|---|---|
| Один товар, несколько единиц (м², коробка, шт.) | Есть: складская единица, единицы продажи (упаковка) и закупки, автоматический пересчёт | Сборка каталога с единицами и упаковкой, проверка при импорте |
| Резерв целой упаковки | Есть: «Reserve Only Full Packagings» в категории или частичный резерв | Определение, какой режим нужен в какой категории |
| Округление количества до целой коробки | В документации не описано | Тест, при необходимости правило или Studio |
| Варианты и партии (цвет, размер, тон) | Есть: варианты товара и учёт по партиям (лот) | Структура вариантов, порядок записи номера партии при приёмке |
| Способ доставки и лимит груза | Есть: способы доставки, максимальный вес и объём. Для Dispatch management нужна интеграция Fleet и Mapbox (документация 19.0) | Вместимость машины, поля веса и объёма товара, маршрут |
| Доставка на объект (несколько адресов у клиента) | Есть: отдельные адреса доставки в карточке клиента | Поля названия объекта и ответственного лица (прораб) |
| Контроль задолженности и условие оплаты | Есть: условия оплаты, этапы напоминаний, отчёт о задолженности. Лимит клиентского счёта на кассе только предупреждает. Блокировка по лимиту в заказе в документации не подтверждена | Правило лимита и утверждающее лицо (вне кассы) |
| Прайс-листы для опта, прорабов и магазина | Есть: прайс-листы и скидки; в Odoo 20 — цена, зависящая от упаковки | Группы клиентов и правила |
| Электронная счёт-фактура и накладная | Нет: в документации Odoo не упомянуто подключение к узбекскому оператору | Выбор оператора, поля. Электронные документы и налоги |
| Код ИКПУ (МХИК) в карточке товара | Нет: в документации локализации не упомянуто | Поле в карточке, проверка 11-значного базового кода при импорте |
| Налоговый чек (онлайн- или виртуальная касса) | Нет: в документации Odoo не упомянуто подключение к узбекскому фискальному модулю | Подключение к кассовому средству из реестра. Страница о кассе |
В стройматериалах задолженность — обычное дело. Важно вывести её из тетради и вести с документом и сроком.
Следующее проверено по официальным источникам. То, что относится к вашему ассортименту, мы фиксируем в письменном перечне на диагностике.
Каждое подключение оценивается и выполняется отдельно. Мы не обещаем, что «готовый коннектор есть».
Отчёты не выгружаются в отдельную таблицу: они формируются из документов заказов, склада и учёта в этой же базе.
Этапы соответствуют общему методу BUline. Срок письменно согласовывается после диагностики. Порядок внедрения →
Изучаются каталог и единицы измерения, структура склада, способ доставки, политика по задолженности, текущее кассовое средство и документооборот. Результат: карта бизнес-требований (BRD).
Утверждаются структура единиц и упаковок, схема склада и доставки, правила по задолженности, документные интеграции и тип хостинга.
Каталог импортируется, пересчёт единиц и резервирование проверяются на тестовых данных. Затем — реальный пилот с одним складом или одной группой клиентов.
Менеджеров, кладовщиков, кассиров, водителей-экспедиторов и бухгалтеров обучаем по ролям; практика проходит на вашем каталоге. Выдаются инструкции и видеоуроки.
После запуска — 30 дней усиленной поддержки, затем согласованное постоянное сопровождение. При изменении правил проверяется подключение документов.
Этот список ускоряет диагностику. Начать можно и без полного комплекта.
| Ошибка | Последствие | Как предотвращаем |
|---|---|---|
| Заводить отдельный товар на каждый размер | Каталог и отчёты дробятся | Сразу спроектировать структуру вариантов и упаковок |
| Смешивать единицу хранения и единицу продажи | Остаток и продажи не сходятся | Письменно закрепить для каждого товара единицу хранения, продажи и закупки |
| Полагаться на предупреждение кассы как на контроль лимита задолженности | Продажа сверх лимита проходит | Правило и согласующее лицо на уровне заказа |
| Загрузка товара без кода ИКПУ (МХИК) | Ошибка в чеке и счёте-фактуре | Проверка кода при импорте |
Для магазинов есть: Odoo S.A. публикует пакет «Hardware Store». Он требует Enterprise и доступен также в Odoo Online. Единицы и упаковки, условия для корпоративных клиентов, лимиты задолженности и доставки на странице не упомянуты, они настраиваются отдельно. Локализация для страны в пакет не входит.
Да. Единица хранения, единица продажи (упаковка) и единица закупки задаются отдельно, Odoo пересчитывает между ними. Округление до целой коробки в документации не описано, поэтому проверяем его на тестовой базе.
В категории товара выбирается «Reserve Only Full Packagings» или «Reserve Partial Packagings». Первый режим резервирует только целую упаковку, второй — и частично.
Dispatch management сравнивает максимальный вес и объём категории автомобиля с весом и объёмом товара. Для этого нужны приложение Fleet, данные о товаре и интеграция с Mapbox для маршрута (документация 19.0). Если данные неполные, расчёт не выполняется.
Условие оплаты, напоминание и отчёт по задолженности есть в стандарте. Лимит счёта клиента в кассе только предупреждает. Блокировка по лимиту на уровне заказа в документации не подтверждена: правило и согласующее лицо определяются на диагностике.
В документации Odoo подключение к оператору в Узбекистане не упомянуто. Путь подключения зависит от документации оператора и порядка использования ключа ЭЦП (ERI). На диагностике подтверждаем письменно. Электронные документы и налоги →
Отраслевой пакет доступен в Odoo Online, но Online несовместим со сторонними и индивидуальными модулями. Если нужен модуль электронных счетов-фактур или индивидуальный маршрут с Mapbox, выбирается Odoo.sh или собственный сервер. Типы хостинга →
Лицензия Odoo зависит от числа пользователей и приложений (условия на odoo.com). Объём услуг BUline зависит от числа складов и касс, размера каталога, приложений, кастомизации, интеграций и обучения. Точные затраты и сроки указываются в письменном предложении после бесплатной диагностики.
На диагностике разберём ваши процессы и скажем, где достаточно стандартного Odoo, а где нужна настройка, — со списком приложений, версией и этапами.