Set Up Stock Balance Exchange Between 1C and 1C-Bitrix

Exchange of Stock Balances Between 1C and 1C-Bitrix: Setup Guide We configure the exchange of stock balances between 1C and 1C-Bitrix. Discrepancies between the site and the accounting system do not exceed a minute. A synchronization error is one of the most costly: one wrong XML warehouse identi

Our competencies:

Frequently Asked Questions

Exchange of Stock Balances Between 1C and 1C-Bitrix: Setup Guide

We configure the exchange of stock balances between 1C and 1C-Bitrix. Discrepancies between the site and the accounting system do not exceed a minute. A synchronization error is one of the most costly: one wrong XML warehouse identifier, and the site shows 0 instead of 15 units. The customer adds the product to the cart, but at checkout sees it is unavailable. We eliminate this gap. The average savings from automation are substantial due to reduced manual labor and fewer order cancellations. A single synchronization error can lead to significant losses. Our experience: over 7 years of integrations and 50+ projects. Thousands of orders are processed in real time daily. We guarantee 99.9% sync accuracy.

Why Warehouse-Level Stock Sync Matters

Data discrepancy between 1C and the site leads to lost orders and excessive purchases. One mismatch in the XML warehouse identifier — and balances do not distribute, ending up on an "unknown" warehouse. Example: 15 units in stock, site shows 0. We prevent this. On one project with 15,000 products, we configured sync every 10 minutes, reducing order cancellations due to stockouts by 3 times.

How Balances Are Transferred via CommerceML

According to the CommerceML specification, balances are included in the offers*.xml file inside the <QuantityInWarehouses> block:

<Offer> <Id>OFFER_GUID</Id> <QuantityInWarehouses> <QuantityInWarehouse> <WarehouseId>WAREHOUSE_GUID</WarehouseId> <WarehouseName>Main Warehouse</WarehouseName> <Quantity>15</Quantity> </QuantityInWarehouse> </QuantityInWarehouses> <Quantity>15</Quantity> </Offer> 

Bitrix updates balances per warehouse in the b_catalog_store_product table and the total balance in b_catalog_product. The total balance is an aggregate over all warehouses, used in catalog filters. We configure the exchange via CommerceML, accounting for all nuances.

How to Set Up Warehouses in Bitrix

Catalog → Warehouses → Warehouse settings:

  • Create warehouses matching those in 1C.
  • Assign each warehouse an XML identifier (field External code) — it must match the WarehouseId from the export.

Without matching XML identifiers, balances by warehouse will not distribute. The error is invisible until a manager detects the discrepancy. We guarantee correct configuration at this stage.

Nuances of warehouse identification in CommerceML If the XML warehouse identifier in Bitrix does not match the WarehouseId from the export, balances fall into the default warehouse. To avoid this, before setup, export the list of warehouses from 1C with their GUIDs and match them manually. Use a query to the `b_catalog_store` table to verify.

How to Configure Product Availability at Zero Stock

Catalog → Catalog settings → Zero stock. Three scenarios exist:

Scenario Description Best for
Deactivate product Product disappears from catalog when stock hits zero Stores without pre-order
Show with "Pre-order" button Stock 0 but product page accessible for ordering Stores with pre-order
Keep active Do nothing automatically Custom logic

For stores with pre-order, implement logic via the element property PREORDER_AVAILABLE = Y. An event handler hides the "Buy" button and shows a pre-order form.

Why Reservation During Ordering Is Critical

To prevent stock going negative when multiple orders occur simultaneously, use these settings:

  • Reservation moment: at order creation or upon payment confirmation.
  • Reserve release: on order cancellation or after N days without payment.

The reserve is stored in b_sale_reserve_quantity and is considered when displaying available stock: available = stock - reserved. When transferring an order to 1C, ensure 1C understands "reserved quantity." Automating the exchange saves up to 40 hours of manager work per month.

How to Set Up Stock Exchange: Step-by-Step Guide

  1. Create warehouses in 1C-Bitrix matching those in 1C. Assign each an XML identifier matching the WarehouseId from the export.
  2. Configure the import of offers*.xml: in the admin section Settings → Data exchange, specify the file URL and schedule.
  3. Verify identifier mapping: after the first import, open Catalog → Warehouses and ensure quantities match.
  4. Set up reservation: in Shop settings → Reservation, choose the reservation moment.
  5. Choose a zero-stock scenario: deactivate, "pre-order", or keep active.
  6. Test the exchange: create an order, verify that stock decreased and the reserve appeared in 1C.

How Often to Update Stock Balances

Stock and prices are the most volatile data. Recommended settings:

Business type Frequency Rationale
Food, pharmacy Every 5–15 minutes Fast turnover, freshness critical
Clothing, electronics Every 30–60 minutes Moderate turnover
Building materials, furniture Every 2–4 hours Rare arrivals

Exchange via CommerceML with proper warehouse configuration runs 3 times faster than standard product import. For frequent exchange, use a separate thread only for offers*.xml.

What Is Included in Turnkey Stock Exchange Setup

  • Audit of the current exchange and error identification.
  • Creation and mapping of XML warehouse identifiers.
  • Configuration of reservation and zero-stock scenarios.
  • Setting import schedule per business type.
  • Testing and result confirmation; training managers.

Turnkey setup includes all stages. Get a consultation on your project — we will analyze your current scheme and offer the optimal solution. Accurate stock balances increase conversion by 15–30%.

Setup Timelines

Basic setup of stock exchange with warehouse distribution takes 4–8 hours. With reservation, auto-activation, and separate scheduling — 1–2 days. Request an exchange audit — we will calculate exact timelines for your business.