Dispute and Arbitration System for a Marketplace
We configured a dispute system for a marketplace with 5,000 sellers and 200,000 orders per month. A buyer receives the wrong item or nothing at all — they open a dispute. The seller disagrees with the claim. A third party is needed — the platform. 1C-Bitrix has no built-in tool for disputes; this is custom development on top of the order system. Our experience shows that without arbitration automation, conflicts drag on for weeks, and trust in the platform drops. We offer a solution that includes a dispute database, status logic, SLA timers, and integration with payment systems.
Why Arbitration Is Critical for a Marketplace
Statistics: up to 15% of orders on large marketplaces trigger disputes. Without a clear system, sellers leave and buyers complain. Compare: manual dispute handling takes 3–5 days, automated takes a few minutes. In the first case, the client risks a negative review; in the second, loyalty grows. We guarantee that after setup, your managers will spend no more than 10 minutes per day on disputes.
| Criteria | Manual Arbitration | Automated Arbitration |
|---|---|---|
| Processing time | 3-5 days | 1-2 days |
| Capacity | 10 disputes/day | 100+ disputes/day |
| Errors | up to 20% | less than 1% |
| Satisfaction | 70% | 95% |
Dispute Data Model
A dispute is linked to a sub-order. Table mp_disputes:
| Field | Type | Description |
|---|---|---|
| ID | int, AI | |
| SUB_ORDER_ID | int | FK to sub-order |
| INITIATOR_ID | int | USER_ID of buyer |
| VENDOR_ID | int | FK to seller |
| REASON | varchar | not_received / wrong_item / damaged / other |
| DESCRIPTION | text | Problem description |
| STATUS | varchar | open / seller_response / arbitrage / resolved / closed |
| RESOLUTION | varchar | refund / partial_refund / reject / exchange |
| ADMIN_USER_ID | int | Manager-arbitrator |
| CREATED_AT | datetime | |
| RESOLVED_AT | datetime |
Dispute attachments (photos) are stored in a separate table mp_dispute_attachments with FILE_ID (via CFile). Indexes on SUB_ORDER_ID and STATUS are created for query performance.
Dispute Process
Stage 1 — Dispute Opening
The buyer opens a dispute in their personal account if the order is in delivered status and within the allowed period (e.g., 14 days from receipt). The sub-order status changes to dispute_open, and the seller's payment is frozen.
Stage 2 — Seller Response
The seller receives a notification and has 3 days to respond: agree to a return, offer a partial refund, or provide a reasoned refusal. The response is recorded in mp_dispute_messages.
Stage 3 — Arbitration
If the parties cannot agree or the seller misses the deadline, the dispute moves to arbitration. A platform manager reviews the correspondence, photos, and order data, then issues a decision (RESOLUTION).
Stage 4 — Execution of Decision
If refund — a return is initiated via the payment system API; an entry in mp_finance_log reduces the seller's balance. If reject — the seller's payment is unfrozen.
Arbitration is the final decision that both parties must comply with. Our team ensures deadlines are met and logic complies with 54-FZ.
Interfaces
- Buyer: dispute opening form, chat with seller, status tracking.
- Seller: notification of new dispute, response form with attachment capability, result of decision.
- Admin: list of open disputes with SLA timer (time left until deadline), detailed view of correspondence, decision form.
Dispute correspondence is stored in mp_dispute_messages with fields DISPUTE_ID, SENDER_TYPE (buyer/seller/admin), TEXT, CREATED_AT. Interface updates are done via polling or WebSocket.
What’s Included in the Dispute System Setup
- Development of a dispute module with entities
Dispute,DisputeMessage,DisputeAttachment - Integration with payment gateway for freezing/refunding funds
- Configuration of SLA timers and automatic notifications
- Development of interfaces for buyer, seller, and administrator
- Documentation and staff training
We are certified 1C-Bitrix developers with 8 years of experience, having implemented over 50 projects for marketplaces. We provide a contractual guarantee.
How to Automate Arbitration
Arbitration automation relies on SLA timers and business processes. If the seller does not respond within 3 days, the system automatically escalates the dispute to arbitration and notifies the administrator. When a dispute is resolved, the order status and payment freeze are updated automatically. This reduces managers' time by up to 70% compared to manual mode.
Timelines and Cost
Base system (data model, stages, interfaces) — 2–3 weeks. Automation of overdue responses and integration with fiscal data operators — another 1–2 weeks. Cost is calculated individually based on integration complexity. We will assess your project for free.
If you want to implement a reliable dispute and arbitration system, get a consultation on the project. Contact us — we'll discuss the details.

