← All cases// Systems & integrations · Web apps
A fulfillment platform for marketplace sellers: 78,832 orders with no manual re-keying
A portal that connects Wildberries, Ozon, Yandex Market, MoySklad, T-Bank, CDEK and Russian Post. We have been building and supporting it since June 2025.

- marketplace orders in 14 months
- 78,832
- turnover of those orders
- ₽97.4M
- orders in one day, record set on 19 January 2026
- 1,456
- from the start of development to the first real orders
- 2 months
// Client
A fulfillment platform. Wildberries, Ozon and Yandex Market sellers take suppliers' goods from a shared catalog, and the platform's warehouse picks and ships their orders. The platform also gives sellers their own storefronts with delivery, dropshipping, product card generation, a pricing bot, accounting and marketing services.
The system now has 233 accounts: 172 sellers, 34 suppliers, 19 seller-suppliers and 8 administrators. 166 marketplace stores are connected. The catalog holds 7,886 products from 53 suppliers, with stock tracked across 31 warehouses.
// The task
The platform needed a system where an order from any of the three marketplaces reaches the warehouse on its own and the money is split between seller, supplier and platform automatically. Without it, every operation would have been done by hand in three marketplace accounts, in MoySklad and in the bank.
// What the system does on its own
| Operation | How often |
|---|---|
| Pulls new orders from Wildberries, Ozon and Yandex Market | every morning at 05:30 Moscow time |
| Checks the seller's balance and charges the order cost | for every order |
| Builds the marketplace shipment, gets stickers and box QR codes | for every shipment |
| Creates the customer order and supplier orders in MoySklad | for every shipment |
| Updates stock on the marketplaces | every hour |
| Recalculates and uploads prices | every 15–20 minutes |
| Checks payments in the bank | every 5 minutes |
| Marks dispatch and closes the shipment | every hour from 16:00 to 04:00 |
| Transfers money to suppliers, partners and the platform, processes refunds | every hour |
| Creates a CDEK or Russian Post parcel and tracks delivery | for every storefront order |
What's still manual: picking and receiving at the warehouse, moderating new products and checking FBO requests.
Process map
01
Order on a marketplace
02
The portal pulls it in the morning
03
Shipment with fulfillment services
04
The seller pays for it via T-Bank
05
The warehouse ships
06
Payouts to suppliers and the platform
01
Order on a marketplace
02
The portal pulls it in the morning
03
Shipment with fulfillment services
04
The seller pays for it via T-Bank
05
The warehouse ships
06
Payouts to suppliers and the platform
// Integrations
Hover over a service to see what the connection does.
- WildberriesFBS orders, shipments, stickers and boxes, stock, prices, product cards, categories, fees
- OzonFBS orders and postings, labels, stock, prices, product cards, categories, fees
- Yandex Marketorders, returns, stock, prices, product cards
- MoySkladcatalog, warehouses and stock, counterparties, orders, shipments, payments, seller balance
- T-Bankpayments, safe deal with payment splitting, card payouts, refunds
- CDEK and Russian Poststorefront order delivery: rates, pickup points, parcels, statuses
- Google Geminidescriptions and images for product cards
- Yandex Metrica and Yandex Mapsanalytics on seller storefronts, pickup point selection
- Wildberries
- FBS orders, shipments, stickers and boxes, stock, prices, product cards, categories, fees
- Ozon
- FBS orders and postings, labels, stock, prices, product cards, categories, fees
- Yandex Market
- orders, returns, stock, prices, product cards
- MoySklad
- catalog, warehouses and stock, counterparties, orders, shipments, payments, seller balance
- T-Bank
- payments, safe deal with payment splitting, card payouts, refunds
- CDEK and Russian Post
- storefront order delivery: rates, pickup points, parcels, statuses
- Google Gemini
- descriptions and images for product cards
- Yandex Metrica and Yandex Maps
- analytics on seller storefronts, pickup point selection
// The hardest parts
01
Money between three parties
The seller's payment for a shipment is split between suppliers and the platform through T-Bank's safe deal. By default a deal allowed a single payout, so we moved to deals with multiple payouts: suppliers first, the platform last. A refund is issued only after the payment is verified in the bank, so money is never returned twice.
02
MoySklad as the source of truth
7.9K products and 339K stock rows across 31 warehouses are synced every day. If MoySklad returns incomplete data, the sync stops instead of wiping the catalog.
03
Three marketplaces, three rulebooks
Wildberries shipments with boxes, Ozon postings and labels, Yandex Market orders. Every morning orders are grouped into shipments by marketplace warehouse.
04
Updates with almost no downtime
The new version is built while the old one keeps running. Deployment downtime went from about 27 minutes to 40 seconds.
// Results
| Metric | Value |
|---|---|
| Marketplace orders | 78,832 since 1 August 2025: Wildberries 57,882, Ozon 19,452, Yandex Market 1,498 |
| Peak load | 15,523 orders in November 2025, a record 1,456 on 19 January 2026 |
| Shipments built automatically | 16,265 |
| Shipped | ₽32.1M of goods and ₽7.9M of fulfillment services |
| Balance top-ups | 3,683 for ₽34.1M from 102 clients |
| Automatic payouts and refunds | 772 for ₽727K |
| Supplier orders created automatically | 1,186 for ₽2.9M |
| AI generations for product cards | 3,034 since April 2026 |
| Supplier settlement | median 26.5 hours from shipment to payout |
// Timeline, team, stack
- Timeline
- Development started on 9 June 2025; two months later, on 1 August 2025, the system went live on real orders. After that we developed it in stages, each one going straight into production.
- Team
- 4 developers, 2,491 commits. We now support it: improvements, log-based incident analysis, keeping up with marketplace and bank API changes, 28 scheduled background jobs.
- Stack
- Django 5
- Django REST Framework
- Channels
- Celery
- Redis
- PostgreSQL
- React 19
- TypeScript
- Vite
- Docker Compose
- nginx
- GitHub Actions
Similar challenge?
Selling on marketplaces while orders, stock and money live in different accounts? We'll review your process for free.
Review my process→More cases
All cases →
// Bitrix24
A CRM for a 30-person consulting firm in 7 weeks
71% → 94%
Read the case→
// Bitrix24
How a steel-structures plant stopped losing orders on their way to the shop floor
3 linked pipelines
Read the case→
// Web apps · Systems & integrations
2290Pay: a tax return moved from paper to online
Minutes, not days
Read the case→