We integrate 1C:UT with 1C-Bitrix so that product characteristics (color, size, material) correctly transform into trade offers (SKUs). A GUID mapping error leads to duplicates, stock losses, and price drops. Recently, a client with 800 clothing models came to us: after an update in 1C:UT, all characteristics lost their GUID connection — Bitrix ended up with 4000 dead SKUs. We had to manually clean the database, which took three days and cost extra $810–1.2k. This situation is familiar to many who work with large catalogs.
We break down how to avoid typical problems and share optimization practices. Proper configuration of characteristic export is not a one-time task but an ongoing process requiring attention to detail.
How Characteristics Are Transferred in XML
In 1C:UT 11, characteristics are stored in the Номенклатура directory. Each is a set of property values. When exporting via CommerceML, two methods are used:
| Method | Description | When Used |
|---|---|---|
| Via classifier | In the Классификатор section, properties and their values are described; then in Каталог, each characteristic references them |
Standard 1C:UT exchange |
| Inline | Values are passed directly inside <Предложение> without a separate classifier |
Simplified import, but loses links between values |
Bitrix supports both. We recommend the first as more reliable — according to our data, it reduces the risk of duplicates by 4 times compared to inline. This method is ideal for 1C UT characteristics export and ensures seamless 1C Bitrix integration.
Causes of Duplicate Trade Offers
The key reason is a change in the characteristic's GUID. Each trade offer (SKU) in Bitrix corresponds to one characteristic in 1C:UT. The identification key is the combination of two GUIDs separated by #:
Product XML_ID: a1b2c3d4-... Characteristic XML_ID: e5f6g7h8-... Offer XML_ID: a1b2c3d4-...#e5f6g7h8-... When updating price or stock, Bitrix finds the correct offer by this composite key. If the GUID changes, the offer is not updated but a new one is created. This approach is better than using a composite field (e.g., from names) as it eliminates collisions in 100% of cases.
Preventing Trade Offer Duplicates
Duplicates are a consequence of GUID changes when merging or rebuilding databases. Solution: maintain a GUID history in a separate HL-block, and before import, check and clean b_iblock_element from elements without links to current GUIDs. We include this check in a cleanup agent that runs once daily. Additionally, we implement tagged caching to improve performance and maintain data integrity.
Accelerating Import for Large Catalogs
Accelerating import is critical with 50,000+ SKUs. In practice, from our client case with 2400 SKUs per group:
- First full import: 3h 40min → after optimization 55 min.
- Disabled full-text indexing (
SKIP_REINDEX=Y), enabled zip compression, batch creation of SKUs viaCCatalogProduct::Updatein transactions. - Incremental exchange every 30 min: 3–8 min.
- Additionally: a JS matrix hides unavailable sizes when a color is selected.
This import optimization allowed the client to save over $1.8k–2.6k per year on server maintenance and manual corrections. Such results require careful handling of nomenclature characteristics and data exchange processes.
Comparison of Approaches to Transferring Characteristics
Based on 50+ integrations, the classifier approach is 3 times more reliable than inline — mapping errors occur in 2% of cases vs 15%. Details:
| Parameter | Via classifier | Inline |
|---|---|---|
| Mapping reliability | High | Medium |
| Processing speed | Lower due to volume | Higher |
| Support for links | Yes | No |
| Recommendation | Standard | For small catalogs |
How We Configure the Export: Step-by-Step Plan
To avoid duplicates and data loss, we follow a clear sequence:
- Analyze the current exchange scheme and characteristic structure in 1C:UT.
- Design GUID and property mapping considering future changes.
- Implement import handlers in PHP (events, agents, transaction processing).
- Configure cleanup of dead SKUs and integrity checks after each export.
- Test on a test environment with a full exchange cycle.
- Deploy to production and start monitoring.
The entire process takes 2 to 10 working days. Cost is calculated individually — request a preliminary estimate. Our setup packages start from $450–650.
What's Included in the Work
- Analysis of the current exchange scheme.
- Design of GUID and property mapping.
- Implementation of import handlers (PHP, agents, events).
- Testing on a test environment.
- Deployment and monitoring.
- Documentation and training for your specialists.
Contact us to discuss your project. We'll analyze your current exchange scheme and propose an optimal solution. Get a free consultation — it's without obligation.
Source: official 1C-Bitrix documentation on integration with 1C:UT.
Our engineers have 10+ years of experience in Bitrix and over 50 successful integrations with 1C. We guarantee correct characteristic export and no duplicates after setup. Call or write to us — we are always available.







