Каждое лекарство ведётся с номером серии и сроком годности, филиалы получают товар друг от друга, а касса предупреждает о лекарстве с истёкшим сроком. Рецепты, электронный рецепт и маркировка лежат за пределами стандарта Odoo: о них мы пишем открыто, со ссылками на источники.
Лекарство — это товар со сроком годности, серией и собственными правилами. Ошибка здесь стоит не только денег: она затрагивает безопасность пациента и результаты проверок.
Odoo S.A. публикует в Apps Store отраслевой пакет «Pharmacy» (техническое название pharmacy_retail; есть в ветках 19.0 и 20.0). Страница описывает его как систему управления розничной аптекой: закупки и продажи, складской учёт по сериям и контроль срока годности серий. Пакет опирается на приложения Point of Sale, Inventory, Sales, Purchase, Invoicing, Studio, Knowledge, Calendar, Contacts и Discuss. Ему нужен Odoo Enterprise; он доступен в Odoo Online, Odoo.sh и на собственном сервере. На отраслевой странице Odoo Pharmacy для кассы, склада, продаж, закупок, учёта и обучения сотрудников указан Knowledge. Обработка рецептов упомянута там одной фразой, без подробностей.
Пакет — это заранее настроенная база, а не готовая аптечная программа. На страницах не описаны проверка рецепта, электронный рецепт, маркировка лекарств, контроль референтных цен и узбекская локализация Odoo. Всё это мы оцениваем на диагностике как работу поверх пакета.
Поиск «pharmacy» в Apps Store по ветке 19.0 показал более сотни приложений (25 октября 2026 г.). Большинство из них — сторонние модули. В Odoo Online они не устанавливаются; качество каждого и его соответствие требованиям Узбекистана проверяются отдельно.
Основа — касса и склад с учётом по сериям. Какие приложения нужны, определяется на диагностике.
Продажа, выбор серии, предупреждение о просроченной серии, учёт клиента, возврат, смена.
Центральный склад и склады филиалов, внутренние перемещения, товар в пути, инвентаризация.
Четыре даты по серии (лоту), предупреждение, выдача в первую очередь лекарства с ближайшим сроком (FEFO).
Сканер при приёмке и подсчёте; номенклатура GS1 считывает серию и срок. Входит в Enterprise.
Правило минимального остатка, заказ поставщику, сверка с учётом поставщика.
Контрольная точка при приёмке, отделение некачественной серии. Входит в Enterprise.
Карта лояльности, купон, подарочная карта, отдельный прайс-лист для B2B-клиента.
Журналы в разрезе филиалов, счёт-фактура поставщика, кассовый журнал, банковская сверка.
Форма журнала рецептов и дополнительные поля — без кода. Входит в Enterprise.
На каждом этапе документ остаётся в Odoo, поэтому центр видит остатки филиала и серии на своём экране.
Лекарство приходит с накладной и счёт-фактурой. Сканером проверяется количество, вводятся номер серии и срок годности. Для маркированных лекарств учёт кодов ведётся отдельно (ниже).
При поступлении срабатывает контрольная точка. Некачественная или сомнительная серия отделяется в отдельную локацию.
Локации создаются по условиям хранения: обычная полка, холодильник, карантин. Каждое лекарство учитывается только на своём месте.
Создаётся документ перемещения с центрального склада в филиал. Товар в пути находится в локации «транзит» и остаётся собственностью компании.
Кассир сканирует лекарство, серия выбирается или импортируется. При просроченной серии появляется предупреждение. Даже если серии нет или она указана с ошибкой, касса не останавливает продажу: требуется только подтвердить предупреждение.
Проверка рецепта и ведение его следа строятся как правило вне кассы (раздел ниже).
Когда наступает дата оповещения, лекарство становится видно. Некачественное или просроченное лекарство изымается из обращения и списывается по акту.
Руководитель видит продажи, остатки, серии с близким сроком и списания в разрезе филиалов и групп лекарств.
В документации Odoo не описаны ни рецептурная операция, ни проверка рецепта, ни журнал рецептов. Поэтому эта часть считается работой, добавляемой поверх Odoo.
Правила официальные: положение о розничной реализации для аптек (постановление Кабинета Министров № 185 от 6 апреля 2017 г., приложение 2; последняя редакция действует с 3 июля 2026 г.). Согласно ему, лекарство, отпускаемое по рецепту, не выставляется там, где покупатель может его увидеть. Рецепт бывает бумажным или электронным. Лекарство отпускается по международному непатентованному названию (МНН), указанному в рецепте. В бумажном рецепте фармацевт пишет название лекарства, номер серии и своё имя, ставит подпись и печать аптеки. На полностью отпущенный рецепт ставится штамп «Рецепт недействителен», а рецепт, не соответствующий правилам, записывается в отдельный журнал. Журнал регистрации рецептов приведён в приложении к положению: дата, пациент, учреждение и врач, название лекарства, количество, доза, форма, цена, адрес и телефон пациента, примечание.
Путь в Odoo: форма журнала рецептов через Studio (номер рецепта, врач, учреждение, МНН, количество), вывод её в отчёт и правило обязательного поля на кассе для рецептурных лекарств. Тип кастомизации (Studio или автоматизация процесса) выбирается на диагностике.
Пример условный. Поставщик сообщает, что одна серия лекарства признана некачественной. Кладовщику нужно найти ответ за несколько минут.
Серии, сроки и филиалы есть в стандартных приложениях. Рецепт, электронный рецепт, маркировка и фискальный чек — отдельная работа. Данные приведены по документации Odoo 20; если в вашей версии есть отличия, проверим на диагностике.
| Задача | В стандартном Odoo | Дополнительная работа (BUline) |
|---|---|---|
| Серия (лот) и срок годности | Есть: четыре даты при отслеживании по сериям (срок годности, «лучше употребить до», изъятие, оповещение) | В каких группах лекарств включать, порядок ввода при приёмке |
| Выдача в первую очередь серии с близким сроком (FEFO) | Есть: стратегия списания. На кассе серию выбирает кассир или она импортируется | Проверка автоматического выбора на кассе |
| Остановка продажи просроченного лекарства | Частично: касса Odoo 20 предупреждает; блокировка продажи в документации не описана | Правило обязательной остановки, при необходимости — специальный модуль |
| Приёмка по 2D-коду (Data Matrix) | Есть: номенклатура GS1 в настройках штрихкодов Inventory, поля серии и срока. Считывание на кассе в документации не описано | Проверка модели сканера и структуры кода |
| Подключение к Asl Belgisi (национальная система маркировки): проверка кода, отчёт о продаже | Нет: в документации Odoo не упомянуто | Отдельный проект: путь подключения письменно уточняется по документации оператора |
| Продажа по рецепту, журнал рецептов | Нет: в документации не описаны ни рецептурная операция, ни журнал | Форма Studio, отчёт и правило на кассе |
| Электронный рецепт | Нет: в документации не упомянуто | Условия подключения к системе цифрового здравоохранения уточняются письменно |
| Перемещения между филиалами, централизованные закупки | Есть: несколько складов, транзитная локация, правила минимума и максимума | Структура филиалов, локации, роли |
| Контроль референтной цены и надбавки | Есть прайс-листы и правила скидок; проверки соответствия референтной цене нет | Поле референтной цены и отчёт со сравнением с ценой на кассе |
| Поштучная продажа (блистер) | Можно настроить через единицы измерения и упаковки | Положение допускает поштучную продажу (если на упаковке указаны название, серия, срок годности, производитель), но запрещает отпускать лекарство с нарушенной первичной упаковкой (приложение 2, п. 30) |
| Налоговый чек (онлайн- или виртуальная касса) | Нет: в документации Odoo не упомянуто подключение к узбекскому фискальному модулю | Подключение к кассовому средству из реестра. Страница о кассе |
Нижеследующее проверено по официальным источникам. Правила часто меняются: действующую редакцию мы заново открываем в день принятия решения и подтверждаем письменно с ответственным фармацевтом.
Каждое подключение оценивается и выполняется отдельно. Мы не обещаем, что «готовый коннектор есть».
Отчёты не выгружаются в отдельную таблицу: они формируются из документов продаж и склада в этой же базе.
Этапы соответствуют общему методу BUline. Срок письменно согласовывается после диагностики. Порядок внедрения →
Изучаются центральный склад, один-два филиала и кассовый процесс, порядок работы с рецептами и маркировкой, текущая программа и кассовое средство. Готовятся письменные вопросы к государственным системам. Результат: карта бизнес-требований (BRD).
Подтверждаются отраслевой пакет или набор приложений, структура филиалов и складов, форма журнала рецептов, путь маркировки и кассы, тип хостинга.
Сначала один филиал работает с реальными продажами: приёмка, касса, журнал рецептов, контроль сроков. Затем остальные филиалы подключаются по очереди.
Фармацевт, кассир, кладовщик и заведующий филиалом обучаются по ролям; тренировка проходит на вашем списке лекарств. Выдаются инструкция и видеоуроки.
После запуска — 30 дней усиленной поддержки, затем согласованное постоянное сопровождение. При изменении правил подключение перепроверяется.
Этот список ускоряет диагностику. Начать можно и без полного комплекта.
| Ошибка | Последствие | Как предотвращаем |
|---|---|---|
| Касса пропускает ошибку серии как «предупреждение» | Продажа без серии, нарушается прослеживаемость | Инструкция кассира, при необходимости — обязательное правило |
| Ставить все лекарства под одинаковый учёт | Растёт объём дополнительного ввода при приёмке и продаже | Разделить группы товаров и выбрать тип отслеживания |
| Отложить настройку журнала рецептов | Бумажный журнал и система расходятся | Утвердить форму журнала в начале проекта |
| Вести маркировку и кассу как два отдельных процесса | Одно и то же лекарство записывается в двух местах по-разному | Письменно подтвердить путь подключения на этапе архитектуры |
| Брать сроки электронного рецепта из устаревшего источника | Неверная подготовка | Письменно уточнить действующее положение у министерства |
Есть. Odoo S.A. публикует в Apps Store отраслевой пакет «Pharmacy»: касса, закупки и склад с учётом по сериям. Ему нужен Enterprise, он доступен и в Odoo Online. Проверка рецептов, электронный рецепт, маркировка и узбекская локализация Odoo на странице не описаны: они оцениваются как отдельная работа.
В стандартных приложениях рецептурная операция и журнал рецептов не описаны. Эту часть мы строим на форме Studio, отчёте и правиле на кассе. Сами правила изложены в приложении 2 к постановлению №185; действующую редакцию мы заново открываем на диагностике.
В документации Odoo нет подключения к модулю электронного рецепта. Согласно постановлению №570 аптека подключается к платформе цифрового здравоохранения: по всей республике до конца 2026 г. (п. 2), в примечании к приложению указано 1 января 2027 г. Способ подключения и действующую дату мы письменно уточняем у министерства.
Лекарственные средства входят в группу обязательной цифровой маркировки. В документации Odoo подключение к «Asl Belgisi» не упоминается, поэтому оно оценивается как отдельный проект. Считывание 2D-кода при приёмке и запись серии и срока есть в настройках штрихкодов Inventory.
Касса Odoo 20 предупреждает при выборе просроченной серии. В документации принудительная остановка продажи не описана, поэтому контроль строится в два уровня: на складе — даты сроков и FEFO, на кассе — правило для кассира, при необходимости специальный модуль.
Центр и каждый филиал — отдельные склады. Перемещение идёт с документом, товар в пути находится в транзитной локации и остаётся собственностью компании. Если филиалы — отдельные юрлица, Odoo 20 применяет пополнение между компаниями.
Отраслевой пакет доступен в Odoo Online. Odoo Online несовместим со сторонними и кастомными модулями: если нужен модуль маркировки или электронного рецепта, выбирается Odoo.sh или собственный сервер. Тип хостинга мы определяем в начале проекта. Типы хостинга →
Лицензия Odoo зависит от числа пользователей и приложений (условия на odoo.com). Объём услуг BUline зависит от числа филиалов и касс, приложений, кастомизации, интеграций, объёма данных и обучения. Точные затраты и сроки указываются в письменном предложении после бесплатной диагностики.
На диагностике разберём ваши процессы и скажем, где достаточно стандартного Odoo, а где нужна настройка, — со списком приложений, версией и этапами.