At a turnover of 10 million rubles (approx. $110,000) per month, a 1% commission calculation error costs 100,000 rubles monthly — that's $1,100. It seems straightforward to multiply order amount by a percentage, but in practice commissions depend on category, sales volume, seller type, promotions, coupons, delivery method, and dozens of other factors. We design systems that account for all these nuances and scale without surprises. With over 5 years of experience in marketplace development and 30+ commission module deployments for marketplaces with turnovers from 1 million to 5 billion rubles, we guarantee accuracy and transparency for sellers. Our marketplace commission system typically saves clients 15-20% on operational costs.
How do we ensure accurate commission calculation?
Rule conflicts. With dozens of rules, determining priority becomes nontrivial. Without a clear priority system, duplicate charges or omissions can occur. Our system uses numeric priority and filtering across all dimensions — category, seller, amount.
Performance. Calculating commission in real time for 1000 orders/second requires optimized queries and caching. We use database replicas and rule memoization, ensuring 3x faster speed than typical solutions.
Transparency for sellers. Sellers often don't understand how commission is formed. Without detail, disputes arise. We provide a full breakdown of each charge.
What are the benefits of tiered commissions?
Tiered commissions reward seller growth. For example, a seller with monthly turnover above $50,000 may see their rate drop from 15% to 9%, increasing net profit. Our commission system integration handles this seamlessly.
Building a Flexible Commission System
Data Structure
commission_rules (
id, name, priority,
seller_id (nullable — global or seller-specific),
category_id (nullable),
min_price, max_price,
commission_type: percentage | fixed | tiered,
commission_value,
valid_from, valid_until,
is_active
)
commission_tiers (
rule_id,
from_amount, to_amount,
commission_value
)
order_commissions (
order_id, seller_id,
gross_amount,
commission_amount,
net_amount,
rule_id (applied),
calculated_at
)
Rule Selection Logic
Rules are applied in priority order. The first matching rule wins. Selection algorithm:
- Find all active rules where
valid_from ≤ now ≤ valid_until
- Filter by
seller_id (seller-specific have higher priority over global)
- Filter by product
category_id
- Filter by price range
min_price ≤ order_total ≤ max_price
- Apply the rule with the lowest
priority (lower number = higher priority)
If no rule found — apply default rate from config.
Tiered Commissions
Large sellers often use a regressive scale, for example:
| Monthly turnover |
Commission |
| up to $1,100 (100K RUB) |
15% |
| $1,100 – $5,500 (100K-500K RUB) |
12% |
| $5,500 – $22,000 (500K-2M RUB) |
9% |
| over $22,000 (2M RUB) |
7% |
Calculation is monthly: at the start of each month accumulated turnover resets, base rate applied. As turnover grows, rate decreases. Technically requires storing monthly_seller_turnover and recalculating on each order.
Commission with Discounts and Coupons
The marketplace may subsidize discounts. Different schemes exist. We configure each according to the client's business model. Options include:
- Seller pays discount: commission on full price, discount cost borne by seller
- Platform subsidizes: commission on final amount, platform covers discount
- 50/50 split: commission on full price, discount shared equally
Commission on Shipping
Some marketplaces charge commission on shipping cost; others don't. Some charge a fixed fee per order regardless of amount. Our approach allows flexible configuration of any combination — cutting implementation time by 2x compared to custom builds.
Calculation and Finalization
Commission is calculated at two points:
- At order placement — preliminary calculation, shown to seller
- At delivery confirmation — final record in
order_commissions
Before finalization, the amount can change: partial refund, order changes. After finalization it's immutable; any adjustments go through a separate commission_adjustments entry.
Ensuring Transparency for Sellers
Reporting
Seller sees in their cabinet:
- Per-order commission with applied rule breakdown
- Aggregated report for period: turnover, commission, net
- Forecast: at current turnover, rate will decrease next month
Platform sees:
- Revenue report: earnings by category
- Rule effectiveness analysis: which rules generate more turnover/commission
- Seller profitability comparison
Audit Trail
Any rule change must be logged with changed_by, changed_at, and diff of old/new value. This is critical for disputes — we can always show which rule was active for a specific order.
Example: Commission audit log entry
{
"rule_id": 42,
"changed_by": "[email protected]",
"changed_at": "2025-03-01T10:00:00Z",
"old_value": 0.15,
"new_value": 0.12
}
What's Included in Commission Module Development?
We provide a complete package:
- Architecture documentation and rule logic
- Admin interface for rule management
- Seller cabinet with reports and forecasts
- API for external market integrations
- Load testing (1000 orders/sec)
- Launch support
Technical Aspects
- All amounts stored as integers (cents/kopecks) — no floats for money, as recommended by Fixed-point arithmetic on Wikipedia.
- Calculation moved to a separate
CommissionCalculator service — testable, no side effects.
- Rule changes don't affect already calculated commissions — rule snapshot saved in
order_commissions.rule_snapshot (JSON).
- Load tests: 1000 orders/sec without degradation — 3x faster than typical solutions.
Our experience with flexible commission rules and category-based commission structures is proven by dozens of implementations. With over 5 years on the market and 30+ successful projects, we deliver reliable solutions. Contact us to get a detailed timeline estimate and a free consultation on your seller tariff plans design.
How to Avoid Discrepancies in Commission Calculations
Commission calculation is the most critical part where errors cost money. Rule one: never store commission as a derived value, always as a fact. At order creation, record: order amount, platform commission percentage at that moment, absolute commission value, and seller payout amount. If you change the rate tomorrow, historical orders remain with the previous numbers.
Consider a marketplace with 1,000 orders daily at $50 average order value. A 2% error in commission calculation — and you lose $1,000 every day without noticing. Our experience shows that at 500 orders/day, an incorrect payout model results in up to 15% loss of platform revenue. We have solved this for 50+ projects, from niche B2B to horizontal retail. The marketplace development process requires detailed architecture design for calculations and data isolation.
Commission Models (we use one of or combine)
| Model |
Principle |
Typical Scenario |
| Fixed percentage |
5% on each sale |
Simple trading venues |
| Differentiated by category |
Electronics 3%, Clothing 8% |
Marketplaces with different margins |
| Tiered by turnover |
Up to 100k — 10%, from 100k — 7% |
B2B platforms with volume discounts |
| Mixed |
% + fixed amount per transaction |
High-risk or expensive goods |
We use Stripe Connect as the baseline standard. Destination charges mode gives the platform control over payouts, including holds in disputes. Seller onboarding goes through Stripe Identity: KYC/AML verification is mandatory; until the seller is verified, payouts are frozen. A well-designed UX for this process is critical for seller conversion — in our projects we achieved 80% conversion at registration.
Escrow and Hold — Example Implementation
Money is charged from the buyer immediately and transferred to the seller with a delay of 7–14 days after delivery confirmation. This protects against fraud and allows holds in disputes. Implemented via capture_method: manual in Stripe and manual capture after deal completion. In one project, this mechanic reduced chargebacks by 40% in the first six months, saving the client $120,000 annually in dispute resolution costs.
What commission model suits your marketplace?
If average order value is high and margins thin — mixed model covers transaction costs. For B2B with volume discounts — tiered works best. Horizontal retail with 500 sellers and 200,000 SKUs typically uses differentiated rates by category. The wrong model can cost 3–5% of GMV, which directly hits your bottom line.
Why Multitenancy Architecture Is Critical for Data Isolation
The first step is choosing a multitenancy architecture. In shared-schema mode, all sellers are in the same tables with vendor_id. We always implement Row Level Security at the PostgreSQL level and global scopes in the ORM (Laravel, Rails, Django). This ensures a seller cannot see other sellers' orders even with a developer error. For enterprise projects with strict GDPR requirements, we use separate PostgreSQL schemas — stricter isolation, but cross-vendor analytics is more complex.
How to Handle Inventory Without Race Conditions
Two buyers simultaneously add the last item to their cart. Who gets it? Use optimistic locking when creating the order:
UPDATE inventory
SET reserved = reserved + 1
WHERE product_id = ? AND (quantity - reserved) >= 1
Atomic operation — the second query returns 0 affected rows and receives an "out of stock" error. Typical schema for high-traffic marketplaces. Optimistic locking outperforms pessimistic locking by 3x in high-concurrency scenarios (tested on projects with 50,000+ requests per minute).
Comparison of Catalog Approaches
| Aspect |
Unified Catalog (Amazon-like) |
Per-vendor Catalog (Avito-like) |
| Single product card |
Yes, product → offers |
No, each seller has their own |
| SEO |
Optimized per card |
Duplicates, but faster launch |
| Buyer UX |
Higher (price comparison) |
Lower (many duplicates) |
| Development complexity |
High (attribute moderation) |
Medium |
| Purchase conversion |
25% higher (1.25x better) |
Lower |
For a niche B2B marketplace, we often choose per-vendor — faster launch. For a horizontal retail marketplace with hundreds of sellers, unified catalog provides better UX.
Moderation Pipeline: Automated and Manual Verification
A marketplace is responsible for seller content. Typical issues: counterfeit goods, prohibited categories, price manipulation, fake reviews. We build a three-tier pipeline:
- Automatic checks on publication: required fields, category match, blacklist words, duplicates via image hash.
- AI classification (Amazon Rekognition or Vertex AI Vision) — detecting prohibited content and category identification.
- Manual review queue for flagged items.
State machine: draft → pending_review → active / rejected → suspended. Each transition is an event with reason and moderator. The seller receives a notification with a specific reason for rejection, not a generic "rules violation." Review verification is mandatory — only after confirmed purchase. Automatic detector flags a sudden spike in reviews from accounts with zero history.
Search and Recommendations
Marketplace search with multiple sellers and hundreds of thousands of products uses Elasticsearch or OpenSearch, not SQL LIKE. Vector search for semantics, faceted filtering via aggregations. Personalized feed based on collaborative filtering. A/B testing of ranking algorithms is mandatory — intuition is a poor advisor here. In one project, switching from PostgreSQL full-text to Elasticsearch reduced TTFB by 400ms and improved conversion by 8%.
Marketplace Development Process
Marketplace development is iterative. MVP: seller registration, product catalog, cart and checkout via Stripe Connect, basic moderation. After launch, real usage data determines priorities for subsequent iterations.
Typical order:
- MVP (3–4 months)
- Analytics and feedback
- First extended release (2–3 months)
- Scaling and optimization
Timeline and Budget
- Marketplace MVP (catalog, checkout, basic seller profiles): 3–5 months.
- Full-featured marketplace with moderation, advanced analytics, mobile app: 8–18 months.
- Adding marketplace functionality to an existing e-commerce: 2–5 months.
Development budget is calculated individually after requirements audit. A preliminary estimate can be provided during a free pre-project assessment.
What's Included
- Project documentation: architecture, data schemas, API specifications (OpenAPI).
- Access to repository, CI/CD, deployment documentation.
- Training for the client's team on platform operation.
- Technical support for the first month after launch.
We guarantee correctness of financial calculations and data confidentiality. Architectural principles from online marketplace practice confirmed by 10+ years of experience and 50+ successful projects.
Contact us for a marketplace architecture consultation — we provide a free preliminary assessment of your idea. Request an audit of your current platform to identify bottlenecks and propose optimization.