Custom Reports for 1C-Bitrix E-commerce

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Showing 1 of 1All 1626 services
Custom Reports for 1C-Bitrix E-commerce
Medium
~1-2 weeks
Frequently Asked Questions

Our competencies:

Development stages

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1356
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    943
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    828
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    731
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    1073

Custom Reports for 1C-Bitrix E-commerce

Standard reports in the sale module provide a fixed set of metrics: revenue, order count, conversion. When you need customer segmentation by managers including returns, or margin breakdown by categories, you end up manually exporting data to Excel. On nearly every project, the client first spends weeks on manual analytics and then asks for automation.

We develop bespoke reports using D7 ORM that give you full control over the data: arbitrary grouping, cross-tables, automatic export. After implementing such a report, one client reduced their monthly reporting time from two days to one hour—saving approximately €2,500 per month in labor costs—and stopped making errors in the numbers.

What problems do custom reports solve?

Standard reports from the sale module do not support cross-tables. For stores with turnover of several thousand orders per month, they are insufficient. Custom reports on D7 ORM provide flexibility not available in the off-the-shelf functionality.

Standard reports: what exists and what is missing

The sale module offers several built-in reports via the bitrix:sale.report.construct component. Their limitations:

  • Fixed set of groupings—cannot add custom fields
  • No cross-tables (pivot)—cannot build a "product × region" matrix
  • No cohort analysis or RFM analysis
  • Export only to CSV with limited formatting
  • No composite metrics (LTV, average order value including returns)

ORM queries via OrderTable and related entities

The foundation of custom analytics is Bitrix D7 ORM. Key tables:

ORM Class Purpose Key Fields
\Bitrix\Sale\Internals\OrderTable Orders ID, DATE_INSERT, USER_ID, PRICE, STATUS_ID, RESPONSIBLE_ID
\Bitrix\Sale\Internals\BasketTable Basket items ORDER_ID, PRODUCT_ID, QUANTITY, PRICE, DISCOUNT_PRICE
\Bitrix\Sale\Internals\ShipmentTable Shipments ORDER_ID, DELIVERY_ID, STATUS_ID, DATE_DEDUCTED
\Bitrix\Sale\Internals\PaymentTable Payments ORDER_ID, PAY_SYSTEM_ID, SUM, PAID, DATE_PAID
\Bitrix\Sale\Internals\OrderPropsValueTable Order properties ORDER_ID, ORDER_PROPS_ID, VALUE

ORM allows building queries with JOINs, grouping, and aggregate functions without raw SQL. A custom report on D7 ORM processes a summary of 100,000 orders 3 times faster than an equivalent report using agents.

Example ORM query with grouping
$result = OrderTable::getList([
    'select' => [
        'MONTH' => new ExpressionField('MONTH', "DATE_TRUNC('month', %s)", ['DATE_INSERT']),
        'RESPONSIBLE_ID',
        'TOTAL' => new ExpressionField('TOTAL', 'SUM(%s)', ['PRICE']),
        'CNT' => new ExpressionField('CNT', 'COUNT(%s)', ['ID']),
    ],
    'filter' => [
        '>=DATE_INSERT' => DateTime::createFromPhp(new \DateTime('last year')),
        '!STATUS_ID' => 'F',
    ],
    'group' => ['MONTH', 'RESPONSIBLE_ID'],
    'order' => ['MONTH' => 'ASC'],
]);

Why ORM is more efficient than standard reports?

ORM queries provide arbitrary grouping: by periods, products, managers, regions. For complex queries with subqueries, we use $DB->Query() directly.

Visualization and export

Typical visualization set: line chart for trends, bar chart for comparison, doughnut for shares, heatmap for activity. Export to Excel via PhpSpreadsheet:

cd /home/bitrix/www/local
composer require phpoffice/phpspreadsheet

PhpSpreadsheet generates files with formatting, formulas, and multiple sheets—accounting departments use them without modifications.

Deep-dive: RFM analysis report

RFM analysis segments customers by three parameters: Recency, Frequency, Monetary. Each parameter is scored from 1 to 5 (quintiles). 125 segments are grouped into categories: "loyal", "sleeping", "lost", "new prospects".

Algorithm:

  1. Select customers with completed orders in the last 12 months.
  2. For each, calculate last order date, order count, total amount.
  3. Distribute into quintiles via NTILE(5) OVER (ORDER BY ...).
  4. Assign segment based on R-F-M combination.

