Экспертный блог 4 мин чтения

Юань упал на 2%, и бот уже пишет: пора оплачивать поставку

OpenStock, открытый аналог платных биржевых терминалов, набрал больше 19 тысяч звёзд на GitHub, но сделан под акции и связан лицензиями AGPL и Finnhub. Разбираю, как собрать такой же терминал для закупщика: бот следит за курсом юаня по ЦБ, ценами поставщиков и конкурентов на WB и Ozon и пишет в Telegram или MAX, когда пора оплачивать поставку.

импорт из Китаякурс юаняботы1С
Коротко. OpenStock, бесплатный открытый аналог платных биржевых терминалов, набрал на GitHub больше 19 тысяч звёзд. Он показывает котировки, графики и данные о компаниях, но сделан под акции, работает на данных Finnhub для личного использования и распространяется по лицензии AGPL. Импортёру и селлеру из него полезна сама идея: свой терминал, который следит за курсом юаня, ценами поставщиков и конкурентов и пишет в Telegram или MAX, когда цифра пересекла ваш уровень. Такой бот собирается на официальном курсе ЦБ и данных маркетплейсов и связывается с 1С.

Юань упал на 2%, и бот уже пишет

Утром в Telegram приходит сообщение: «Юань ниже 12,30, вы ставили этот порог. Партия №14 на 400 000 юаней сейчас стоит 4,92 млн рублей, неделю назад было 5,02 млн». Закупщик открывает дашборд, смотрит пересчитанную себестоимость и идёт к директору согласовывать оплату. Никто не сидел весь день с открытым сайтом биржи.

Два процента на такой поставке дают около 100 000 рублей. Импортёры авто и товаров из Китая ловят эти движения вручную, обновляя страницу с курсом. Проект OpenStock показал, что подобный терминал можно собрать из открытого кода без платной подписки.

Что такое OpenStock

OpenStock создатели называют открытой альтернативой дорогим рыночным платформам. В нём есть поиск по тикерам, личный список отслеживаемых бумаг, карточки компаний с графиками TradingView, тепловая карта рынка и письма с еженедельной сводкой новостей. Собран на Next.js, React, Tailwind и shadcn/ui, база MongoDB, рассылки через Inngest. Данные о компаниях и новости идут из Finnhub API. По данным README, зарегистрировано больше 13 000 человек.

Персональные ценовые оповещения в открытой версии пока не работают. В README они обещаны в платном OpenStock Cloud за 5 долларов в месяц, который помечен как «скоро». Там же сказано, что котировки могут приходить с задержкой по правилам поставщика данных, а для бирж за пределами США на бесплатном тарифе задержка от 15 минут.

Лицензии, из-за которых его нельзя просто взять

OpenStock распространяется по AGPL-3.0. Если вы доработаете код и откроете к нему доступ людям через интернет, исходники доработок придётся отдать им под той же лицензией. Для внутреннего инструмента это терпимо, продавать такой продукт как закрытый сервис уже нельзя.

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

И главное для российской компании: OpenStock про американские акции. Курса юаня по ЦБ, цен на Wildberries и остатков в 1С в нём нет.

Терминал закупщика: откуда брать цифры

Официальный курс ЦБ. У Банка России есть открытые XML-сервисы: курсы валют на дату, динамика за период, учётные цены металлов. Регистрация и ключ не нужны. Курс ЦБ устанавливается раз в рабочий день, для пересчёта себестоимости, таможни и учёта в 1С обычно берут именно его.

Биржевой курс. Московская биржа отдаёт котировки через ISS API: без подписки с задержкой, в реальном времени по подписке. Есть оговорка. По правилам биржи информация из ISS доступна только для ознакомления, любое другое использование возможно по договору с биржей. Поэтому бот на биржевом курсе для компании делаем по договору или через данные вашего банка, где вы покупаете валюту.

Цены и остатки. Цены конкурентов на WB и Ozon, ваши остатки на складах маркетплейсов, прайсы поставщиков, цены на металл и топливо из открытых сводок. Как устроен сбор цен с маркетплейсов, я подробно разбирал в статье про парсер цен и остатков WB и Ozon.

Чего такой бот не делает

Оповещение сообщает факт: курс пересёк 12,30. Куда курс пойдёт завтра, бот не знает и не угадывает. Прогнозов и советов, когда покупать валюту, в нём нет, решение об оплате принимает человек.

Данные приходят с задержкой. Курс ЦБ меняется раз в день, бесплатные биржевые данные отстают, цены на маркетплейсах собираются по расписанию. Банк при оплате поставщику даёт свой курс со спредом, и он отличается от цифры в сообщении.

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

Что можно собрать уже сейчас

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

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

Селлер на WB и Ozon. Оповещения, когда конкурент опустил цену ниже вашей, когда остатка на складе маркетплейса хватит меньше чем на 10 дней и когда курс делает следующую закупку дороже. Автоматическая смена цен уже работает в репрайсере для WB и Ozon.

Производство и стройка. Цены на металл, топливо и сырьё у 3–5 поставщиков в одной таблице и сообщение, когда цена ушла за коридор. Сверху дашборд с юнит-экономикой, как в услуге бизнес-аналитики и юнит-экономики.

Обычный комплект такой: дашборд, бот в Telegram или MAX и обмен с 1С, чтобы себестоимость партий пересчитывалась по текущему курсу без ручной выгрузки. Ориентиры по стоимости есть на странице с ценами.

Частые вопросы

Можно ли взять OpenStock и переделать под юань?

Технически да, код открыт. Но придётся заменить источник данных, дописать оповещения, которых в открытой версии пока нет, и соблюдать AGPL. Под курс, маркетплейсы и 1С проще собрать бота с нуля.

Какой курс брать, ЦБ или биржевой?

Для учёта, таможни и пересчёта себестоимости обычно официальный курс ЦБ. Биржевой ближе к тому, что даст банк при покупке валюты, но для бизнеса его нужно брать по договору или у банка. Часто в боте показываем оба.

Бот сам оплатит поставку?

Нет. Бот присылает сообщение с цифрами и пересчётом, платёж проводит человек в банке.

Коротко о главном

OpenStock показал, что свой терминал с котировками собирается из открытого кода, хотя лицензия AGPL, личный тариф Finnhub и отсутствие оповещений мешают взять его как есть. Закупщику нужен тот же принцип на других данных: курс ЦБ, цены поставщиков и конкурентов, остатки и 1С.

Возите товар из Китая, торгуете оптом или на маркетплейсах и хотите узнавать о движении курса из сообщения, без ручных обновлений страницы? Напишите мне в Telegram слово «КУРС». Разберём, за какими цифрами следить и какие пороги поставить.

Услуги по теме

Что я делаю для бизнеса

  • Боты в Telegram, MAX, VK
  • Автоматизация процессов и CRM
  • Аналитика и дашборды
  • Сайты и лендинги под ключ

Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»

12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.

Готовы обсудить вашу задачу?

Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.

Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 451 готовых IT-решений для бизнеса451 ready-made IT solutions for business451 soluciones IT listas para empresas451 个面向企业的现成 IT 解决方案Бизнест зориулсан 451 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх