1C UNF + Telegram bot for foremen: 6-8 calls/day → 0.4
Construction company (commercial fit-out, 14 simultaneous sites). Foremen called the office 6-8 times a day: "when's the tile arriving," "has the subcontractor been paid," "what's left in the budget." The manager was drowning. Solved via a Telegram bot, access to 1C UNF — right from the site.
14 sites in parallel — and one office phone
The company does commercial fit-outs — restaurants, showrooms, small offices. They run 14 sites in parallel, each with a foreman + 2-4 crews of different specialties (electrical, finishing, plumbing). Accounting — 1C UNF on-prem, materials go from warehouse to sites, payments to subcontractors are on a shift schedule.
Every foreman is a 40+ year-old man used to working with his hands. On site he has a phone in his pocket, a hammer drill in his hands. Giving him 1C access via laptop is unrealistic. So foremen did the only possible thing — called the office 6-8 times a day: "when's the tile coming?", "has Vasya the contractor been paid?", "how much is left in the budget for this site?".
The office manager spent 4-5 hours of pure phone time daily. Between calls — attempts to do her own work. In parallel, incoming materials sometimes landed in the warehouse with a 1-3 day delay ("I'll log it later") — so other foremen didn't see actual stock and called again.
Telegram bot → 1C UNF via HTTP services and WireGuard
The foreman opens the bot, gets in three taps what previously required a call. Telegram bot on aiogram 3, phone-number whitelist auth, Node.js/Express middleware, calls 1C UNF via its own HTTP services. Security — WireGuard tunnel between Selectel VPS and on-prem 1C server.
Foreman sends a command / taps an inline button. aiogram 3, FSM state machine per section.
Phone-number whitelist. Linked to employee record in 1C. No password.
Node.js / Express on Selectel. 5-minute cache for frequent queries, queue, retries.
Encrypted tunnel Selectel ↔ on-prem 1C. Closed internal endpoint.
HTTP services publish REST. Stock queries, movements, postings, material posting with photo.
UX for gloves and one hand
The main user is a foreman with a hammer drill. So the interface — not text, but inline buttons, max 2 taps to result. Main menu: "My sites" → choose site → "Orders / Payments / Budget / Confirm receipt". No free keyboard input in 95% of scenarios.
Material receipt confirmation via photo
When the truck arrives at the site, the foreman photos the invoice and taps "Confirm receipt" on the order card. The bot accepts the photo, stores it in MinIO linked to the 1C document, posts the material movement to the site in UNF. Previously 1-3 days — now 4 minutes on average (tap + ETA).
Push on important events
The foreman doesn't open the bot to find out — the bot sends. "Tile truck departed warehouse, ETA 14:30". "Subcontractor Ivanov paid, the act can be signed". "Site Z budget overrun, +3% over plan". Triggers — events in 1C UNF + scheduled jobs.
Security: WireGuard and whitelist
1C UNF stays on-prem — nobody exposes it to the public internet. The WireGuard tunnel between Selectel VPS and the 1C server provides encryption. Phone-number whitelist — only employees explicitly added to the 1C record see their sites. RBAC at middleware level additionally filters so a foreman can't view someone else's site.
Stack intentionally not SaaS — data stays in
Single source of truth: sites, budgets, materials, contractors, payments
REST endpoint publication inside 1C — no third-party connectors
Python Telegram bot framework: FSM, inline buttons, callback queries
Middleware: auth, cache, queue, retries, RBAC, 1C proxy
Encrypted VPN tunnel between Selectel VPS and on-prem 1C — no public 1C
Bot and middleware hosting, entirely in RF perimeter
S3-compatible storage for invoice photos and signed acts
Channel for message delivery and push notifications to foremen
What changed in 3 months
only non-standard situations, not routine
~4-5 hrs/day = ₽48k/mo savings
bot tap + auto-posting from photo invoice
Secondary win that turned out more important than the stated KPI — foremen became more accountable for their own budgets. Previously, "remaining budget" was an abstract number to be communicated by the office manager; now it's a number on screen, updated in real time. Overruns are stopped at decision time, not post factum.
ROI: ₽480k one-time + ₽12k/mo maintenance. With ₽48k/mo savings — payback ~ 10 months. Not counted: non-obvious wins like reduced budget overruns, faster material turnover, and the ability to take on +2 parallel sites with the same staff.
Where the same pattern applies
Universal pattern — "a frontline employee without ERP access who has to call for every number". Telegram becomes the transport for micro-operations on accounting, without a full 1C client:
- → Logistics and delivery — driver sends "cargo received", "shipped", "where's the truck" via bot
- → Manufacturing — shop floor manager checks shift plan, marks completion, records defects with photo
- → Service / cleaning — technician on site marks completed work and parts movement
- → Sales reps — order via bot directly into 1C, no more "I'll WhatsApp the manager"
- → Retail — cashier-salesperson sees stock, orders to store, no call to merchandisers
- → Field employees in any company where 1C is on-prem and there's no public API exposed
- aiogram 3 + Express + 1C HTTP services template — starting point for any 1C integration
- WireGuard scheme on-prem ↔ VPS — no exposure of 1C, L3 encryption
- Phone-number whitelist — auth for people who don't remember passwords
- Photo document → 1C posting — pattern for fast registry accounting in the field
If you have 1C on-prem and people aren't in the office — this is solved in 7 weeks
A Telegram bot as a thin client for 1C — a cheap and fast alternative to a "big mobile app". From ₽480k one-time + ₽12k/mo maintenance. Suitable for Trade Management, UNF, ERP, KA — anywhere with HTTP services or where they can be published.
Аудит за 5 000 ₽ — с конкретным отчётом и сметой
Расскажу что внедрить в вашем бизнесе в первую очередь, какая будет окупаемость, и нужен ли вообще AI для вашей задачи (иногда — нет).
Или просто напишите свой вопрос — отвечу в течение 2 часов