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.
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.
| System | Interface per official documentation | Main limitation |
|---|---|---|
| amoCRM | REST API, OAuth 2.0, webhook | 7 requests per second per integration, 50 for the whole account. Above that, a 429 error; with repeated violations, the account is blocked |
| MoySklad | JSON API 1.2: login and password or a token. A webhook is available | 45 units per 3 seconds; each request uses several units. Webhook only on a paid subscription |
| 1C | EnterpriseData (XML) exchange; from 8.3.5, REST via OData | Depends on the configuration (a separate one for Uzbekistan) and the version; names and codes must match |
| Excel and CSV | Odoo import and export: XLSX and CSV | Not real time, a large file is split into parts, an import cannot be undone |
| Google Sheets | According to the Odoo blog, the Google Spreadsheet connection was removed from version 16 onward | Odoo Spreadsheet (the Documents app), or loading through export and the API |
Based on the Odoo 20 documentation. If your version differs, we check at the diagnostic.
| Goal | In standard Odoo / in an external service | Extra work (BUline) |
|---|---|---|
| Exchange with amoCRM | Not described in the Odoo documentation. amoCRM provides an open API | Mapping of customer, deal, product and payment status |
| Migration from MoySklad and 1C | Odoo provides file import. MoySklad and 1C provide their own export | Column mapping, cleanup, external ID, test load |
| Continuous exchange with 1C | EnterpriseData is not described in the Odoo documentation. 1C provides the format and OData | Exchange through a file or a service, with acknowledgment tracking |
| File import and export | Available: XLSX, CSV, external ID, the “Test” button | Column mapping, splitting into parts, duplicate record check |
| Barcode scanner | Available: the Barcode app (Enterprise), USB, Bluetooth, mobile computer | Keyboard layout, Enter character, label format |
| Scale, printer, POS equipment | Available: Point of Sale and IoT. A Bluetooth printer is not supported | Model testing, network, IoT system |
| Biometric attendance | Available: BioTime Cloud connection. eSSL and Mantra are new in Odoo 20 | Device model, legal requirement, data location |
| Mobile app | Available: PWA and apps from app stores, a short offline mode | Testing by role and on devices |
The answer depends on the organization’s structure. Both options work, but the connection differs in each.
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 →
This is a BUline recommendation. The order is refined during the diagnostic of each project.
Which catalogs, documents and stock balances are migrated and which stay in the archive.
Duplicates, empty fields, wrong units of measure and inconsistent names are corrected.
Each record gets its code from the old system. Reloading updates the record instead of creating a copy.
The old and the new system run together for a short time, and stock is reconciled every day.
On the day work stops, balances and debts are loaded again and open documents are closed.
The history is kept, and new documents are entered only in Odoo.
A file is the simplest and most widely used connection. The rules are simple, but a mistake cannot be undone.
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 →
| Equipment | How it connects | Reminder |
|---|---|---|
| USB scanner | Connects to the computer like a keyboard | A matching keyboard layout, an Enter character after each scan |
| Bluetooth scanner, mobile computer | With Odoo on a phone or tablet | Android and Chrome, or Windows and Edge; the model is tested |
| Receipt printer | Epson TM-m30 III (model 112 or 152) directly over the network (ePOS). USB ePOS and ESC/POS printers go through IoT | A Bluetooth printer is not supported. An ePOS printer needs a static IP |
| Label printer | Zebra (ZPL): according to the IoT documentation, a Zebra label printer works without a driver | The label format is tested in the warehouse |
| Scale | Via USB or IoT. The Mettler Toledo Ariva S (protocol 8217) is recommended | The documentation states certification for the EU; Uzbekistan’s metrology requirement has not been checked |
| Cash drawer, customer display | The drawer connects to the printer with an RJ25 cable. The display connects to the IoT Box | Model check |
| Camera, measuring instruments | Via the IoT Box | Windows virtual IoT does not support these devices |
The single point that connects IoT devices to the Odoo database. The printer, scale and scanner are linked to the database through it.
There are three ways to record an employee’s arrival. The biometric route raises the most legal questions.
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.
The stages follow the general BUline Method. The timeline is agreed in writing after the diagnostic. Implementation process →
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).
The connection method (file, API, webhook, intermediate service), hosting and IoT system are chosen. The field map and error paths are documented.
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.
Warehouse staff, cashiers, HR and accountants are trained by role. Instructions and video lessons are provided.
After launch, 30 days of intensified support, then agreed ongoing support. When the external system or Odoo is updated, the connection is retested.
This list speeds up the diagnostic. We can start even if not everything is ready.
| Mistake | Consequence | How we prevent it |
|---|---|---|
| Keeping the same data in both the old and the new system | Stock and prices diverge | One primary system is assigned for each catalog |
| Not saving the amoCRM refresh token | The connection breaks and re-authorization is required | Writing the new token to a safe place immediately |
| Sending too many unnecessary requests to one system | Error 429, access being cut off | Reducing requests with webhooks and batching |
| Importing into the production database without testing | The load cannot be undone | First on a copy of the database: the “Test” check and a trial load |
| Buying hardware before checking it | The printer or scale turns out to be incompatible | The model is confirmed against the documentation and by a test |
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.
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.
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.
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.
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.
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.
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.
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.