MoySklad
Odoo
amoCRM
Tizimlashtirish
Marketing
AI agentlar
BUline
MoySklad
Odoo
amoCRM
Систематизация
Маркетинг
Маркетинг: обзор
Стратегия и контент
Стратегия и планКонтент и SMM
Рекламные каналы
Google AdsYandex DirectРеклама в TelegramInstagram и FacebookМаркетплейсы
Органический рост
SEO
Измерение и аналитика
Аналитика и KPI
AI-агенты
BUline
MoySklad
Odoo
amoCRM
Systematization
Marketing
AI agents
BUline
Home/Odoo/External systems and equipment
Odooimplemented by BUline
Odoo · Integrations · External systems and equipment

amoCRM, MoySklad, 1C and equipment: moving from a legacy system to Odoo and working side by side

A company that moves to Odoo does not switch everything off in one day. amoCRM or 1C runs in parallel for a while, a scanner and a printer are connected in the warehouse, and attendance comes from a device. First we decide how to connect and which system is the main source of data.

amoCRMMoySklad1CExcelScannerScaleAttendancesIoT
External systems

Five external systems: the open interface and the main limitation

The Odoo 20 documentation does not describe a ready-made exchange with amoCRM, MoySklad or 1C. Each system has its own open interface, and the connection relies on those documents.

SystemInterface per official documentationMain limitation
amoCRMREST API, OAuth 2.0, webhook7 requests per second per integration, 50 for the whole account. Above that, a 429 error; with repeated violations, the account is blocked
MoySkladJSON API 1.2: login and password or a token. A webhook is available45 units per 3 seconds; each request uses several units. Webhook only on a paid subscription
1CEnterpriseData (XML) exchange; from 8.3.5, REST via ODataDepends on the configuration (a separate one for Uzbekistan) and the version; names and codes must match
Excel and CSVOdoo import and export: XLSX and CSVNot real time, a large file is split into parts, an import cannot be undone
Google SheetsAccording to the Odoo blog, the Google Spreadsheet connection was removed from version 16 onwardOdoo Spreadsheet (the Documents app), or loading through export and the API
Honest scope

What Odoo includes as standard and what we add

Based on the Odoo 20 documentation. If your version differs, we check at the diagnostic.

GoalIn standard Odoo / in an external serviceExtra work (BUline)
Exchange with amoCRMNot described in the Odoo documentation. amoCRM provides an open APIMapping of customer, deal, product and payment status
Migration from MoySklad and 1COdoo provides file import. MoySklad and 1C provide their own exportColumn mapping, cleanup, external ID, test load
Continuous exchange with 1CEnterpriseData is not described in the Odoo documentation. 1C provides the format and ODataExchange through a file or a service, with acknowledgment tracking
File import and exportAvailable: XLSX, CSV, external ID, the “Test” buttonColumn mapping, splitting into parts, duplicate record check
Barcode scannerAvailable: the Barcode app (Enterprise), USB, Bluetooth, mobile computerKeyboard layout, Enter character, label format
Scale, printer, POS equipmentAvailable: Point of Sale and IoT. A Bluetooth printer is not supportedModel testing, network, IoT system
Biometric attendanceAvailable: BioTime Cloud connection. eSSL and Mantra are new in Odoo 20Device model, legal requirement, data location
Mobile appAvailable: PWA and apps from app stores, a short offline modeTesting by role and on devices
amoCRM

amoCRM: does it stay as the CRM or move to Odoo

The answer depends on the organization’s structure. Both options work, but the connection differs in each.

amoCRM API (official documentation)

  • OAuth 2.0: an access token and a refresh token that can be exchanged only once. The refresh token expires after 3 months, and the new one must be saved
  • 7 requests per second (per integration) and 50 (per account), 429 error
  • A webhook response must return a success code (100–299) within 2 seconds, otherwise the notification is resent. If there are more than 100 errors in 2 hours and the last hook also fails, the hook is disabled
  • Methods are available for deals, contacts, companies, lists and customers

amoCRM stays

  • The sales team works in amoCRM; Odoo runs the warehouse, sales and accounting
  • When a deal becomes “successful”, a webhook creates a sales order in Odoo
  • The invoice and payment status go back to amoCRM; the stock level is visible in the deal
  • Risk of duplicate contacts: a matching rule by phone number is written down

Moving to Odoo CRM

  • Contacts, companies, open deals and notes are migrated through the API
  • The amoCRM pipeline is mapped to Odoo stages
  • During the parallel period we avoid two-way updates: one system is the main one
  • Whether a ready-made Odoo module exists is checked during the diagnostic; a module cannot be installed on Online
MoySklad and 1C

MoySklad and 1C: parallel operation and migration

Both systems have an official way to export data. The difficulty is not the format but making names, codes and stock levels match. Odoo and MoySklad →

