Compass

Compass runs a network of fuel stations in Kazakhstan with a sprawling supplier ecosystem around it — stores, express markets, cafés, services. Onboarding new suppliers used to live in a chain of spreadsheets, WhatsApp messages and price lists scattered across personal chats. We replaced the chain with a WhatsApp agent. A supplier scans a QR code at any Compass site, lands in chat, and a structured intake walks them through everything Compass needs — company details, contacts, category, files. The output is a clean Bitrix24 card, not another forwarded message.

WhatsApp primary channel via QR codes on stations
Bitrix24 every supplier ends up as a CRM card
RU · KZ bilingual intake, language auto-detected
Compass supplier filling out an intake conversation on WhatsApp
Supplier card automatically created inside Bitrix24
Problem

Suppliers came in through every door at once.

Compass talks to a large number of suppliers across many product and service categories, and every application arrived in its own shape: a phone call, a WhatsApp file, a forwarded message, an email. Nothing was structured, half the data was missing, and finding "all stationery suppliers in Almaty" was a manual job.

The team needed a single intake door that any supplier could find — and a CRM card on the other end with the fields actually filled in.

  • Applications arrived through scattered channels with no shared structure.
  • Company details, BIN/IIN, category and files were collected by hand.
  • No centralised supplier database, so the procurement team rebuilt context every time.
  • Scaling supplier onboarding meant scaling manual work.
Scattered supplier intake before Compass agent
Solution

One QR code, one chat, one clean record in Bitrix24.

Every Compass site carries a QR code with a city or location identifier baked in. A supplier scans it, opens WhatsApp, and the agent already knows which region the application is coming from — no need to ask. Then a structured intake walks them through the rest.

The agent categorises the supplier on the fly, validates IIN/BIN, accepts price lists in PDF, Word, Excel or photo, and writes everything into a Bitrix24 card. The procurement team works from CRM, not from chat history.

Flow from QR scan to Bitrix24 supplier card

Start from a QR scan

Each QR carries the city or specific station ID, so the intake already knows where the supplier is coming from. If something's missing, the agent asks.

Collect the basics in one pass

Company name, full name, IIN/BIN, contact person, phone, WhatsApp number, company address, country of manufacture — same shape every time.

Categorise the supplier on the fly

Construction materials, FMCG, food, beverages, household goods, station maintenance, services — the agent picks the category and a sub-category from the conversation.

Accept the files suppliers actually send

PDFs, Word, Excel, photos and price lists are stored and linked into the supplier card alongside the structured fields.

Land in Bitrix24

Each intake creates a supplier card in Bitrix24 with date, city, company, IIN/BIN, contacts, category, sub-category, file links and notes.

Technical work

A bilingual WhatsApp agent wired straight into Bitrix24.

The agent is a Python backend talking to suppliers over the WhatsApp Business API via Whapi. Language is detected automatically — the intake runs in Russian or Kazakh — and the conversation state is driven from our side rather than from a no-code builder.

Validation, categorisation and file handling all happen before anything reaches Bitrix24, so the CRM card lands populated, not as a stub for someone to fill later. QR routing is done via per-station identifiers, which let the architecture scale without changing intake logic.

WhatsApp Business API via Whapi for the participant-facing channel.
IIN/BIN validation against existing entities (sole proprietor / LLP).
File ingest for PDF, Word, Excel and photo price lists, with links saved to the supplier card.
Bitrix24 API integration — every conversation ends as a structured supplier card.
QR-based routing with city or location identifiers for scalable onboarding.
Bilingual conversation flow (RU / KZ) with automatic language detection.
Python backendWhatsApp Business APIWhapiBitrix24 APIQR-based routingMultilingual LLM

What changed

Supplier intake stops living in WhatsApp chats

Every application lands as a structured Bitrix24 card with the same fields filled in. Procurement works from CRM, not from screenshots.

Procurement opens with context, not from zero

Company details, category, sub-category and files are already on the card by the time anyone in procurement reads it.

The pipeline scales with stations, not with people

Adding a new site means adding a QR code — the rest of the intake is the same agent running on the same backend.

Tell us what you're building.

Start with a few details

We reply within one business day. Then Azamat joins every first call personally, so you get an honest scope, budget, and fit from the person responsible for delivery.

Brief (optional)