Complete Guide to 1C:AutoService and Bitrix Exchange
Imagine an auto parts online store with 45,000 items, each having an OEM number, cross-analogs, and vehicle applicability. All this data lives in 1C:AutoService—and on the website you need not only to display it but also provide fast search and filtering. In a typical implementation, CommerceML only transfers the name and SKU—but for an auto service, OEM number, cross-analogs, and vehicle applicability are critical. If not configured correctly, the buyer won’t find the needed part, and the exchange will bog down the site for hours.
We have encountered such cases dozens of times, and each time the same problems arose: standard CommerceML does not transmit the complex applicability structure, the exchange "hangs" the server, and cross-numbers get lost during import. We'll walk through how to set up integration to make it stable and fast, with specific configuration examples and optimizations.
Reach out to us for an audit of your 1C and Bitrix configuration—we will propose the optimal integration scheme.
How to Set Up Exchange Between 1C:AutoService and 1C-Bitrix?
Items in 1C:AutoService
The configuration stores spare parts with extended attributes:
- Manufacturer article (OEM number)
- Cross-numbers (analogs from other manufacturers)
- Applicability (make, model, year, engine)
- Brand/manufacturer
- New/used flag
- Warranty period
Standard CommerceML transfers only name and SKU. OEM numbers, cross-numbers, and applicability are transmitted via AdditionalProperties. In Bitrix, each of these properties must become an infoblock property with the correct type (string, multiple value for cross-numbers, reference to a dictionary for applicability). According to official CommerceML documentation, these properties can be transferred without quantity limits, but it is important to properly configure the import handler.
Applicability: The Most Complex Part
Part applicability is a many-to-many relationship: one part fits multiple vehicles, one vehicle uses many parts. In 1C:AutoService, applicability is stored in a register of information. CommerceML has no standard way to transfer this structure. We consider two approaches.
Option 1: JSON in a property. In 1C, we form a JSON string with applicability and put it in an AdditionalProperty:
[ {"make":"Toyota","model":"Camry","year_from":2006,"year_to":2011,"engine":"2AZ-FE"}, {"make":"Toyota","model":"RAV4","year_from":2005,"year_to":2012,"engine":"2AZ-FE"} ] In Bitrix—a property of type "Text" storing JSON. Filtering by applicability is done via full-text search or a separate table.
Option 2: Separate applicability infoblock. We create a separate infoblock "Applicability" (make/model/year/engine) in Bitrix and an "Items" infoblock with a binding property of type "Link to elements". This is the correct architecture for full-blown car selection, but synchronizing it from 1C is more complex—a custom import handler is needed.
The choice depends on scale. For a catalog up to 100,000 items with infrequent car selection, JSON is sufficient; for large stores with active filtering, use a separate infoblock.
Why the Exchange May Slow Down Your Site and How to Fix It
With a full catalog exchange of 45,000 items, standard CommerceML generates a huge XML file (up to 100 MB) which the server processes for tens of minutes. During import, the database is locked, and the site "freezes". Solutions: export only items in stock, transfer images via FTP separately from XML, use incremental (delta) exchange—transfer only records changed since the last synchronization.
| Parameter | Full Exchange | Incremental Exchange |
|---|---|---|
| Data volume | Entire catalog | Only changes since last sync |
| Execution time | 12–40 minutes | 1–3 minutes |
| Server load | High (table locking) | Minimal |
| Frequency | Once a day (night) | Every 30 minutes |
Incremental exchange works up to 6 times faster than full exchange for comparable data volume, and server load is reduced by 80%.
How to Set Up Search by Cross-Numbers?
Cross-numbers are codes of the same part under different brands. A buyer searches by cross-number on the site—the part must be found even if an analog from another manufacturer is sold. In Bitrix, cross-numbers are stored as a multiple property of the infoblock. Search by them is done through the bitrix:catalog.smart.filter component or a custom search using CIBlockElement::GetList with a property filter.
When importing from 1C:AutoService, cross-numbers are transmitted via AdditionalProperties with multiple values:
<ЗначениеРеквизита> <Наименование>КроссНомер</Наименование> <Значение>BP-35</Значение> </ЗначениеРеквизита> <ЗначениеРеквизита> <Наименование>КроссНомер</Наименование> <Значение>ATE-603310</Значение> </ЗначениеРеквизита> The import handler in Bitrix must collect multiple values of one property into an array.
Work Orders: Auto Service Specifics
In 1C:AutoService, besides selling parts, "Repair Orders" are maintained—documents for performing services. On the website, this can be a service booking form or online diagnostics. Transferring orders from the site to 1C:AutoService is typically done not via CommerceML but via a REST request to the 1C HTTP service. The order is created as an "Appeal" or "Repair Order" in the "New" status.
Case Study: Used Parts Store (From Our Practice)
A car disassembly company: 45,000 items of used parts, each with photo, condition rating (1-5), applicability. Full exchange with 1C:AutoService took 40 minutes and "hung" the server.
Optimizations:
- Export filter: only "In stock" (quantity > 0)
- Images via FTP separately from XML (XML without base64 is half the size)
- Applicability stored as JSON in one field (not a separate infoblock)
- Incremental exchange every 30 minutes: only items with changed stock
Result: full exchange—12 minutes (at night), incremental—2 minutes. The site stopped slowing down, search became fast.
Typical Mistakes When Setting Up Exchange
- Using the same XML file for both full and incremental exchange
- No filter by stock during export
- Transferring images within XML as base64 instead of via FTP or URL
- Incorrect permission settings for 1C temporary cache folders
- Forgetting to set an index on the
CrossNumberproperty—search slows down
What's Included in the Work
When you order the exchange setup, you get:
- Audit of your current 1C:AutoService configuration and data structure in Bitrix
- Design of the import scheme (fields, property types, vehicle linking)
- Development of the import handler (CommerceML + custom properties)
- Setup of REST service for orders (if needed)
- Performance optimization (incremental exchange, filters)
- Testing on live data and error monitoring
- Documentation on maintenance and exchange schedule
Our Experience and Guarantees
We have been integrating 1C and Bitrix for over 10 years, having completed more than 50 projects for auto services and parts stores. Clients include large car dismantlers and service station chains. All work adheres to official 1C-Bitrix and 1C:Enterprise recommendations. Every integration comes with a 6-month guarantee.
Get a consultation—we will assess your project and propose the optimal solution. Order the exchange setup today to ensure your online store runs without failures.