MoySklad API

  • Access with a login and password (Basic) or a user token (Bearer); the solution token is separate
  • From 16 February 2026, the limit is applied separately per user and per solution. For login-and-password integrations, the request weight increases in steps: from December, 11 requests per 3 seconds
  • Up to 1000 elements in one array, up to 5 parallel requests, stock reports count as 5 units
  • If more than 200 requests with the same error arrive within a minute, the user’s API access is disabled. Webhook only on a paid subscription (and during the trial)

1C

  • EnterpriseData: XML format; version 1.0.1 covers 94 object types, with an acknowledgment message
  • Platform from 8.3.5: REST via OData 3.0 (JSON or Atom), published on a web server
  • “Trade Management 8 for Uzbekistan” (in the 1C catalog as “Upravlenie torgovlei 8 dlya Uzbekistana”; 1S-TOSHKENT, 11.0.0.24, 12 October 2026) is not intended for accounting and tax records
  • The exchange with Odoo is verified in practice: Odoo and 1C →

What we check during migration

  • Product name, unit of measure and codes must be written identically in both systems
  • The MXIK/IKPU code is on the card. MXIK and IKPU →
  • Opening stock, counterparty debts and open documents are checked by date
  • Import and cleanup →
Transfer

Moving from a legacy system to Odoo: six steps

This is a BUline recommendation. The order is refined during the diagnostic of each project.

01Data inventory

Which catalogs, documents and stock balances are migrated and which stay in the archive.

02Clean up

Duplicates, empty fields, wrong units of measure and inconsistent names are corrected.

03Test load with an external ID

Each record gets its code from the old system. Reloading updates the record instead of creating a copy.

04Parallel period

The old and the new system run together for a short time, and stock is reconciled every day.

05Final balances

On the day work stops, balances and debts are loaded again and open documents are closed.

06Old system in read-only mode

The history is kept, and new documents are entered only in Odoo.

Excel and Google Sheets

Excel, CSV and spreadsheets: Odoo import and export

A file is the simplest and most widely used connection. The rules are simple, but a mistake cannot be undone.

Import

  • Records are written from XLSX or CSV into each business object
  • The “Test” button checks the data before loading. The import is permanent and cannot be undone
  • If there is an external ID column, reloading updates the existing record
  • A large file may be interrupted: the documentation recommends splitting it into parts

Export

  • If “Updatable fields only” is selected, the file is suitable for re-import
  • Format: XLSX or CSV
  • Also used to pass a report to another system

Spreadsheets

  • Odoo Spreadsheet is part of the Documents app: lists and pivot tables connect to Odoo data
  • According to the Odoo blog, the Google Spreadsheet connection was removed from version 16 onward; for Google Sheets, the route is export or the API
  • The Apps Store has third-party modules; compatibility with Odoo 20 is checked
Equipment

Scanner, printer, scale: what the Odoo documentation describes

The following comes from the Odoo 20 documentation on Point of Sale, Barcode and IoT. A specific model is not promised without testing. POS and cash register →

EquipmentHow it connectsReminder
USB scannerConnects to the computer like a keyboardA matching keyboard layout, an Enter character after each scan
Bluetooth scanner, mobile computerWith Odoo on a phone or tabletAndroid and Chrome, or Windows and Edge; the model is tested
Receipt printerEpson TM-m30 III (model 112 or 152) directly over the network (ePOS). USB ePOS and ESC/POS printers go through IoTA Bluetooth printer is not supported. An ePOS printer needs a static IP
Label printerZebra (ZPL): according to the IoT documentation, a Zebra label printer works without a driverThe label format is tested in the warehouse
ScaleVia USB or IoT. The Mettler Toledo Ariva S (protocol 8217) is recommendedThe documentation states certification for the EU; Uzbekistan’s metrology requirement has not been checked
Cash drawer, customer displayThe drawer connects to the printer with an RJ25 cable. The display connects to the IoT BoxModel check
Camera, measuring instrumentsVia the IoT BoxWindows virtual IoT does not support these devices
IoT system

IoT system: a box or a Windows computer

The single point that connects IoT devices to the Odoo database. The printer, scale and scanner are linked to the database through it.

Two types

  • IoT Box: a ready-made microcomputer
  • Windows virtual IoT: installed on a Windows 10 or 11 computer
  • For scales, the documentation recommends a physical IoT system

Conditions

  • Using it in manufacturing requires an IoT Box subscription
  • The IoT app was not found in the open-source code repository; it is probably part of Enterprise
  • The system and the devices should be on the same network

Security

  • The IoT system cannot be exposed to the internet
  • Ports 8069, 80 and 443 are opened in the Windows firewall
  • IoT system updates are installed separately
Attendances

Attendance: kiosk, barcode and biometric device

There are three ways to record an employee’s arrival. The biometric route raises the most legal questions.

Kiosk (Odoo documentation)

  • Kiosk: a computer, tablet or phone; the employee picks their name, or a barcode or RFID is used
  • The barcode is read by a scanner or the device camera; a PIN code can be enabled
  • For RFID, key fobs and a reader are purchased separately. An IoT Box is not required
  • The kiosk link is not password-protected: if it leaks, a new one is generated