SQL query for metrics:

SELECT
    o.USER_ID,
    MAX(o.DATE_INSERT) AS last_order_date,
    EXTRACT(DAY FROM NOW() - MAX(o.DATE_INSERT)) AS recency_days,
    COUNT(o.ID) AS frequency,
    SUM(o.PRICE) AS monetary
FROM b_sale_order o
WHERE o.STATUS_ID NOT IN ('F', 'CA')
  AND o.DATE_INSERT >= NOW() - INTERVAL '12 months'
  AND o.PAYED = 'Y'
GROUP BY o.USER_ID

Segment mapping:

Segment R F M Action
Champions 5 5 5 Loyalty program
Loyal 3-5 3-5 3-5 Upsell, referrals
Promising newbies 5 1 1-3 Onboarding
Sleeping 2-3 2-3 2-3 Reactivation
At risk 1-2 3-5 3-5 Urgent reactivation
Lost 1 1-2 1-2 Win-back

The RFM report is displayed as a table with filtering and treemap visualization. Data is cached—recalculation for 50,000 customers takes 10-15 seconds.

What is included in the work

After agreeing on the layout and metrics, we:

  1. Design queries and optimize indexes.
  2. Implement a dashboard with filters and visualization.
  3. Configure export to Excel/CSV.
  4. Prepare documentation on data structure and algorithms.
  5. Conduct employee training on using the reports.
  6. Provide 30 days of free support after launch.

Additionally, you receive full admin panel access, a development repository (if desired), and a performance guarantee: reports load in under 3 seconds for up to 100,000 orders.

Development stages

Stage Content Duration
Analytics Define metrics, slices, dashboard layout 2-3 days
Query design ORM queries, index optimization 3-5 days
Visualization Dashboard layout, Chart.js graphs, filters 3-4 days
Export PhpSpreadsheet, formatting 1-2 days
Testing Verification on large volumes, load testing 2-3 days

Timelines and cost

Timelines start from 5 business days for a simple report (starting at €1,200), from 15 days for a comprehensive dashboard with RFM and cohorts (starting at €3,500). Cost is calculated individually after analyzing your database and requirements. The time saved on report preparation pays back the development investment within a couple of months. For example, one client saves €2,500/month after a €3,500 investment. We have 7+ years of experience in 1C-Bitrix development and have completed over 50 custom report projects. Contact us — we will design a report tailored to your task.

Guarantees and trust

  • 30 days free support after launch
  • Performance guarantee: dashboards load in <3 seconds for up to 100k orders
  • Certified Bitrix developers with proven expertise
  • We provide a detailed project plan and timeline upfront

Why is 1C-Bitrix the flagship of e-commerce?

A faceted index on a catalog of 200,000 SKUs is not built — bitrix:catalog.smart.filter takes 4 seconds instead of 200 ms, and the customer leaves. Our online store development on 1C-Bitrix eliminates such scenarios: from infoblock architecture and price types to cluster balancing under peak loads. With over 12 years of experience and 200+ completed e-commerce projects, we have solved every performance bottleneck.

