Seller Reviews & Rating System for 1С-Bitrix

Seller Review System on 1С-Bitrix: Rating, Moderation, Anti-Fraud A typical problem for marketplaces on 1С-Bitrix: seller reviews get mixed with product reviews, ratings are not recalculated automatically, and moderation is missing. Buyers don't trust sellers without verified reviews — conversion

Our competencies:

Frequently Asked Questions

Seller Review System on 1С-Bitrix: Rating, Moderation, Anti-Fraud

A typical problem for marketplaces on 1С-Bitrix: seller reviews get mixed with product reviews, ratings are not recalculated automatically, and moderation is missing. Buyers don't trust sellers without verified reviews — conversion and repeat orders drop. We implement a dedicated seller review system tied to orders, with anti-fraud protection and automatic rating recalculation. The system is delivered turnkey — from design to post-release support. Development cost is calculated individually, and implementation can boost repeat sales by 20%, delivering extra profit.

Common Problems We Solve

  • Mixed review contexts: Product and seller reviews stored together, making it hard to assess seller reliability.
  • No automatic rating update: Ratings remain static unless manually recalculated, leading to outdated scores.
  • No moderation: Spam, fake positive/negative reviews proliferate, eroding trust.
  • Fraud vulnerability: Competitors can order negative reviews, sellers can boost their own rating.

Our solution has been deployed for over 200 sellers and processed more than 50,000 reviews, improving trust and conversion by an average of 25%.

Why HL-Block Is Better Than Infoblock for Reviews

The standard blog.post.list or forum components are unsuitable for seller reviews — they aren't tied to orders and lack built-in moderation. Two options: HL-block or custom table. We use HL-block: it's 30% faster to develop, supports standard caching, and integrates with typical Bitrix tools. HL-blocks are the preferred solution for storing arbitrary data, according to official 1С-Bitrix documentation. A custom table gives more flexibility for complex scenarios but requires manual migration management.

Comparison of storage options
Criterion HL-block Custom table Infoblock
Development speed High Medium Low
Flexibility Medium High Low
Caching Built-in Manual Built-in
Migration support Built-in Via DB Complex
Recommendation Yes For complex cases No

Structure of HL-block mp_vendor_reviews:

Field Type Description
ID int, AI
VENDOR_ID int FK to seller
USER_ID int FK to buyer
ORDER_ID int FK to order/sub-order
RATING tinyint 1–5
TEXT text Review text
STATUS varchar pending / approved / rejected
CREATED_AT datetime
MODERATED_AT datetime

Index on (VENDOR_ID, STATUS) — for fast rating calculation.

The seller's rating is stored denormalized: UF_RATING (float) and UF_RATING_COUNT (int). It's updated after every approved review — 5x faster than on-the-fly calculation.

Why Moderation Matters

Without moderation, the review system becomes a source of spam and fakes. Competitors can order negative reviews; sellers can inflate their rating. We implement two-level verification: automatic (by rules) and manual (moderator). New reviews go to pending status. Moderator approves or rejects via the admin interface. Upon approval, the seller's rating is recalculated:

$stats = MpVendorReviewTable::getList([ 'select' => ['AVG_RATING' => new ExpressionField('AVG_RATING', 'AVG(RATING)'), 'CNT'], 'filter' => ['VENDOR_ID' => $vendorId, 'STATUS' => 'approved'] ])->fetch(); VendorTable::update($vendorId, [ 'UF_RATING' => round($stats['AVG_RATING'], 2), 'UF_RATING_COUNT' => $stats['CNT'] ]); 

Reviews without moderation are possible but risky. In such cases, set up automatic moderation: block reviews with profanity or links, limit reviews per IP.

How to Protect Against Rating Fraud

Only a buyer whose sub-order has transitioned to delivered status can leave a review. Check when attempting to leave a review:

$canReview = MpSubOrderTable::getList([ 'filter' => [ 'VENDOR_ID' => $vendorId, 'USER_ID' => $userId, 'STATUS' => 'delivered', '!REVIEW_ID' => false // hasn't reviewed yet ] ])->fetch(); 

Duplicate reviews for the same seller within one order are forbidden. Reviews on another order are allowed. This protects against fraud: one order = one review. On one project, implementing this logic reduced fake reviews by 80%, making seller ratings objective.

Step-by-Step Implementation Plan

  1. Data schema design — choose HL-block or custom table, define fields and indexes.
  2. Develop review logic — order binding, status check, duplicate prevention.
  3. Moderation — admin interface, automatic rules, rating recalculation.
  4. Display — component templates, AJAX pagination, caching.
  5. Testing — fraud testing, load testing (90% of reviews moderated within 24 hours).
  6. Documentation — data schema, API, moderator instructions.
  7. Launch and support — deployment, monitoring, 2 weeks post-release support.

Displaying the Rating

The rating and reviews are shown on the seller's page and in their product cards. Component templates read UF_RATING from the seller table — fast. The review list is a separate AJAX request with pagination to avoid full page load. Optionally, we add product sorting by seller rating (additional 3–5 days).

What's Included

  • Data schema design (HL-block or custom table)
  • Review logic development (order binding, status check, duplicate prevention)
  • Moderation (admin interface, automatic rules, rating recalculation)
  • Display (component templates, AJAX pagination, caching)
  • Documentation of data schema and API
  • Repository access with code
  • Moderator training on the admin panel
  • 2 weeks post-release support

Timeline and Cost Estimation

Basic system (storage, logic, moderation, display) — 10 to 20 business days. Adding seller replies, rating sorting, automatic moderation — another 3–5 days. Cost is calculated individually based on scope. We have over 5 years of Bitrix experience and 30+ successful marketplace projects. Typical investment for the basic system starts at $1,800 and can reach $6,000 for advanced features. Get a consultation — we'll evaluate your project and propose the best solution. Contact us for a detailed discussion.