Telegram Bot for Supplier Price Monitoring: Automated Notifications

Every day, procurement departments handle dozens of price lists and hundreds of line items. A key component's price rises by 12% — and you find out a week later, when the supplier has already issued a new invoice. A Telegram bot for price monitoring solves this: it polls supplier APIs, parses CSV/XL

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • B2B ADVANCE company website development
    B2B ADVANCE company website development
    1467
  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1320
  • Website development for BELFINGROUP
    Website development for BELFINGROUP
    1016
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1276
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1019
  • Website development for FIXPER company
    Website development for FIXPER company
    1019

Every day, procurement departments handle dozens of price lists and hundreds of line items. A key component's price rises by 12% — and you find out a week later, when the supplier has already issued a new invoice. A Telegram bot for price monitoring solves this: it polls supplier APIs, parses CSV/XLSX, or loads price lists via FTP on a schedule. When a significant deviation is detected (e.g., growth over 5%), it instantly sends a notification to a channel. The bot checks up to 1000 SKUs in 2 seconds, and a buyer spends just 10 minutes on setup.

The bot is built on Laravel 11 with Redis queues for async processing. Each supplier is handled in a separate job, allowing scaling to hundreds of suppliers on a single server. We have developed over 30 such bots for retail and manufacturing. With more than 5 years in the market and over 50 procurement automation projects, we deliver stable operation under loads of up to 1000 checks per minute, confirmed by monitoring. We guarantee you won't miss a single price change.

Get a consultation from a procurement automation engineer — we will analyze your suppliers and propose the optimal solution within one day.

How exactly does the bot track changes?

The bot runs on a schedule. Each execution iterates over all active suppliers. For each SKU, it compares the latest price with the previous one. If the deviation exceeds the configured threshold (default 5%), it generates a message with an emoji indicator and the exact difference.

The check code remains flexible:

class SupplierPriceMonitor { public function checkChanges(Supplier $supplier): void { $newPrices = $this->fetchPrices($supplier); foreach ($newPrices as $sku => $newPrice) { $oldPrice = SupplierPrice::where([ 'supplier_id' => $supplier->id, 'sku' => $sku, ])->value('price'); if ($oldPrice === null) continue; // new item — no notification $changePercent = abs($newPrice - $oldPrice) / $oldPrice * 100; if ($changePercent >= config('suppliers.notify_threshold_percent', 5)) { $this->notify($supplier, $sku, $oldPrice, $newPrice, $changePercent); } SupplierPrice::updateOrCreate( ['supplier_id' => $supplier->id, 'sku' => $sku], ['price' => $newPrice, 'checked_at' => now()] ); } } private function notify(Supplier $supplier, string $sku, float $old, float $new, float $pct): void { $arrow = $new > $old ? '📈' : '📉'; $direction = $new > $old ? 'increased' : 'decreased'; $message = "{$arrow} <b>Price {$direction}</b>\n\n" . "Supplier: {$supplier->name}\n" . "SKU: <code>{$sku}</code>\n" . "Was: " . number_format($old, 2) . " $\n" . "Now: " . number_format($new, 2) . " $\n" . "Change: <b>" . round($pct, 1) . "%</b>"; $this->telegram->sendToChannel(config('telegram.pricing_channel'), $message); } } 

The threshold is adjustable per supplier: 2% for key items, 10% for secondary ones. You can also batch notifications (e.g., once per hour) and filter by supplier.

Why Telegram instead of email or SMS?

Telegram delivers instant notifications with formatting (bold, code, emojis) — more convenient than email, which often lands in spam. SMS is expensive and length-limited. The bot integrates easily via Telegram Bot API. For price alerts, Telegram is the optimal channel.

What data sources are supported?

Source type Examples Formats Integration complexity
Supplier API JSON REST, SOAP JSON, XML Medium (requires documentation)
HTML parsing Websites with price lists HTML High (volatile structure)
File upload FTP, SFTP, email CSV, XLSX, XML, YML Low
Manual input Bot admin panel None (manual addition)

The bot can handle any vendor format — just send a sample file. It can also track not only prices but also stock levels and delivery dates, if available in the source.

Setting the notification threshold

The threshold is configured in config/suppliers.php. For each supplier, set the threshold_percent parameter. After changing the config, restart the bot with php artisan bot:restart. Example configuration for one supplier:

{ "supplier": "Supplier A", "url": "https://api.supplier-a.com/prices", "format": "json", "threshold": 5, "check_interval": 60 } 

What's included in the work

Component Description
Data sources Integration with supplier APIs, CSV/XLSX parsing, FTP upload
Comparison logic Customizable threshold, skip new SKUs, batch notifications
Bot interface Commands /prices, /history, unsubscribe from supplier
DevOps Docker container, Grafana monitoring, database backups
Documentation Installation guide, config description, data schema
Training Video guide for buyers, access handover
Support 1-month warranty, then maintenance contract

Manual monitoring vs bot

Manual monitoring of 5000 items takes 3 hours; the bot does it in 2 seconds — 360 times faster. A manual entry error costs on average $450–650. The bot eliminates human error, saving up to $1.4k–1.9k per month in labor and mistake costs.

Implementation timeline

Development takes 2 to 5 business days depending on the number of sources. The cost is calculated individually based on your scenario.

Development process by stages

Stage Duration Outcome
Analysis 0.5 day List of sources, formats, criteria
Design 0.5 day DB schema, configs, architecture
Implementation 1–3 days Working bot with parsing and notifications
Testing 0.5 day Unit tests, integration tests
Deployment 0.5 day Server setup, monitoring configuration

Submit a request — we will analyze your suppliers and propose a solution within one day. Get a consultation from a procurement automation engineer.