Imagine your enterprise producing custom products. Customers place orders on the website, but the production department only receives them after manual entry into 1C:ERP. Errors, delays, lost orders — a typical picture without integration. We solve this by setting up direct synchronization between the site and 1C:ERP at the level of orders, stock, prices, and production tasks.
1C:ERP Enterprise Management is the most comprehensive 1C configuration, covering production, supply chain, financial accounting, asset and personnel management. Integration with the site is part of a broader corporate information system architecture. Without it, order processing time grows, stock discrepancies appear, and prices for different customers must be updated manually.
Over 10 years, we have completed 30+ projects integrating 1C:ERP with websites. Our experience includes enterprises with dozens of legal entities, complex pricing conditions, and multi-level production. Each integration is unique, but architectural solutions remain similar. In this article, we will explain how to build a reliable integration using OData and an ESB data bus.
How Integration Works: From 2 Days to 30 Minutes
For a machine-building enterprise, we implemented an integration where an order from the site triggers a chain of documents in 1C:ERP:
- Customer order → material requirements calculation
- Requirements → purchase orders or production tasks
- Finished goods → reservation for customer order
Previously, order processing took 2 days: the manager manually transferred data from the site to 1C. After integration, time dropped to 30 minutes. Key decisions: using OData for item and stock export (every 5 minutes), RabbitMQ for asynchronous order transfer (real time), and modifying the 1C module to automatically create documents from the bus data.
Why OData Is the Best Choice for 1C:ERP Integration
1C:ERP supports publishing via OData — a REST-based protocol. This is the most modern integration method. OData integration is 3 times faster and more reliable than FTP/XML exchange. Example request:
GET https://1c-server/odata/standard.odata/Catalog_Номенклатура ?$filter=DeletionMark eq false &$select=Code,Description,Weight,НоменклатурнаяГруппа_Key &$expand=НоменклатурнаяГруппа OData supports filtering, sorting, pagination, and expanding related objects — convenient for incremental synchronization. Unlike legacy XML/FTP exchanges, OData provides data typing and transparent error handling. Learn more about OData in the official Microsoft documentation.
How Often to Synchronize Data?
| Data Type | Periodicity | Real-Time Requirements |
|---|---|---|
| Stock and prices | 5-15 minutes | No |
| Orders | Real time via queues | Yes |
| Items | Incrementally once per day | No |
| Counterparties | Incrementally once per day | No |
Comparison: Direct Integration vs ESB
| Criterion | Direct Integration | Integration via ESB |
|---|---|---|
| Adding new systems | High (new connections each time) | Low (connect to the bus) |
| Reliability during failures | No retry | Retry logic and message queue |
| Data flow monitoring | Only 1C logs | Centralized via RabbitMQ/Kafka |
| Scalability | Limited | Easily scalable |
How the Integration Bus (ESB) Works
ESB (Enterprise Service Bus) is an intermediate layer between the site and 1C:ERP. It receives messages from the site, transforms them into 1C format, and delivers them with guaranteed delivery. On failure, the bus automatically retries. ESB also allows connecting other systems (WMS, CRM, BI) without modifying existing integrations.
Typical stack: RabbitMQ for message queues, WSO2 for data transformation, PostgreSQL for logging. The bus is deployed on a separate server or Docker container.
What If 1C:ERP Is Heavily Modified?
At many enterprises, 1C:ERP is customized for specific business processes. In such cases, integration requires additional analysis: we check which objects were changed and adapt OData queries or add custom handlers. Even with deep customizations, we aim to keep the standard OData interface, adding only necessary extensions.
Process of Work
- Analysis — We study current business processes, 1C:ERP configuration, and site architecture. Prepare a requirements document.
- Design — Determine the integration scheme (ESB or direct), data format, and protocols. Align with your 1C team.
- Implementation — Configure OData on the 1C side, develop connector to ESB or integration scripts on the site. Perform unit testing.
- Testing — Conduct load and acceptance testing on a test database. Fix bugs.
- Deployment — Deploy the solution on production servers, set up monitoring and logging.
What Is Included
- Technical documentation (architecture, API description, settings)
- OData setup on the 1C:ERP server
- Development of connector to ESB (RabbitMQ/Kafka)
- Administration console (manual resynchronization, log viewer)
- Training for 1C staff
- 6 months warranty on integration scripts
Estimated Timelines
From 10 to 20 weeks depending on integration scope, complexity of 1C:ERP configuration, and chosen ESB architecture.
Typical Integration Mistakes
- Ignoring OData versioning — updating 1C may change query structure.
- Lack of retry mechanism for temporary failures (solved by ESB).
- Attempting to sync all data at once instead of incremental approach — causes high load on 1C and site.
If you want to automate data exchange between your site and 1C:ERP — contact us. We will audit, propose an optimal architecture, and perform turnkey integration. Get a free engineer consultation. Order integration today and cut order processing time in half.







