Print Friendly, PDF & Email

В этой статье я хочу дать обзор примера построения системы обработки заказа (и всех связанных процессов) в ERP ODOO на примере компании которая занимается оптовой торговлей пиломатериалами. Сразу хочу отметить, что это не стандартная сборка, а уже модифицированная под специфику рассматриваемой отрасли ( в частности конкретной компании).

Некоторые моменты я буду подавать упрощенно особо не вдаваясь в детали.

Давайте рассмотрим основной бизнес процесс нашей компании. Она заниматеся оптовой торговлей пиломатериалам  – обрезной доской, которая может иметь разные физические параметры (такие как ширина, длина и толщина). В зависимости от физических параметров высчитывается номинальный объем 1 штуки, который служит вторичной еденицой измерения (в данном случае это используется как справочная информация и не “протягивается” через склад).

Клиент размещает заказ на доски определенного размера (по длине, ширине и толщине) при этом компания имеет право поставить ему доски других размеров в пределах определенных допусков по длине, толщине и ширине. Заказ может выглядеть так (цифры условные):

Сорт Толщина,мм Ширина,мм Длина, мм Объем Цена, USD Допуски
А 35 90 2400 200 200 (-0+2 х-0+2 х+-0)

То есть клиент заказывает доски размера 35*90*2400, но мы можем ему поставить доски 37*92*2400 и все будет ок.

После размещения заказа клиента мы начинаем искать у какого поставщика мы можем закупить эти доски. Заказ может быть размещен как у одного поставщика, так и у нескольких. После выполнения заказом поставщиком к нему едет машина и забирает эти доски. В момент приемки проверяется качество досок и их соответствие заданным параметрам. Если все хорошо – доски пакуются в пачки, каждая из которых стикеруется, а затем эти пачки помещаются в контейнер (машину). Потом эти доски везутся в порт, погружаются на корабль и отправляются иностранному заказчику. В один заказ могут помещаться несколько контейнеров. В один корабль могут помещаться несколько заказов и соответственно много контейнеров.

Настройки карточки продукта

Как я уже говорил настройки карточки продукта много что определяют в системе. Давайте создадим карточку продукта и на ее уровне пропишем физические параметры нашей доски. Основной единицей измерения у нас будет м.куб, вторичной – штуки.

Задаем физические параметры нашей доски. Система сама нам расчитает необходимы параметры (такие как площадь и объем)

И указываем вторичную единицу измерения

Включаем для продукта учет по партиям

Закупки мы можем делать двумя способами: на наш склад, а затем отгрузка покупателю или через дропшиппинг. На уровне системы мы можем включить и тот и тот вариант. Но пока давайте исходить из предположений, что закупка делается на наш склад.

Оформление заказа на продажу

Итак покупатель у нас заказал 200 м.куб доски 35*90 A2400. Позиция заказа продаж в системе будет выглядеть следующим образом:

После выбора вторичной единицы измерения и указания количества в основной система пересчитывает по коэффициенту количество во вторичной единице. То есть 200 м.куб – это ориентировочно 26455 досок.

Для отслеживания рентабельности данного заказа под него можно создать аналитический счет и указать в этом заказе

Также под этот заказ продаж мы создадим “Глобальный заказ” на уровне которого будем отслеживать состояние этого заказа (об этом чуть ниже).

Оформление запросы цен (RFQ)

Итак у нас есть оформленный заказа от покупателя – теперь нам осталось найти поставщика. После того как поставщик найден мы можем создать “Запрос цен у поставщику” прямо из нашего заказа продаж (так как закупка у поставщика делается под конкретный заказ клиента). Для упрощения давайте предположим, что вес объем мы закажем у одного поставщика.

Информация о таком заказе отобразится в заказе на продажу

В позиции созданного запроса цен у нас передалась вся информация о заказанной продукции (физические параметры) и аналитический счет нашего заказа.

После подтверждения запроса цен – поставщик начинает работу над заказом и после того как он выполнен мы едем к нему забирать заказ.

