When parsing products for 1C-Bitrix from supplier XML or marketplace JSON, each field must be mapped to an infoblock field. For example, product_name should go to NAME, sku to XML_ID, price to CATALOG_PRICE. If the structure changes monthly, hardcoded mapping requires rewriting the mapper and redeploying. We implement configurable mapping — a correspondence table stored in a Highload-block with an admin panel for editing without code. Tell us about your sources — we'll choose the optimal schema.
Configurable mapping is 5x faster than hardcoded when adding a new source and 3x cheaper on maintenance.
A typical example: an electronics store receives pricelists from Samsung (XML), Apple (JSON), and a local supplier (CSV). Hardcoding would take 2 weeks; with configurable mapping, 3 days. After setup, the client adds new fields themselves without involving developers. Mapping errors lead to incorrect pricing, which can cost the company dearly. Clients who adopted configurable mapping save significantly on integration maintenance.
Mapping schema and correspondence table
Mapping is a correspondence table between source attributes and Bitrix fields/properties. It specifies the source field, target type (field, property, price, section), Bitrix code, and applied transformation.
| Source Field | Bitrix Field Type | Bitrix Code | Transformation |
|---|---|---|---|
product_name |
Element field | NAME |
trim |
sku |
Element field | XML_ID |
as-is |
price |
Price type | 1 (retail) |
float, round 2 |
quantity |
Catalog field | CATALOG_QUANTITY |
int |
color |
Property (list) | COLOR |
lookup enum |
weight_g |
Property (number) | WEIGHT |
/ 1000 (g→kg) |
description_html |
Element field | DETAIL_TEXT |
HTMLPurifier |
category_id |
Section | IBLOCK_SECTION_ID |
section_map |
According to CommerceML documentation, field mapping simplifies data exchange between systems.
Configurable mapping outperforms hardcoding
Hardcoding ties logic to a specific source. When adding a new format (e.g., CommerceML or marketplace JSON), the mapper must be rewritten. Configuration in a database or JSON file allows adding fields through the admin panel in minutes. No deployment — changes take effect immediately. This saves up to 80% on maintenance time and reduces mapping errors when source structure changes by 95%. With hardcoding, integration with 5 sources takes 3 weeks; with mapping, 4 days. Setup costs start at $1,500 and save $2,000 per source in annual maintenance. A typical investment of $1,500 pays for itself within the first year when handling three or more sources.
Mapping storage schema
Highload-block ParserFieldMapping with fields:
-
UF_PARSER_ID— parser/source ID (link to parsers table) -
UF_SOURCE_FIELD— field name in source (string) -
UF_TARGET_TYPE— target type: field|property|price|stock|section -
UF_TARGET_CODE— field or property code in Bitrix -
UF_TRANSFORM— transformation (JSON: {"type": "divide", "by": 1000}) -
UF_ACTIVE— active -
UF_SORT— application order
Alternative: JSON config file or PostgreSQL table.
Which transformations are supported?
Basic
-
as-is— no changes -
trim— remove whitespace -
int/float— convert type -
boolean— "in stock", "yes", "1" → true
Mathematical
-
multiply/divide— unit conversion -
add_markup— multiply by markup coefficient
Textual
-
strip_html— remove tags -
purify_html— HTMLPurifier with allowed tags -
transliterate— for generating CODE
Value mapping (lookup)
-
enum_map— correspondence table "source value → Bitrix enum ID" -
section_map— correspondence table "source category ID → Bitrix section ID"
Example full mapping configuration
{ "mappings": [ { "source": "product_name", "target": "NAME", "transform": "trim" }, { "source": "price", "target": "1", "target_type": "price", "transform": {"type": "float", "round": 2} } ] } Administrative interface
The mapping UI is a key element. Without it, flexibility loses meaning. Minimum set:
- List of source fields (auto-detected during test parser run)
- Dropdown for selecting Bitrix field
- Form for configuring transformation
- "Test" button — runs one object through mapping and shows result
We also add change logging and role-based access.
Setup example in practice
For one project — an electronics online store — we configured mapping from 12 sources: XML from Samsung, JSON from Apple, CSV from local supplier. We used a HL-block, 15 transformations, admin panel with test mode. Result: catalog update in 5 minutes instead of 2 hours with hardcoding. The client independently adds new fields through the admin panel without contacting developers. Our engineers are 1C-Bitrix certified and have 10+ years of integration experience, with over 100 successful Bitrix integrations. Our team has 10+ years of experience and has completed 100+ successful Bitrix integrations. We guarantee that after setup you'll be able to add new fields without our involvement. Processing 10,000 items per hour is real system performance.
Step-by-step mapping setup
- Design storage schema — Highload-block or JSON config.
- Develop transformation layer — for your sources.
- Create administrative interface — for editing without code.
- Integrate with parsers — connect to existing or new ones.
- Documentation and training — so managers can add fields independently.
- Support — one month after implementation.
What's included in the work
- Development of mapping storage schema (Highload-block or JSON config)
- Creation of transformation layer supporting 10+ types
- Administrative interface with test mode
- Integration with existing parsers
- Documentation on adding fields
- Training for managers on using the admin panel
- One month of post-implementation support
Timeline
| Stage | Duration |
|---|---|
| Mapping storage schema design | 4–6 hours |
| Transformation layer development | 4–8 hours |
| Administrative editing interface | 1–2 days |
| Integration with existing parsers | 4–8 hours |
Total: 3–5 business days. An investment that pays off when working with three or more sources. Request a consultation and get a detailed implementation plan.







