Setting Up the 1C-Bitrix Online Store Module
Imagine: the store is launched, first orders are coming in, but payments are not automatically confirmed, statuses don't change, and orders aren't being exported to 1C. The typical scenario—incorrect configuration of the sale module. We've been configuring 1C-Bitrix for over 7 years, completed 50+ projects, and know every pitfall. Recently, a client lost 3 days figuring out why notifications weren't coming through—turned out the callback for YooKassa wasn't configured. Our approach ensures correct cash register operation, synchronization with 1C, and transparent logistics.
Why the Sequence of Configuration Is Critical
The sale module is the core of commercial logic. It must be configured strictly in order: order properties → statuses → payment systems → delivery services → currencies and taxes → notifications. Each subsequent block depends on the previous one. Skipping a step leads to hidden errors. For example, if you start with payment systems before order properties, the necessary fields (like email) might not be passed to the gateway. And order statuses must be created before setting up callback notifications—otherwise the system cannot change the status after payment. Following the sequence minimizes rework at launch.
Order Properties and Statuses
Order properties (sale.property) are the fields the buyer fills in during checkout: name, phone, email, address, comment. The set of properties is defined for each payer type (individual, legal entity). For legal entities, add TIN, KPP, company name, legal address. Don't forget to mark required fields—if phone or email is not filled, the buyer cannot complete the order.
Order statuses define the lifecycle: "New" → "Paid" → "Processing" → "Shipped" → "Delivered" → "Completed". Each status has a letter code and is linked to email events—when the status changes, the buyer receives an email. Plan statuses before launch. Adding a new status to a running store breaks reports and 1C exchange if the mapping is hardcoded.
Payment Systems
A payment system in Bitrix is a handler attached to a payer type and site. Configuration is done in three steps:
- Create — go to "Store" → "Payment Systems" → "Add". Select a handler: YooKassa, CloudPayments, bank transfer, or cash.
- Field mapping — the handler requests amount, order number, email. These fields map to order properties.
- Callback URL — the address for payment confirmation from the gateway. For YooKassa:
/bitrix/tools/sale_ps_result.php. This is set in the gateway's account.
For YooKassa, provide shopId and secret key, choose mode (test/live), configure payment methods (card, SBP, e-wallets). The callback automatically changes the payment status. YooKassa handler is configured twice as fast as CloudPayments due to its built-in handler.
| Handler |
Auto-confirmation |
Payer type |
Common error |
| YooKassa |
Yes (callback) |
Individual |
Callback not configured — order doesn't move to "Paid" |
| CloudPayments |
Yes (callback) |
Individual |
Required parameter InvoiceId missing |
| Bank transfer |
No (manual/1C) |
Legal entity |
Invoice generated with incorrect details |
| Cash |
No (manual) |
Individual |
No receipt in the system |
Delivery Services
Three types of delivery handlers in Bitrix:
- Fixed cost — pickup (free), courier (fixed).
- Automatic calculation — CDEK, Boxberry, Russian Post. The module from Marketplace queries the API and returns cost and delivery time. You need API keys, the origin city, and default dimensions. For example, CDEK integration handles up to 5000 orders per month without issues.
- Custom handler — a PHP class with custom logic. When rates depend on zone, weight, dimensions according to non-standard rules.
| Delivery |
Calculation method |
Setup time |
Limitations |
| Pickup |
Depends on scope |
15 min |
Only one address |
| Courier |
Depends on scope |
30 min |
City only |
| CDEK |
API (auto) |
2-3 hours |
Contract with CDEK required |
| Boxberry |
API (auto) |
2-3 hours |
API key required |
Currencies, Taxes, Notifications
Currencies — the currency module. The base currency stores prices, conversion happens automatically on display.
VAT — rate (20%, 10%, 0%, no VAT) is attached to products. During checkout, VAT is calculated and passed to the fiscal receipt—required by 54-FZ. Incorrect VAT settings can lead to significant fines.
Email notifications — templates for mail events (new order, status change, payment). Edit under "Settings" → "Mail events". Macros like #ORDER_ID#, #PRICE#, #ORDER_USER# substitute data.
Errors in sale configuration don't appear immediately: a missing callback leads to unpaid orders, missing VAT in the receipt triggers tax inquiries, wrong statuses break 1C exchange. To avoid this, entrust the setup to professionals. We guarantee all modules work correctly.
How to Avoid Typical Mistakes?
Three main errors when configuring the online store module:
- No callback configured for the payment gateway — payments not confirmed.
- Order statuses not mapped to CommerceML codes — broken 1C exchange.
- Product dimensions not set for automatic delivery calculation — cost not calculated.
All these problems are discovered during testing if you follow a checklist. We prepare such a checklist for every project.
Full Turnkey Module Configuration
We provide:
- Configuration of all
sale blocks (properties, statuses, payment systems, delivery, taxes, notifications).
- Integration with 1C (CommerceML) — mapping of directories, statuses, warehouses.
- Online cash register connection (54-FZ) with fiscalization testing.
- Training of your team on order management and reporting.
- Documentation of settings and an admin guide.
- Post-release support for 30 days.
Contact us for a personal consultation and project assessment. Order your online store module setup and launch sales without hidden issues.
For a deeper understanding of the architecture, we recommend reviewing the official documentation (1C-Bitrix Developer Guide) and the Wikipedia article on the platform.
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:
- Analytics (1–2 weeks) — business requirements, catalog structure, integrations, technical specification
- Design (2–3 weeks) — prototypes, design system, layouts
- Development (4–8 weeks) — components, templates, integrations, content
- Testing (1–2 weeks) — functional, load, acceptance
- 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.