What the bot sends
On a schedule, even when nothing happened:
- Daily digest — in the morning, for yesterday: orders, revenue, profit, cancellations and what moved on your balance.
- Hourly digest — for the hour that has just closed, plus the day so far.
When there is something to report:
- A new return, or a change in its status — a return appeared or moved to another state.
- An invoice discrepancy — what was shipped and what was accepted do not match.
- The Uzum API key stopped working — syncing is stopped until the key is replaced.
- The subscription is ending or has ended — a week before it ends, and on the day it does.
Shop notifications go to everyone with access to that shop, not just the owner. Besides personal chats, they can be routed to a shared group — then the whole team sees a return or a discrepancy, including people with no MyProfit account.
Digests and messages about returns and discrepancies arrive while the subscription is active: once it ends they pause until you renew — in personal chats and in shop groups alike. Messages about the Uzum API key and about the subscription itself always arrive — the key message lets you restore syncing even when the other sections are closed.
How to connect a personal chat
The MyProfit interface on this card is in Russian, so the on-screen labels are quoted here as they appear.
- Open Настройки (Settings) and the Telegram card.
- Click «Подключить Telegram» (“Connect Telegram”).
- Telegram opens on the bot’s chat. If you see a start button, tap it.
The bot replies «✅ Теперь вы будете получать уведомления в этот чат» (“You will now receive notifications in this chat”) and the chat appears on the card — no need to reload the page. The bot writes in Russian for now, whichever language you use MyProfit in.
You do not need to copy or send anything: the link already carries everything. It lasts 15 minutes and works once, and each new tap of the button cancels the previous one.
Shop chat
A shop’s notifications can be routed to a Telegram group — a warehouse work chat, for example.
Only the person who connected that shop’s Uzum key can add such a chat. If the button is inactive, the reason is written right under it: «Чат магазина может добавить тот, кто подключил ключ Uzum этого магазина» (“A shop chat can be added by whoever connected this shop’s Uzum key”).
- On the Telegram card, click «Добавить чат магазина» (“Add a shop chat”).
- In the «Чат магазина» (“Shop chat”) dialog, tick the shops — several at once, or «Выбрать все» (“Select all”) — and leave the notification boxes this group needs.
- Click «Выбрать группу в Telegram» (“Choose a group in Telegram”). Telegram asks which group to add the bot to. Any group you can add members to will do.
The bot replies in the group and names the shops it covers. One trip through Telegram connects every ticked shop at once — you do not repeat it per shop.
Adding a shop to a group that is already connected
Once a group is connected you never go back to Telegram. On the Telegram card every group has a «Магазины этого чата» (“Shops in this chat”) field: tick a new shop and it is added, untick it and the messages stop. There is a «Выбрать все» (“Select all”) too.
Shops whose Uzum key someone else connected are visible in that field as well — so it is clear what the group covers — but you cannot change them.
What matters about these chats:
- The bot needs no admin rights: it does not read ordinary messages in the group.
- A group adds to personal chats rather than replacing them: if you are in the group and have a personal chat connected, you get two messages — untick what you do not need in the personal chat.
- One shop may have several groups — a warehouse and managers, say.
- And the other way round: one group may cover several shops.
- A group receives the working notifications for its shops: returns, invoice discrepancies and digests. Which of them exactly is decided by the checkboxes, which a new group already has set.
- A group gets messages in the language of whoever connected it.
Digests
A digest is a scheduled report, not a message about an event. It arrives even if nothing happened during the period, and it covers all the shops in that chat at once: one message, not one per shop.
The daily digest
It arrives in the morning at the hour you choose, and it is about yesterday:
📊 MyProfit — отчёт за 10 августа 2026
Магазины: Your shop
📦 Принято: 12 заказа(ов).
🛍 Кол-во товаров: 12.
🏦 Выручка: 4 320 000 сум
💰 Начислено прибыли: 2 634 750 сум
💵 Чистая прибыль: 634 750 сум
📤 Выдано: 9 заказа(ов).
🏦 Выручка: 3 240 000 сум
💰 Начислено прибыли: 1 976 000 сум
💵 Чистая прибыль: 476 000 сум
❌ Отменено: 3 заказа(ов).
🚫 Сумма: 1 080 000 сум
📍 Отменены в пункте выдачи: 1
🤷 Отменены по другим причинам: 2
Line by line: «Принято» is orders placed during the day, «Кол-во товаров» the number of items, «Выручка» revenue, «Начислено прибыли» the profit accrued on those orders, «Чистая прибыль» that figure minus the cost of goods. «Выдано» is the orders that reached the customer that day — a different set of orders, which is why the two blocks do not add up, and that is correct.
Cancellations are split by whether the customer had seen the item: «Отменены в пункте выдачи» (“cancelled at the pickup point”) covers refusals after inspection — size, defect, quality, wrong item, contents, photo — and «Отменены по другим причинам» (“cancelled for other reasons”) is everything else, including cancelling before collection.
If nothing happened yesterday the digest still arrives: “yesterday was zero” is information too.
«Чистая прибыль» in the digest is not the one in «Финансы»
The digest’s «Чистая прибыль» is not calculated the way the «Финансы» (Finance) section calculates it. The bot takes the profit accrued on orders and subtracts the cost of goods — and stops there. Your own expenses — rent, salaries, taxes, advertising you entered yourself — are not in it. The digest figure is therefore legitimately larger than the one in profit: what the business earned.
There is a second reason they diverge. Until an invoice for the goods is loaded, the cost is taken from the nearest source that knows it — your own price, your warehouse stock (FIFO), or an earlier invoice. When invoices arrive, the figure for a day already sent is recalculated: yesterday’s digest and Profitability a week later may not agree. A digest is a quick morning bearing, not a financial statement.
The «Себестоимость известна для N% выручки» line
Sometimes a line like this appears under «Чистая прибыль»:
💵 Чистая прибыль: 8 102 447 сум
ℹ️ Себестоимость известна для 97% выручки
The line arrives in Russian: the bot currently writes only in Russian and Uzbek (Latin).
It means that for some of yesterday’s items the cost of goods is not known at all — no price of your own, no warehouse stock, no invoice. Those items are left out of the cost calculation, so the profit reported for them is overstated: their revenue is counted while their cost is not.
The percentage is measured against revenue, not against the number of items: one expensive phone with no cost distorts the figure far more than a dozen cheap cases. The lower the percentage, the more cautiously you should read that digest’s «Чистая прибыль».
The line appears only when something is missing. If it is absent, the cost of goods is known across the whole period’s revenue and the profit is complete.
To make it go away, fill in the cost for the items that lack one: upload an invoice, receive the goods into a warehouse, or enter the price by hand on the Unit economics page.
If you have been using digests since September 2026. Before 18 September 2026 items with no cost of goods were treated as though they had been free — «Чистая прибыль» in the digests and in the reports for those days was overstated, sometimes several times over. Such items are now excluded from the calculation, and the line above shows what share of revenue that affected. Figures for past days are recalculated in the reports.
What moved on the balance
Below the trading figures comes the «Движение по балансу» (“Balance movement”) block. This one is not about yesterday: it shows what happened to the money.
🏛 Движение по балансу (выплаты — за продажи прошлых месяцев):
🏧 Выплачено: 396 000 сум за 4 заказа(ов).
🧾 Списано: 5 780 457 сум
📣 Маркетинг: 4 213 293 сум
🚚 Логистика: 1 557 000 сум
🏬 Склад: 10 164 сум
↩️ Возвращено: 57 750 сум
- «Выплачено» (“paid out”) — how much Uzum transferred to your account. That money belongs to sales from roughly two to eight months ago, not to yesterday’s: a payout arrives about two months after the sale. So this line is almost always smaller than «Начислено прибыли» higher up the message — two different periods, not money lost.
- «Списано» (“charged”) — deductions broken out by group: Логистика (logistics), Маркетинг (marketing), Склад (storage), Штрафы (fines), Прочее (other). Логистика is visible only here: everywhere else in MyProfit it has already been subtracted inside profit.
- «Возвращено» (“credited back”) — what Uzum returned.
Zero lines are not printed. No payouts, no «Выплачено» line; nothing moved at all, and the whole block is absent. A shorter message does not mean something is broken. For most shops «Выплачено» will not appear for several months yet: MyProfit records payouts from the moment it was connected and knows nothing about those that happened earlier.
The hourly digest
The same report, but for the hour that has just closed, plus a «С начала дня» (“since the start of the day”) block. It has no «Принято» / «Выдано» split, no order counts in the trading blocks and no cancellation reasons — those stay in the daily one.
It arrives half an hour after the hour ends, so the window looks shifted:
- You chose 9 to 21 — the first message arrives at 9:30 and covers 8:00–9:00, an hour before the window opens. The last arrives at 20:30 covering 19:00–20:00.
- You set the start to 0 — the message just after midnight covers the final hour of the previous day, and the “since the start of the day” block covers that whole previous day.
If there was not a single order and not a single cancellation in the hour, no message is sent at all. An empty day, by contrast, is still sent.
When digests arrive
The time is set per chat, on the Telegram card, right in the chat’s row. The fields appear only when at least one digest is on for that chat:
- «Время ежедневной сводки» (“Daily digest time”) — the hour the morning report arrives.
- «Часовая сводка с» and «Часовая сводка до» (“Hourly digest from” / “to”) — the bounds of the window. The upper bound is exclusive: 21 means the last message covers the hour up to 21:00.
If you switch a digest on, or move its time earlier, the first message arrives at the next half-hour rather than tomorrow.
If you are not the only one reading the digest
Your cost price is yours: it is nowhere in the Uzum cabinet, and «Чистая прибыль» in the digest makes it easy to work out what you earn on an item. In a shared group with a warehouse worker, a manager or a contractor, everyone in that group can see it.
So every chat has a «Показывать чистую прибыль и движение по балансу» (“Show net profit and balance movements”) checkbox. It sits in the chat’s row next to the time settings and appears the same way — once at least one digest is on for that chat.
Clear it, and both of that chat’s digests lose:
- the «Чистая прибыль» line — in every block, daily and hourly alike;
- the «Себестоимость известна для N% выручки» note — it explains the net figure specifically, so it goes with it;
- the whole «Движение по балансу» (“What moved on the balance”) section — «Выплачено», «Списано» with its breakdown, and «Возвращено».
Everything else stays: order and item counts, «Выручка», «Начислено прибыли», cancellations and their reasons. Cost price cannot be worked out from those — it is never printed anywhere and is visible only through the subtraction.
The setting is per chat: your personal chat can keep the full digest while a group gets it without the profit. One checkbox covers both digests.
Every chat — new ones and ones connected earlier — has it on. If you connect a group for your staff, clear it yourself: MyProfit will not remind you.
This is not an access restriction. The checkbox decides what the bot writes into a chat, not who can open what in MyProfit: a member of staff with their own access to your shop still sees net profit on the «Доходность» page.
What arrives in each chat
Every chat on the card has five checkboxes: «Новые возвраты» (“New returns”), «Смена статуса возврата» (“Return status change”), «Расхождения по накладным» (“Invoice discrepancies”), «Ежедневная сводка» (“Daily digest”), «Сводка каждый час» (“Hourly digest”). Untick what you do not need and it stops arriving in that chat. The setting is per chat: a personal one can get everything while a group gets only discrepancies.
A new chat has the daily digest on and the hourly one off: twelve messages a day is better switched on deliberately, once you have seen what the morning one looks like. Chats connected before digests existed kept the notifications they had — digests were not switched on for them automatically.
If a group holds several shops, a checkbox changes the setting for all of them at once. When the shops disagree, the box is shown grey (an indeterminate state), meaning “the shops in this group differ”. MyProfit warns you and names the shops whose setting it is about to change before applying it to all.
You can also configure shops individually: «Настроить по магазинам» (“Configure per shop”) below the boxes opens a list where each shop has its own. The list opens by itself when the shops disagree. Digest times are not set in that list: a digest is one message per chat, and the shops inside it cannot receive it at different times.
Account messages — an expired Uzum key, the end of the subscription, a password change — always arrive in the personal chat, even with every box unticked. They cannot be switched off: these are the messages that stop your work.
If the bot stops writing
When the bot is removed from a group or blocked in a personal chat, MyProfit sees it and shows «Бот не может писать в этот чат» (“The bot cannot write to this chat”) on the card. Notifications are not sent there until the chat is restored.
Unblock the bot or add it back to the group — delivery resumes on its own, and nothing needs reconfiguring. The «Подключить заново» (“Reconnect”) button in the warning does the same: the same chat is restored, and no second entry appears.
How to disconnect
The bin icon next to a chat removes it from the list.
- Personal chat — «Отключить Telegram?» (“Disconnect Telegram?”). Account messages stop too: the expired key and the end of the subscription. You can reconnect at any time.
- Shop chat — «Убрать чат магазина?» (“Remove the shop chat?”). Notifications will no longer reach that group for any of its shops. The bot stays in the group — you can remove it there yourself in Telegram. To switch off just one shop, untick it in «Магазины этого чата» (“Shops in this chat”) and keep the group.
If something goes wrong
- The bot replies «❌ Ссылка недействительна…» (“The link is invalid…”). A link lives 15 minutes, works once, and each new tap cancels the previous one. Go back to settings and get a fresh one.
- The bot replies «❌ Эта ссылка предназначена для личного чата с ботом» or «❌ Эта ссылка предназначена для группового чата» (“This link is meant for a private chat with the bot” / “for a group chat”). The link was opened in the wrong place. Such a link is not spent — open it where it belongs.
- The bot did not connect all the ticked shops. It names the ones it skipped: you no longer have access to them — the Uzum key was disconnected or handed over. The rest connect normally.
- The «Добавить чат магазина» button is inactive. The shops you can add a group for are the ones whose Uzum key you connected. If someone else connected it, they are the one who must add the group.
- You wrote to the bot and it replies about settings. That is intended: you do not send the bot anything, the connection starts from the button in MyProfit.
- The hourly digest did not arrive. If there was neither an order nor a cancellation in that hour, it is not sent — this is not a fault. Check the window too: the digest covers the hour that has already closed, so with a window starting at 9 there is no message at 9:00; it comes at 9:30.
- The daily digest did not arrive. An empty day is still sent, so check other things: whether the subscription is active, whether «Ежедневная сводка» is ticked in that chat, and whether the chat holds at least one shop it is on for. If every shop in the chat is closed by the subscription, no message is sent at all.
- The digest is shorter than usual, or has no «Движение по балансу» block. That is by design: zero lines are not printed. If no money moved, the block is absent entirely.
- The digest’s numbers do not match the «Прибыль» or «Доходность» sections. Expected — the digest’s «Чистая прибыль» uses a different formula and is recalculated as invoices arrive. See the digests section above.
- Notifications stopped arriving. Check the subscription first: if it has ended, digests and messages about returns and discrepancies are not sent until you renew. Then open the Telegram card — if the bot was removed or blocked, there will be a warning. And check the boxes: this type may have been unticked for this chat.
- No notification about a return you can see in the reports. The bot only announces returns created in the last two weeks. Older ones are never announced, even if MyProfit learned about them just now — which is why connecting the bot does not bring a flood of messages about old returns.
What next
- How profit is calculated — where the digest’s revenue and profit come from.
- Profit: what the business earned — why «Чистая прибыль» in the Finance section is smaller.
- Data stopped updating — if you received a message about the Uzum API key.
- How data is updated and how fresh it is — why a notification may not arrive instantly.
- Shared shop access — who else receives notifications about your shop.