HamatsantsAvto
Telegram-бот для расчёта растаможки авто из Армении в Россию: ставки из Google Sheets, история сделок, админ-панель и платный доступ для сторонних компаний.

Стек
- Python
- aiogram
- Google Sheets API
- SQLite
Задача
Стоимость ввоза менеджеры считали вручную: брали публикуемые таможенные данные и таблицы, сверялись с другими исходными данными, сводили расчёт и сообщали результат клиенту лично, по телефону или в переписке. Считать приходилось не только растаможку: в сумму входили доставка, комиссии, услуги компании и курсы валют, так что каждая заявка собиралась заново.
Решение
Бот ведёт клиента по параметрам автомобиля пошагово и выдаёт готовую разбивку сделки. Исходные данные он берёт из Google-таблицы, которую сотрудники компании обновляли по мере изменения исходных таможенных данных. У сделок есть история с начисленными бонусами, у сотрудников — админ-панель, а вводимые данные проходят валидацию.
Ключевые технические решения
- Исходные данные лежат в Google-таблице и читаются через официальный API. Ставки и список автомобилей сотрудники компании обновляли сами по мере изменения исходных таможенных данных, поэтому изменение правил не требовало участия разработчика.
- Доступ через whitelist Telegram ID с ролями и заявками: клиентам компании бесплатно, сторонним пользователям платно.
Telegram-бот рассчитывает стоимость растаможки автомобиля, ввозимого из Армении в Россию, и помогает компании вести сделки с клиентами. Он получает актуальные данные из Google-таблиц, пошагово ведёт пользователя по выбору параметров автомобиля и показывает разбивку по сделке: цену в Армении, сумму для инвойса, стоимость растаможки и услуг компании. Также в проекте есть история растаможенных автомобилей с бонусами для клиентов, админ-панель и валидация вводимых данных.
Меню выбора автомобиля
Из Google-таблицы бот берёт список доступных автомобилей и ставки растаможки и формирует меню, где можно выбрать параметры машины и сразу увидеть итоговую стоимость.

Меню построено на машине состояний (FSMContext): взаимодействие идёт пошагово, между страницами клавиатуры легко переключаться, а незавершённые сценарии не накапливаются. После 30 минут бездействия незавершённая анкета очищается, временное состояние сбрасывается, и пользователь возвращается в меню.

Стоимость растаможки
После выбора всех обязательных параметров бот выполняет расчёты и показывает результат в понятном виде: цену автомобиля в Армении, цену для инвойса, стоимость растаможки и стоимость услуг компании.

История
В разделе истории видны все растаможенные автомобили пользователя с краткой информацией по каждому и числом начисленных бонусов за сделку. Бонусы начисляются в долларовом эквиваленте после того, как сотрудник подтвердит сделку, и сгорают через два месяца. Потратить их можно как скидку на следующую сделку, не больше $1000 за раз; списание тоже проходит через подтверждение сотрудника. Когда сделок много, история разбивается на страницы (для примера показано по две записи на странице).

Админ-панель
В боте есть админ-панель. Администратор может вручную добавить или удалить сделку и посмотреть список пользователей с историей. Здесь тоже работает машина состояний. Данные вводятся поэтапно, а длинные списки подсказок разбиваются на страницы клавиатуры.

Контроль доступа
Для клиентов компании бот был бесплатным. Перекупы и представители других компаний покупали доступ за $100 в месяц.
Доступ устроен по whitelist Telegram ID с ролями и заявками. Когда ботом пытается воспользоваться новый человек, сотрудник с нужной ролью получает уведомление и может выдать доступ кнопкой прямо из него. Выданный доступ можно отозвать.
Валидация
Данные, которые вводит пользователь, проходят валидацию перед подтверждением: нельзя указать несуществующий автомобиль, модель, комплектацию или объём двигателя. Также проверяются сделки, добавленные администратором вручную. Например, если в истории уже есть автомобиль с таким VIN, повторно добавить его не получится.

Результаты
- Ручной расчёт перестал быть обязательной частью процесса: клиенты могли самостоятельно рассчитать стоимость в боте, а сотрудники — вводить параметры во время разговора и сразу сообщать готовый результат.
- Бот оказался востребован и за пределами клиентской базы компании: перекупы и представители других компаний покупали доступ за $100 в месяц.
- Проект использовался несколько лет и был завершён не из-за технических ограничений: после изменения условий ввоза автомобилей через Армению это направление перестало быть экономически выгодным для компании.