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
saleblocks (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.