Two-way synchronization with 1C via CommerceML — catalog, prices, balances, orders, and statuses. Configured from the admin panel via the catalog module -> 'Exchange with 1C'. Export to marketplaces via YML feeds (catalog.export) for Yandex.Market, Google Shopping, Ozon, Wildberries. According to Wikipedia, 1C-Bitrix is used by more than 70,000 commercial sites in Russia and the CIS (https://en.wikipedia.org/wiki/1C-Bitrix). Contact us to evaluate your current architecture.

How do we solve key performance problems?

bitrix:catalog.smart.filter without faceted index generates queries that bring down MySQL. Solution: build b_catalog_iblock_index — response time drops from 4 seconds to 100–200 ms. For SEO filters, we use catalog.seo.filter — indexable filter intersection pages with unique meta tags.

Composite cache (bitrix:main.composite) speeds up page loading by 3–5 times compared to regular. Goal — product card TTFB < 200 ms. For sessions we use Redis (SESSION_SAVE_HANDLER = redis in .settings.php). Lazy load images, CDN for static, SQL optimization (especially JOINs on b_iblock_element_property). As noted in the official Bitrix documentation, composite cache delivers a page from HTML, bypassing PHP execution and database requests, giving a speed advantage of up to 5x.

Why is caching critical for an online store?

Each second of page load delay reduces conversion by an average of 7%. At TTFB > 400 ms, 32% of users leave the site. Composite cache delivers a page from HTML, bypassing PHP execution and database requests — this gives a speed advantage of up to 5 times. For product cards with frequent price and stock changes, we use tagged caching: invalidation occurs only for affected entities. In practice, we have reduced TTFB from 1.2 seconds to 180 ms. Time savings on catalog loading — up to 60%.

Store types and their features

Store type Key modules Features
B2C retail catalog.smart.filter, catalog.compare.list, reviews, ratings Faceted index, conversion funnel from card to payment
B2B wholesale dealer prices (b_catalog_group), min. lots, credit limits Personal accounts, quick order by SKU, PDF invoices
Digital goods licenses, subscriptions, files OnSaleOrderPaid -> automatic access granting
Marketplace "Marketplace" module or custom Multiple sellers, separate accounting, commission model
PWA / mobile Progressive Web App, React Native + REST API Offline catalog, push notifications

Integrations: payment systems, delivery, CRM, marketplaces

Payment systems. Handlers in sale.handlers: YooKassa, CloudPayments, Tinkoff, Sberbank, Apple Pay, Google Pay, installment. Callback sale.payment.notify for status confirmation. Delivery. Handlers sale.delivery for CDEK, Boxberry, Russian Post, DPD — real-time cost calculation via API, tracking. Warehouse management. Reservation (RESERVED = Y in b_sale_basket), automatic write-off upon shipment, notifications when stock falls below threshold, pre-order for goods in transit. CRM. Bitrix24 or amoCRM — orders from b_sale_order are sent automatically, client base is synchronized. Triggers: abandoned cart, review request, reactivation. Marketplaces. Export via YML to Ozon, Wildberries, Yandex.Market. Orders flow into a single system. Analytics and marketing. GA4, Yandex.Metrica, email newsletters (Unisender, SendPulse). Logistics. MyWarehouse, Antor — labels, picking lists.

Migration from other CMS

Migration from OpenCart, WooCommerce, Shopify, MODX: transfer of catalog (elements, properties, sections, images, SEO-URLs), migration of client base (b_user) and order history (b_sale_order), 301 redirects via urlrewrite.php. Parallel operation during the transition period — old site sells, new one is accepted. Team experience — 50+ migration projects.

Example migration: from OpenCart with 50,000 products We transferred all data, including custom attributes and review history, in two weeks with zero downtime. The new store was tested in parallel before switching DNS. Result: 25% faster page load and 15% increase in sales.

What is included in the work (deliverables)

Deliverable Description
Technical specification Business requirements, catalog structure, integrations, cart logic
Infoblock architecture Price types, properties, sections, HL-blocks, ORM entities
Components and templates Custom or adapted standard (Component 2.0)
Integrations Payments, delivery, CRM, marketplaces, 1C
Documentation Content filling instructions, REST API, DB schema
Team training Working with admin panel, exports, updates
Warranty Free support 3 months after launch, bug fixes

Stages and timelines

Average project duration — 2 to 4 months:

  1. Analytics (1–2 weeks) — business requirements, catalog structure, integrations, technical specification
  2. Design (2–3 weeks) — prototypes, design system, layouts
  3. Development (4–8 weeks) — components, templates, integrations, content
  4. Testing (1–2 weeks) — functional, load, acceptance
  5. Launch (2–3 days) — deployment, monitoring, operational support

Budget range: from $10,000 for a basic store to $60,000+ for a complex marketplace with multiple integrations. Clients typically see a 20–30% increase in conversion after optimization. Contact us for a precise estimate — we tailor the solution to your specific catalog size and business logic.

Loyalty program and conversion

Bonus system: points for purchases, reviews, recommendations. Accrual rules by categories, points payment limit, expiration period — all in personal account. VIP levels (bronze, silver, gold, platinum) with increased cashback and free shipping. Recommendations 'You may also like', 'Complete your purchase' — built-in Bitrix tools + RetailRocket or Mindbox. Triggers: birthday discount, promo code for return, interest chain. Personalization via catalog.recommended.products and catalog.viewed.products. A/B testing of two card variants on real traffic. Enhanced E-commerce in GA4 and Yandex.Metrica — full path from click to return visit.

Request a free technical audit of your current store. Our engineers will identify performance bottlenecks and migration risks. Order turnkey online store development — get a ready solution with warranty and support.