Via the MCP server marketplaces-mcp-ru. No server — uvx marketplaces-mcp-ru.
The main difference between this calculation and estimates in a spreadsheet: the tariffs are taken from the platform's API as of today, not from memory. They change, and they change not in your favor.
What to collect
| component | Wildberries | Ozon |
|---|---|---|
| sale price | wb_prices_list |
ozon_prices_get |
| category commission | wb_get_api_tariffs_commission |
from the sales report |
| logistics | wb_get_api_tariffs_box, wb_get_api_tariffs_pallet |
ozon_finance_realization |
| returns | wb_get_api_tariffs_return |
ozon_finance_transactions |
| actual deductions | — | ozon_finance_realization |
The person states the cost and tax themselves: they are not in the API. If they do not know the cost — say so, that without it the calculation is incomplete, and do not substitute "usually about forty percent".
How to calculate
остаётся = цена − комиссия − логистика − хранение − эквайринг − возвраты
− себестоимость − налог
Calculate returns based on actuals, not on a norm: the return rate is visible from the difference
between wb_stats_orders и wb_stats_sales.
What to output
A table by item: price, each deduction in a separate column, what remains, margin in percent. Sort by the remainder in rubles per unit, ascending — the top will be what is dragging things down.
Separately name the items with a negative remainder. That is the answer to "there is revenue but no money".
What not to do
Do not advise lowering the price "for turnover" without calculating what remains after the reduction. On marketplaces the commission is taken from the sale price, so a discount hits the margin harder than it seems.