Biometric device

  • BioTime Cloud connection: the ZKTeco BioTime module pulls records into Odoo every 12 hours
  • The employee is matched by ZKTeco ID; only check-in and check-out types are used
  • Device support depends on the BioTime list; the documentation names no models
  • eSSL and Mantra devices are announced in the Odoo 20 release notes; no documentation page was found, so this is checked during the diagnostic

Uzbekistan law

  • Article 27¹, part 2 of the Personal Data Law: biometric data is stored within the territory of Uzbekistan
  • Article 26, part 3: biometric data for identifying a person is used only with that person’s consent
  • We check where the BioTime Cloud server and the fingerprint or face template are stored. Odoo receives the time and the terminal. Details →
Mobile app

Mobile app and offline mode: what to expect

The Odoo mobile app comes in two forms: a PWA and a store app. The documentation recommends the PWA. Offline mode is meant for short interruptions, not for permanent offline work.

  • PWA: added to the home screen, supports push notifications and SSO
  • Store apps support multiple accounts but are not compatible with SSO
  • In offline mode you can edit a previously opened record and create a new one, but you cannot upload images
  • Offline storage is limited to 2 GB, and a hard refresh deletes the saved data
  • Apps built on standard components work offline; a custom module needs testing
—
—
—
The BUline Method

How we implement external system and hardware connections

The stages follow the general BUline Method. The timeline is agreed in writing after the diagnostic. Implementation process →

01Diagnostic1–2 weeks

Which system stays, which one is replaced, and which is the primary source of data. The equipment list and models. Result: a business requirements document (BRD).

02Architecture1–3 weeks

The connection method (file, API, webhook, intermediate service), hosting and IoT system are chosen. The field map and error paths are documented.

03Testing and sprints8–16 weeks

The connection is tested on a copy of the database. Hardware is checked on the actual model. Migration goes through a trial load, then a pilot.

04Training

Warehouse staff, cashiers, HR and accountants are trained by role. Instructions and video lessons are provided.

05Post-launch support30 days + ongoing

After launch, 30 days of intensified support, then agreed ongoing support. When the external system or Odoo is updated, the connection is retested.

Preparation

What to gather before we start

This list speeds up the diagnostic. We can start even if not everything is ready.

Systems

  • Read access to amoCRM, MoySklad and 1C accounts
  • 1C configuration and version
  • Export samples (one month)

Equipment

  • Models of the scanner, printer, scale and attendance device
  • Network diagram and static IP
  • Hosting type: Online, Odoo.sh or your own server

Data

  • List of product names, units and codes
  • Date of stock and debt balances
  • Employee consent to biometric data
Mistakes

Common mistakes and how to avoid them

MistakeConsequenceHow we prevent it
Keeping the same data in both the old and the new systemStock and prices divergeOne primary system is assigned for each catalog
Not saving the amoCRM refresh tokenThe connection breaks and re-authorization is requiredWriting the new token to a safe place immediately
Sending too many unnecessary requests to one systemError 429, access being cut offReducing requests with webhooks and batching
Importing into the production database without testingThe load cannot be undoneFirst on a copy of the database: the “Test” check and a trial load
Buying hardware before checking itThe printer or scale turns out to be incompatibleThe model is confirmed against the documentation and by a test
FAQ

Frequently asked questions

Can amoCRM be connected to Odoo?

The Odoo 20 documentation does not describe an amoCRM connection. amoCRM provides an open REST API and webhooks, so the connection is built separately. Whether a ready-made module exists is checked during the diagnostic.

Can data be migrated from MoySklad to Odoo?

Yes. MoySklad exports the data, and Odoo accepts XLSX and CSV imports with an external ID. Cleaning up names, units and codes takes the most time. Stock and debt balances are reloaded on the migration day.

Can 1C and Odoo work together?

They can, but the Odoo documentation does not describe a ready-made exchange with 1C. 1C provides EnterpriseData and OData; compatibility with the Uzbekistan configuration is first checked in a small test.

Can Google Sheets be connected to Odoo?

According to the Odoo blog, the Google Spreadsheet integration was removed in version 16 and later. Options: Odoo Spreadsheet, export and import, or a third-party module from the Apps Store.

Which scales and printers are compatible?

The documentation recommends the Mettler Toledo Ariva S scale (protocol 8217) and the Epson TM-m30 III printer (model 112 or 152). Bluetooth printers are not compatible. Your models are tested.

Can a biometric attendance device be connected?

The Odoo 20 documentation describes the ZKTeco BioTime Cloud connection, while eSSL and Mantra are announced in the release notes. Biometric data must be stored within the territory of Uzbekistan, so we check the server location first.

How much does the service cost and how long does it take?

The Odoo licence depends on the number of users and apps (terms at odoo.com); the IoT system requires a separate subscription. The scope of BUline’s service depends on the number of systems and devices, data volume, branches, customization and training. The exact cost and timeline are given in a written proposal after the free diagnostic.

Free diagnostic

Let’s decide together which Odoo apps to start with

During the diagnostic, we review your processes and tell you where standard Odoo is enough and where configuration is needed — with an app list, edition and phases.

Free diagnostic