Configuration of the E-commerce Module for 1C-Bitrix
The sale module is the core of Bitrix's commercial logic. Before the store starts accepting orders, you need to configure a chain: order properties → statuses → payment systems → delivery services → currencies and taxes → notifications. The order matters — each subsequent block depends on the previous one.
Order Properties and Statuses
Order properties (sale.property) are fields that the buyer fills in during checkout: full name, phone, email, address, comment. The set of properties is defined for each payer type (individual, legal entity). For legal entities, INN, KPP, organization name, and legal address are added.
Order statuses define the lifecycle: "New" → "Paid" → "Processing" → "Shipped" → "Delivered" → "Completed". Each status has a letter code and notification binding — when the status changes, the buyer receives an email.
It's important to think through statuses before launch. Adding a new status to a working store breaks reports and 1C exchange if status mapping is hardcoded.
Payment Systems: Configuration and Integration
A payment system in Bitrix is a handler tied to a payer type and site. Basic configuration includes:
- Creating a payment system — section "Store" → "Payment Systems" → "Add". Select a handler from the list (YuKassa, CloudPayments, bank transfer, cash).
- Field mapping — the handler requires data: order amount, order number, buyer email. These fields are mapped to order properties or calculated values.
-
Callback configuration — URL where the payment gateway sends payment confirmation. For YuKassa it's
/bitrix/tools/sale_ps_result.php. The URL is entered in the gateway's control panel.
For YuKassa (formerly Yandex.Kassa):
- Specify
shopIdand secret key from the YuKassa control panel - Select mode: test or production
- Configure available payment methods (bank card, e-wallets, SBP)
- Bitrix automatically changes order payment status in the callback
For bank transfer (cashless payment for legal entities):
- An invoice print form is generated with organization details
- Payment is confirmed manually by a manager or via 1C exchange
For cash on delivery — a dummy handler, payment is confirmed when the order status changes.
| Handler | Automatic Confirmation | Payer Type |
|---|---|---|
| YuKassa | Yes (callback) | Individual |
| CloudPayments | Yes (callback) | Individual |
| Bank transfer | No (manual / from 1C) | Legal entity |
| Cash | No (manual) | Individual |
| ERIP (Belarus) | Yes (callback) | Individual |
Delivery Services: Calculation and Configuration
Delivery services are configured in the "Store" → "Delivery" section. Bitrix supports three types:
- Fixed cost — set manually. Suitable for self-pickup (free) or courier delivery in a city (fixed amount).
- Automatic calculation — the module requests the delivery service API (CDEK, Boxberry, Russian Post) and returns the cost and timeframe. To integrate, install the module from Marketplace and provide API keys.
- Custom handler — a PHP class with custom calculation logic. Used when cost depends on delivery zone, weight, dimensions by non-standard rules.
For CDEK and similar services, critical configuration includes:
- Shipping city — where goods are shipped from (city code in the CDEK system)
- Default dimensions — if a product doesn't have weight and size, these default values are used
- Tariffs — available tariffs are selected (courier, pickup point, locker)
- Pickup point selection widget — a map with self-pickup locations, embedded in the checkout template
Currencies, Taxes, and Email Notifications
Currencies are configured in the currency module. For each currency, display format and exchange rate are set. The base currency is the one in which prices are stored. Conversion happens automatically when displaying in another currency.
Taxes (VAT) are configured in "Store" → "Taxes". A rate is created (20%, 10%, 0%, no VAT) and tied to products through an infoblock property or product type. During checkout, VAT is calculated and passed to the receipt (for online cash registers — required by law 54-FZ).
Email notifications — email message templates tied to events: new order, status change, payment received. Templates are edited in "Settings" → "Email Events". Macros (#ORDER_ID#, #ORDER_REAL_ID#, #PRICE#) insert order data.
Configuring the sale module is the foundation on which the rest of the store logic is built. Errors here manifest later: incorrect statuses break 1C exchange, an unconfigured payment system callback means unconfirmed payments, missing VAT in the receipt means a fine from the tax authority.







