Portfolio Services Company Contacts Blog Get a Quote
uaruen
Marble Hephaestus connects a cracked module to a new one, beside blue symbols for a shop, customers and products.
CRM

Migrating from 1C/BAS: How to Protect Website, CRM, and Marketplace Integrations

Ivan Deineka
Ivan Deineka
CEO at BotLabs
· Updated 10 min read
Key takeaway: A practical 1C/BAS migration plan: inventory data flows, test adapters, switch systems in stages, reconcile records, and prepare integration recovery.

Replacing 1C/BAS can look like an accounting task—until the website shows yesterday’s stock, a marketplace accepts an order for an item that has sold out, or a sales manager cannot see a new customer in the CRM. An accounting system usually exchanges data with several channels, each with its own rules, format, and owner. To move to another platform without a scramble of manual fixes, first map those data flows, then migrate them in separate, verifiable steps.

Legal context: what to check before planning

Cabinet of Ministers Resolution No. 1335 approved the procedure for compiling and maintaining a list of software and equipment that pose risks. It does not state a universal ban for every private company. The State Service of Special Communications publishes specific entries, while requirements depend on the system, data, the organization’s or operator’s status, and other circumstances. Before making a decision, check the specific product against the current list and obtain legal advice for your situation.

Draft Bill No. 13505 was rejected and withdrawn from consideration on 30 June 2026. The 2% of turnover figure and 2030 date discussed in connection with it are not enacted law under that bill. Keep this separate from the technical plan: an integration inventory helps make a migration manageable, but it does not by itself determine whether a company has a legal obligation to migrate.

Where migration risk arises

An integration is more than a connection between two systems. It includes the data source, transformation rules, timing, error handling, and a way to verify the result. A product, for example, may have different codes in the accounting system and on the website; an order may have several statuses; inventory may include reservations across multiple warehouses.

Replacing a system changes more than an API or file format. Identifiers, status meanings, units of measure, directory structures, time zones, and update rules may differ. If you reproduce only the technical connection and miss the business rules, data can reach its destination and still be wrong.

Inventory: document each data flow separately

Build a register of exchange directions, not just a list of systems. One service may have several independent flows: it may receive a product catalog and send orders, for example. For each flow, record:

  • Data and purpose: exactly what is transferred and which process uses it.
  • Source and recipient: which system owns the data and which only uses a copy.
  • Direction and mode: one-way or two-way exchange, scheduled, event-driven, or manual.
  • Identifiers and rules: matching keys, directories, transformations, currencies, and units of measure.
  • Technical contract: API, file, direct database access, or intermediary service; format, authentication, and limits.
  • Recovery and control: where errors appear, how to retry an operation, how to reconcile the result, and who responds.
  • Owner: the business owner and technical team, including a contractor if they maintain the connection.

Do not overlook spreadsheets handled manually, email imports, overnight batch uploads, or local scripts. They are often missing from documentation but remain part of day-to-day work.

Common data flows and what to check

FlowTypical directionMigration checks
Products, prices, inventoryAccounting → website, marketplaces, botSKU, warehouse, reservation, currency, and update-time mapping
OrdersSales channels → accountingUnique key, retries, statuses, and duplicate prevention
Customers and counterpartiesAccounting ↔ CRM or B2B portalRecord-merging rules, access, and conflicting changes
Payments and deliveryPayment/logistics services ↔ accountingStatus mapping, amounts, timestamps, and repeated webhooks
Rewards, discounts, limitsAccounting ↔ CRM or loyalty programBalance ownership, accrual rules, and duplicate-redemption controls
Documents and reportingAccounting → e-document exchange, email, BIPeriod completeness, format, archive, permissions, and totals reconciliation

This is a starting list, not a universal checklist. Add warehouse, production, service, or wholesale flows if they are part of your processes.

Integration examples are not migration case studies. The MedHouse Club case describes an exchange of catalog, prices, availability, and orders between an accounting system and Telegram/Viber stores. It shows how an accounting system can support several channels. It does not establish that the project involved a migration from 1C/BAS to another platform.

NFM AGRO illustrates a different scenario: a mobile CRM exchanges data with an ERP through a REST API. This is an ERP–CRM integration example, not evidence of a 1C/BAS migration. Examples can help illustrate flow types, but you still need to establish the scope and behavior of your own integrations.

For broader context, see these published articles on business process automation and n8n in business workflows. Automation tools can support individual flows, but they do not, by themselves, replace an accounting or ERP system.

When an integration layer can help

If many channels depend directly on the accounting system, a separate integration layer can shield them from its internal format. Adapters transform data into an agreed model, while channels work against a clearly defined contract. If the core system changes later, you can update the adapters and rules instead of rebuilding every connection separately.

This is an architectural option, not a prerequisite for migration. Separate connectors may be enough for a small number of simple flows. The right choice depends on the number of systems, how often they change, observability needs, and the support team’s capacity. Replace direct queries to an internal database only after assessing the risks and agreeing on the approach with the system vendor.

