1. Анализ бизнес процессов и написание технического задания
Мы провели несколько встреч с владельцем бизнеса, получили примерное понимание будущей системы. Исходя из этого, написали техническое задание будущей системы, где зафиксировали все особенности ERP, с точностью до полей моделей данных.
2. Реализовали кастомный модуль склад
Так как учет автомобилей не совсем попадает под обычное понимание слова «Склад» - в Odoo нет модуля, который бы закрыл учет автомобилей или сделал это адекватно. Поэтому мы разработали уникальное решение, которое полностью удовлетворяло требованиям заказчика.
В нем были учтены не только базовые требования, но и "фичи": например, если клиент по какой либо причине отказался от автомобиля, но он уже был доставлен в город назначения, то автомобиль автоматически встает на баланс предприятия, а не клиента.
3. Сделали свою CRM
Изначально, до обращения к нам, заказчик пользовался Битрикс24 - CRM системой, которая сильно отличается от той CRM, которая есть в Odoo, но ни возможностей Битрикс24, ни Odoo CRM, которая идет из коробки - не хватало. Поэтому мы добавили те функции, которых не хватало в обоих системах.
Теперь у заказчика есть возможность учитывать поступления и расходы для каждой сделки, и делать это удобно - намного удобнее чем в сухой бухгалтерской системе - вся работа выполняется в режиме одного окна и в контексте сделки.
4. Разработали веб-приложение - конструктор калькуляторов
Так как требования законодательства, расчет пошлин и множества других сборов меняются регулярно, очень важно успевать следить за этими требованиями и вовремя реагировать на изменения. Конечно, есть облачные решения для создания "динамических" калькуляторов, но ни одно из них не удовлетворяло требованиям полностью, поэтому мы разработали уникальное веб-приложения для заказчика - конструктор калькуляторов.
Требования были просты: создавать неограниченное количество калькуляторов, добавлять поля, константы и вычисляемые поля. Также необходимо иметь возможность изменять формулы расчета вычисляемых полей, добавлять блоки условий "И/ИЛИ" и изменять оформления результатов вычислений.
Для этого приложения был выбран стек, которым мы хорошо владеем: Django для бэкенда, и Vue 3 для фронтенд части. Развернуто все в docker контейнерах. В качестве базы данных традиционно используем PostgreSQL.
Благодаря конструктору калькуляторов мы были готовы к изменению утиль-сбора - после начала действия нового размера сбора, формулы были моментально изменены. В будущем, если какие-то параметры нужно изменить - сделать это можно без участия программиста.
5. Прочие процессы
Конечно, было сделано много чего еще, например:
При выборе роли для пользователя, система автоматически назначает ему Odoo-специфичные права доступа, чтобы не нарушать штатный механизм разрешений
Например, за 14 дней до даты передачи автомобиля клиенту, менеджер получает соответствующее напоминание в личные сообщения Odoo
Клиенту не нравились фильтры, которые можно реализовать в Odoo через внутреннее API, поэтому мы сделали для него кастомный компонент фильтров
Каждое действие в системе записывается, начиная от просмотра карточек, заканчивая изменением полей в сущностях
Так как это меньшая часть проекта, и в том или ином виде это встречается практически в каждом внедрении, упомянем это лишь в качестве общей информации.