A buyer claims the order never arrived; the seller swears it was shipped. No proof, support drowns in email chains, resolution drags on for weeks. For a marketplace, every such dispute costs time, money, and trust. We built a dispute and arbitration system that automates up to 70% of conflicts and cuts resolution time to 48 hours. Over 5 years, we've delivered 50+ projects, and average dispute processing time dropped 5x compared to manual moderation. Automated returns handling reduces processing time by 60% (source: Stripe).
Problems the System Solves
-
Incorrect dispute types: buyers often pick the wrong type, slowing things down. Our system validates data and suggests the correct scenario.
-
Slow seller responses: if a seller doesn't reply within 48 hours, the dispute auto-resolves in the buyer's favor for clear cases (non-receipt, return refusal). This motivates fast action.
-
Fraud: limit of 3 disputes per month per buyer, scoring based on dispute history, extra scrutiny for sellers with a dispute rate >5%.
How the Dispute System Works
Data Model
disputes (
id, order_id, buyer_id, seller_id,
type: not_received | wrong_item | damaged | not_as_described | return_refused,
status: open | waiting_seller | waiting_buyer | escalated | resolved_buyer
| resolved_seller | resolved_partial | closed,
desired_resolution: full_refund | partial_refund | replacement | return_and_refund,
requested_amount (for partial_refund),
created_at, resolved_at, auto_close_at
)
dispute_messages (
id, dispute_id, sender_type: buyer | seller | admin,
sender_id, message, attachments (jsonb), created_at
)
dispute_evidence (
id, dispute_id, uploaded_by, type: photo | video | document,
file_url, description, created_at
)
Automatic Resolution Steps
- Buyer opens a dispute, selecting one of five types, and attaches evidence.
- System notifies the seller — they have 48 hours to respond.
- If the seller doesn't respond, the dispute automatically closes in favor of the buyer for types
not_received and return_refused.
- If parties can't agree, the dispute is escalated to an arbitrator.
- The arbitrator reviews the conversation, evidence, and issues a final decision.
Manual vs. Automated Processing
| Parameter |
Manual Processing |
Automated System |
| Average resolution time |
5–7 days |
up to 2 days |
| Support load |
high |
reduced by 40% |
| Error rate |
up to 15% |
less than 2% |
Automation is 5x faster than manual handling. Manual processing each dispute requires a moderator to verify evidence, communicate with parties, and make a decision — averaging 5–7 days. The automated system resolves obvious cases in 48 hours without human intervention, and for complex cases, the arbitrator gets the full picture in 10 minutes. Time savings of 80%.
Why Abuse Protection Is Critical
- A buyer can open at most 3 disputes per month.
- Dispute history is factored into scoring new users.
- Sellers with a dispute rate >5% of orders are placed under special monitoring.
- Evidence is stored for 180 days after dispute closure.
Example: a buyer ordered a smartphone for 25,000 RUB. 10 days after the expected delivery date, they open a dispute with type not_received. The seller doesn't respond within 48 hours — the system automatically refunds the full amount. The money is deducted from the seller's hold. The entire process takes 2 days without support involvement.
Technical Details: Financial Operations and Analytics
-
Full refund: full amount + shipping cost (avg. 300 RUB). Deducted from seller's balance.
-
Partial refund: agreed amount, remainder to seller.
-
Ruling in favor of seller: money from hold transferred to seller.
-
Replacement: hold retained until receipt of replacement confirmed.
All operations are atomic — balance change and dispute status update in a single transaction.
The arbitrator's workspace is a dedicated interface in the admin panel with dispute chronology, order summary, evidence, interaction history, and notification templates. Metrics: average resolution time, percentage of appealed decisions, quality rating.
Dispute analytics: data analysis helps identify problematic categories — the top 3 dispute reasons account for 60% of all cases. Sellers with abnormal dispute rates are candidates for review. Dispute-to-refund conversion rate is an indicator of system fairness.
Development Phases and Timelines
| Phase |
Duration |
Owner |
| Direct negotiation |
up to 5 days |
Buyer, Seller |
| Automatic resolution |
48 hours |
System |
| Escalation to arbitrator |
up to 72 hours |
Arbitrator |
The full development cycle of a dispute system with arbitration interface, financial operations, and analytics takes 6 to 8 weeks. Timelines may vary depending on integration complexity and business logic requirements.
What's Included in Development
- Data model and business logic design
- API development for dispute management
- Arbitrator interface with control panel
- Payment gateway integration
- Notification system (email, push, Telegram)
- Dispute analytics dashboard
- Documentation and source code handover
- Support team training
- 3-month warranty support
Contact us for a consultation on adapting the system to your marketplace. Order a dispute and arbitration system — get a solution that reduces support load by 40% and speeds up conflict resolution by 5 times.
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.