Setting up the 1C-Bitrix online store module

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.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    747
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

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:

  1. Creating a payment system — section "Store" → "Payment Systems" → "Add". Select a handler from the list (YuKassa, CloudPayments, bank transfer, cash).
  2. Field mapping — the handler requires data: order amount, order number, buyer email. These fields are mapped to order properties or calculated values.
  3. 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 shopId and 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.