HamatsantsAvto

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

Период
2022 — 2025
Статус
Завершён
Моя роль
Единственный разработчик: расчёт растаможки, бот, админ-панель и интеграция с Google-таблицами. Компания описала ручной процесс и передала используемые формулы.
Баннер HamatsantsAvto: расчёт растаможки при ввозе машины из Армении в Россию

Стек

  • Python
  • aiogram
  • Google Sheets API
  • SQLite

Задача

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

Решение

Бот ведёт клиента по параметрам автомобиля пошагово и выдаёт готовую разбивку сделки. Исходные данные он берёт из Google-таблицы, которую сотрудники компании обновляли по мере изменения исходных таможенных данных. У сделок есть история с начисленными бонусами, у сотрудников — админ-панель, а вводимые данные проходят валидацию.

Ключевые технические решения

  • Исходные данные лежат в Google-таблице и читаются через официальный API. Ставки и список автомобилей сотрудники компании обновляли сами по мере изменения исходных таможенных данных, поэтому изменение правил не требовало участия разработчика.
  • Доступ через whitelist Telegram ID с ролями и заявками: клиентам компании бесплатно, сторонним пользователям платно.

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

Меню выбора автомобиля

Из Google-таблицы бот берёт список доступных автомобилей и ставки растаможки и формирует меню, где можно выбрать параметры машины и сразу увидеть итоговую стоимость.

Меню выбора автомобиля
От главного меню до параметров автомобиля: марка, модель, комплектация и объём двигателя выбираются с постраничной клавиатуры, отсутствующий в списке объём вводится вручную, а «Главное меню» доступно на любом шаге.

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

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

Стоимость растаможки

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

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

История

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

История
История расчётов постранично: у каждой записи машина, год, VIN и начисленный бонус.

Админ-панель

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

Админ-панель
Панель сотрудника: добавить или удалить сделку, посмотреть список пользователей.

Контроль доступа

Для клиентов компании бот был бесплатным. Перекупы и представители других компаний покупали доступ за $100 в месяц.

Доступ устроен по whitelist Telegram ID с ролями и заявками. Когда ботом пытается воспользоваться новый человек, сотрудник с нужной ролью получает уведомление и может выдать доступ кнопкой прямо из него. Выданный доступ можно отозвать.

Валидация

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

Валидация
Проверка VIN: бот предупреждает, что машина с таким VIN уже заведена. Владельца сделки и её подробности видят только сотрудники с нужными правами.

Результаты

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