Seven steps for migrating integrations

  1. Document the current state. Save diagrams, settings, schedules, sample messages, connector versions, and contact details. Check: another person can explain the purpose of every flow.
  2. Define the target data model. Agree on directory owners, identifiers, statuses, required fields, and transformation rules. Check: every field has a source, a meaning, and a mapping rule.
  3. Prepare an adapter and test environment. Move the exchange to a test installation without sending test orders into live processes. Check: access is limited and logs contain useful errors without secrets.
  4. Test scenarios and edge cases. Cover successful creation, updates, cancellation, duplicates, partial failures, empty values, and one system becoming unavailable. Check: critical business rules match the agreed examples.
  5. Run a controlled parallel test. If the architecture allows, compare the new system’s results with the old system using copies or a mode that makes no side-effecting writes. Check: discrepancies are categorized and explained before cutover.
  6. Switch flows one at a time. Agree on the window, owners, success criteria, and rollback route. Check: test orders, inventory, and statuses reach the destination; a repeated message does not create a duplicate.
  7. Reconcile data and retire the old route. Compare document counts and totals, inventory, statuses, and pending operations for an agreed period. Check: the business owner has accepted any discrepancies, and the old route is disabled only after agreement.

A message queue can help handle temporary failures, but it does not by itself guarantee that nothing will be lost or duplicated. You also need idempotent operations, controlled retry policies, reconciliation between source and recipient, and a separate dead-letter store for messages that could not be processed. Assign an owner and reprocessing procedure to every such record.

Marble Hephaestus moves a blue shopping-cart cube between two modules.
A parallel run helps only when the team reconciles records and knows how to respond to discrepancies.

Rollback and recovery: agree on the plan before launch

Before cutover, decide who can stop the new flow and what signals should trigger that decision. Keep access to the previous configuration, record a recovery point, and describe how to handle records that have already entered the new system. Restoring the old connector without coordination can create two competing versions of the truth, so check separately whether data has been written to both systems.

Set a response deadline, escalation channel, and manual-handling process for critical orders. If rollback would otherwise lose new records, the plan should include an export or another agreed way to move them back. Rehearse the scenario in a test environment before relying on it during an incident.

Risks that are easy to miss:

  • Unknown dependencies: an old script or manual export was left out of the register.
  • Semantic differences: similar status names represent different stages of a process.
  • Redelivery: a webhook or request arrives again and creates a duplicate without an idempotency key.
  • Silent loss: a message fails and the system does not show it in an error queue.
  • Time discrepancies: different time zones or delays change the order of updates.
  • Excessive access: temporary keys remain active after testing or cutover.
  • Premature shutdown: the old connection is stopped before reconciliation and pending-data processing are complete.

Logs and regular reconciliation may be enough for minor auxiliary flows. Critical orders, payments, and inventory need explicit error alerts, controlled retries, and a named owner who responds to discrepancies.

How to assess a new system’s integrations

Compare systems using your own flows and test cases. Ask about a documented API or supported import formats, stable identifiers, webhooks, rate limits, logging, backups, a test environment, and the update process. Find out who owns the data and whether you can export it in a usable format.

Ask vendors to demonstrate more than a successful exchange: see how the system handles invalid data, duplicates, timeouts, and another system becoming unavailable. Assess the full support cost: connectors, monitoring, API changes, manual exception handling, and internal team time. Do not choose a system based on a claim that it “connects to everything” without checking your actual scenarios.

BotLabs designs CRM/ERP systems and their integrations; see our CRM development service for the relevant scope.

Plan a controlled transition. A reliable move starts with a map of data flows and rules, not with the first connector. Agree on the data model, test failures and duplicates, roll out new flows gradually, and reconcile the results with the business. A parallel run can reduce uncertainty, but its value depends on good test data, idempotency, and a recovery process.

Frequently asked questions

No. Resolution No. 1335 established a procedure for maintaining a list; it did not impose a universal ban on all private companies. Check the specific product, system, data, and requirements that apply to your company with a lawyer.

Draft Bill No. 13505, which was associated with these proposals, was rejected and withdrawn from consideration on 30 June 2026. The proposed 2% figure and 2030 date did not become law through that bill.

No. A queue helps manage retries, but you also need idempotency, reconciliation between systems, monitoring, and a dead-letter mechanism for failed messages.

Not always. It can help when many channels depend on the accounting system or exchange rules change often. Separate connectors with suitable logging and support may be enough for a few simple flows.

When agreed scenarios have passed, critical discrepancies have been explained, sample records have been reconciled, and owners know the stop and recovery procedures. Switch flows separately and check them after launch.

Sources

Request a consultation

Talk to a specialist about moving from 1C/BAS

In 15 minutes, we’ll review your process and identify the first step toward implementation.

Talk to a specialist.

A BUSINESS CONSULTATION
NEED → PLAN → IMPLEMENTATION

Implementation starts
with a clear plan.

Let’s discuss your accounting, website
and CRM — and the first step.

consultation about your project15 min · specialist consultation
… click to support
Ivan Deineka
Ivan Deineka
CEO at BotLabs
Ivan Deyneka is an entrepreneur and founder of BotLabs Agency, with over 8 years of experience launching and scaling digital products in the field of business automation.
← Back to Blog

Recommended articles

Moving from 1C/BAS?Talk to a specialist.Request a consultation