A useful starting point for CRM and 1C integration is to describe a business event: a manager confirms an order, accounting issues an invoice, a payment arrives or a customer’s details change. For each event, define what should appear in the other system and who checks the result. A request to “synchronize everything” conceals decisions about data ownership and allows the systems to overwrite each other’s records. A small exchange table showing the source, recipient and trigger conditions provides a more precise basis for the project.
Assign a source for each field
Distinguish ownership of an entity from ownership of individual data items. A contact phone number may be updated in the CRM, while bank details are verified in the accounting system. For disputed fields, agree on priority, permitted changes and how conflicts will be resolved manually. Customers, counterparties, contact persons and contracts may have different relationships in the two applications. Mapping must account for what they mean. Storing a pair of stable identifiers helps update the correct record even after its name or details change.
Choose the exchange method after reviewing the configuration in use and its customizations. The 1C platform provides integration tools, including a standard REST interface based on OData. Such an interface provides a technical way to work with data; the business rules of the specific solution still need to be examined. For example, creating a document and posting it may require different checks. Agree on the objects to be published, the integration account’s permissions and field validation with the person responsible for the configuration.
Make repeated transmission predictable
If a connection fails, the sender may repeat an operation that the recipient has already completed. For orders, payments or reference data changes, provide an event identifier and a rule for repeated processing. If both systems publish changes, define how to distinguish an original update from a synchronization result to prevent transmission loops. Record the technical status, time and error cause. Users need a clear indication of the exchange state and a way to refer a problematic case to the responsible specialist.
Before launch, test a sample containing complex cases: several contacts for one counterparty, changed details, a cancelled order, partial payment, and a record that has been deleted or marked for deletion. For each case, reconcile the resulting documents and relationships, rather than only checking the interface response. Where financial data is involved, agree on the reconciliation period and rules with the accounting team. In the test environment, it is useful to separately reproduce a delayed response and a repeat exchange after the service has stopped.
Launch one data flow at a time
The first stage could transfer an approved order from the CRM to 1C and return its accounting number and status. Once this is stable, add payments, documents and reference data changes. Results can be assessed through the time spent on manual transfers, the number of duplicates and the volume of unresolved errors. For ongoing support, assign reference data owners, maintain a log of schema changes and check the exchange after configuration updates. This keeps the integration manageable as both applications develop.