Приемка товара у поставщика

Теперь у нас возникает необходимость создать в системе контейнер, в который мы будем упаковывать наш заказ. Это мы можем сделать либо в момент приемки товара у поставщика либо заранее. Давайте присвоим контейнеру номер нашего заказа продаж – /2021/0087 и будем его указывать в момент приемки товара.

Итак мы создаем пачки с определенным количеством досок (номер пачки содержит в себе номер контейнера и порядковый номер пачки), а потом эти пачки упаковываем в наш контейнер. Для некоторого упрощения я создал пачки по 5000 штук, и последнюю на 6455 шт, чтобы закрыть весь объем.

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

По контейнеру нам необходимо отслеживать целый ряд параметров, заполнить которые мы можем прямо в нем (приношу извинения за то, что некоторые поля непереведены)

А также нам необходимо отслеживать какие именно затраты мы несем по этому контейнеру (все эти затраты мы можем привязывать к аналитическому счету нашего заказа)

Реализация товара покупателю

Теперь возвращаемся в наш Заказ продаж. Позиция нашего заказа уже несколько видоизменилась и в нее подтянулся контейнер и  номера пачек, которые были закуплены у поставщика под этот заказ.

После подтверждения заказа продаж вся эта информация переносится в позиции исходящего складского перемещения, которое при подтверждении спишет указанные пачки со склада.

Но давайте не будем спешить списывать со склада, а вернемся к нашему контейнеру и к тому, что с ним происходит дальше.

Контейнер может иметь свой жизненный цикл и есть необходимость отслеживать в каком он сейчас находится состоянии (на каком этапе)

После того как он был забран у поставщика он может приехать на наш склад, а уже оттуда отправиться на погрузку в порт либо минуя наш склад отправится в порт на корабль. На один корабль может грузиться несколько заказов покупателя и соответственно много контейнеров. И нам еще необходимо остлеживать на каком корабле какие заказы находятся.

Затем в зависимости от условий поставки мы можем массово подтвердить/перевести на следующий статус все складские перемещения которые указаны в данном пакете (находяться на данном корабле).

Глобальный заказ

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

А что в учете?

Ну и как же обойтись без учета. Себестоимость реализации мы можем отразить на аналитическом счете заказа либо после проведения реализации либо в момент проведения инвойса поставщика. Доходная часть отразиться после проведения инвойса покупателя. Если в связи с этим заказом были какие-то сопутствующие расходы мы можем их отобразить на аналитическом счете нашего заказа в момент фиксации таких расходов в учете.

В результате этого на аналитическом счете заказа накопиться информация о доходах и расходах по данному заказу. Все доходы и расходы будут отражаться в валюте компании и в нашем случае это будет гривна. Хотя некоторые операции мы проводили в USD (на дату проведения таких операций был установлен курс – 25 грн за 1 долл).

В самой аналитической записи будет содержаться информация об эквиваленте в другой валюте

Эту информацию можно использовать для построения управленческого отчета о прибылях и убытках, а также для анализа по целому ряду параметров. Например отслеживать рентабельность в разрезе стран, клиентов, групп товаров либо отдельных продуктов.

Подытожим

Это наверное первая статья где я начал расматривать адаптацию ODOO под специфику конкретного бизнеса. Я упростил некоторые моменты и рассказал не всю специфику бизнеса.  Как вы могли убедиться ODOO очень гибкая под запросы и может быть адаптирована практически под любой процесс. Но при такой адаптации не забывайте про то, что адаптировать нужно постепенно и не давать фантазии сильно разгуляться. Когда заказчику IT системы давать волю, а в голове у него либо Excel либо 1С, то жди беды. Какая бы система автоматизации не была классной, хаос в процессах заказчика и его неуемная фантазия может привести к неуспешному внедрению либо к тому, что системой просто станет невозможно пользоваться.

Если вам понравилась статья – ставьте лайк и ждите продолжения 🙂