Перенос данных с 1С в Odoo состоит из четырех частей: справочники, вступительные остатки на дату старта, открытые документы и, при необходимости, история. Из 1С данные выгружают файлами, через OData, COM-соединение или прямыми запросами в базу, а в Odoo загружают через стандартный импорт CSV/XLSX или внешний API. Основной объем работы при этом приходится не на передачу, а на сопоставление структур, очищение и сверку.
Что переносить, а что оставить в архиве
Решение об объеме принимается до начала технических работ, поскольку оно определяет бюджет и срок.
| Блок данных | Переносить ли | Комментарий |
|---|---|---|
| Справочники: контрагенты, номенклатура, единицы измерения, склады, цены, договоры, сотрудники | Да | После очищения от дубликатов и неактуальных записей |
| Вводные остатки: счета, запасы, взаиморасчеты, основные средства | Да | На дату старта, в разрезе аналитики |
| Открытые документы: неоплаченные счета, незакрытые заказы клиентов и поставщикам | Да | Чтобы работа продолжалась без разрывов |
| Спецификации и технологические маршруты | Да, если есть производство | Требуют проверки на актуальность |
| История проводка/операций за прошедшие годы | Обычно нет | Дорого, а логика учета в системах разная |
| История продаж для аналитики | Опционально | Часто достаточно сводных данных в BI |
Старая база не удаляется: ее переводят в режим только для чтения и хранят для проверок и запросов за прошлые периоды. Если часть процессов временно остается в старой системе, вместо разовой переноски настраивают обмен — для этого есть интеграция Odoo с 1С.
Четыре способа извлечь данные из 1С
1. Выгрузка в файлы. Списки справочников и отчеты хранятся в формате XLSX или CSV штатными средствами или внешней обработкой. Простейший путь для небольших баз и справочников; минус – ручная работа и риск потерять связи между объектами.
2. Стандартный интерфейс OData. Платформа версии 8.3 может публиковать базу на веб-сервере и отдавать справочники, документы и регистры через интерфейс REST в формате JSON или XML. Способ удобен для автоматизированных скриптов и повторных выгрузок, не требует изменений конфигурации.
3. COM-соединение. Внешний скрипт подключается к базе и выполняет запросы на языке платформы. Работает только в Windows, но дает доступ ко всей логике конфигурации, в частности к расчетным данным регистров.
4. Прямые запросы в СУБД. Если база размещена на MS SQL или PostgreSQL, то данные можно читать напрямую. Это самый быстрый вариант для больших объемов, но таблицы и поля имеют служебные названия, поэтому нужно сначала получить структуру хранения и сопоставить ее с объектами конфигурации.
На практике способы комбинируют: справочники берут через OData, остатки – запросами к регистрам, сложные случаи – обработкой. Для сильно доработанных конфигураций обязательно проверяйте, где действительно лежат данные: дополнительные реквизиты и собственные регистры легко пропустить.
Сопоставление структур: план счетов, аналитика, единицы
Это самый длительный этап, и его результат — таблица соответствия, согласованная главным бухгалтером.
- План счетов. Счета украинского плана создаются в Odoo локализацией. Сложность в субконто: у 1С аналитика «висит» на счете, а у Odoo ее несут партнер в проведении, аналитические счета, товар, журнал. Для каждого счета решают, куда ложится каждое субконто. Как украинские требования реализовано в системе, описано в материале об украинском учете в Odoo.
- Контрагенты. Ключ сопоставления – код ЕГРПОУ или налоговый номер, а не название. Отдельно разбирают контрагентов по нескольким договорам и валютам.
- Номенклатура. Единицы измерения и коэффициенты перерасчета, варианты товара (характеристики), серии и партии, штрихкоды. Группы номенклатуры становятся категориями, от которых зависят счета учета.
- Склады и метод оценки. Необходимо согласовать способ себестоимости (средняя либо FIFO) и то, как будут введены начальные количества и цена.
- Налоги. Ставки НДС и налоговые группы товаров сопоставляются с налогами Odoo.
Очистка данных до переноса
Миграция – самый дешевый момент убрать мусор, накопленный за годы. Минимальный список:
- Объединить дубликаты контрагентов и товаров.
- Отметить и не переносить записи без движения за последние два-три года.
- Исправить пустые и некорректные налоговые номера, IBAN, единицы измерения.
- Закрыть «зависшие» остатки: копеечные долги, отрицательные остатки на складах, старые авансы.
- Провести инвентаризацию перед датой старта, чтобы перенести фактические, а не учетные количества.
Очистку производят в старой базе или в промежуточных таблицах, но обязательно до загрузки, а не после.
Как загрузить данные в Odoo
Стандартный импорт CSV/XLSX. Импорт доступен из спискового представления почти любого объекта. За документацией Odoo, стоит знать несколько правил:
- Колонка External ID сохраняет идентификатор записи из предыдущей системы. Она позволяет импортировать тот же файл повторно без дубликатов: существующие записи обновляются, новые создаются.
- Связанные записи импортируют первыми. Сначала категории товаров, затем товары; ссылку на категорию задают колонкой типа «Категория/External ID».
- Для документов со строками (заказы, счета) каждая строка занимает отдельную строку файла, а поля шапки заполняют только в первой.
- Даты надежнее подавать в формате ISO 8601 (РРРР-ММ-ДД), чтобы система не перепутала день и месяц.
- Кнопка Test проверяет файл без записи в базу. Используйте ее перед каждой загрузкой.
Внешний API. Для больших объемов и повторяющихся загрузок пишут скрипты. В Odoo 19 появился JSON-2 API: запросы посылают по адресу /json/2/<модель>/<метод> с ключом API в заголовке авторизации, и каждый вызов выполняется в собственной транзакции. Отсюда практический вывод: документ вместе со строками создавайте одним вызовом, иначе сбой посередине оставит в базе неполные данные.
Привычные XML-RPC и JSON-RPC в версии 19 еще работают, но объявлены устаревшими: их планируют убрать в Odoo 22 (осень 2028 года) и в Odoo Online 21.1 (зима 2027 года). Новые скрипты миграции и интеграции целесообразно сразу написать на JSON-2.
Ограничение, о котором следует знать заранее: доступ к внешнему API есть только на тарифе Custom, на One App Free и Standard его нет. Если миграция или интеграция планируется через API, это влияет на выбор тарифа.
Вводные остатки. Бухгалтерские остатки вводят проведением в специальном журнале на дату старта через технический счет, который после ввода должен быть равен нулю. Дебиторскую и кредиторскую задолженность заводят в разрезе контрагентов и документов, чтобы в дальнейшем работало сопоставление оплат. Складские остатки вводят корректировкой запасов с количеством и стоимостью и проверяют, чтобы стоимость запасов совпадала с бухгалтерским счетом.
Тестовые миграции и сверка
Одного прогона не бывает достаточно. Рабочий порядок:
- Первый тестовый прогон на копии базы выявляет ошибки сопоставления и формата.
- Второй прогон – с исправленными правилами и полным объемом; замеряют длительность.
- Ключевые пользователи проверяют свои участки на тестовой базе.
- Генеральная репетиция воспроизводит порядок и время перехода.
Сверку проводят по контрольным цифрам: количество записей в каждом справочнике, оборотно-сальдовая ведомость на дату старта по каждому счету, общая сумма и расшифровка задолженности, количество и стоимость запасов по складам, выборочная проверка 20–30 карт. Результат оформляется актом, который подписывает главный бухгалтер. Привлечь его нужно еще на этапе сопоставления; о том, как это сделать, говорится в статье о сопротивление бухгалтера при переходе на Odoo.
Переход и типичные ошибки
Дату старта привязывают к началу месяца, а лучше квартала или года. Перед переходом в старой системе закрывают период и запрещают изменения, после чего производят финальную выгрузку. Время на подготовку данных закладывают в общий план проекта – как именно, показано в разборе, сколько длится внедрение Odoo.
Наиболее часто встречающиеся ошибки:
- попытка перенести всю историю «на всякий случай»;
- сопоставление контрагентов по названию, а не по коду;
- отсутствие External ID, из-за чего повторный импорт создает дубликаты;
- остатки задолженности на одну сумму без разбивки по документам;
- разные методы оценки запасов в старой и новой системе без объяснения разногласий;
- единственный тестовый прогон или сверка «на глазок»;
- изменения в старой базе после финальной выгрузки.
Если вы переходите не из 1С, а из другой учетной или CRM-системы, принципы те же; отличия описаны в материале о миграции на Odoo из другой системы. А тем, кто еще не определился с платформой, пригодится обзор альтернатив 1С в Украине.
Часто задаваемые вопросы
Можно ли перенести из 1С в Odoo всю историю документов? Технически можно, но это резко увеличивает объем работ: документы приходится переводить по другой логике учета, и результаты не будут совпадать с копейкой. Обычно переносят остатки и открытые документы, а историю оставляют в архивной базе.
Сколько времени занимает миграция данных? Зависит от количества объектов, качества данных и работ старой конфигурации. Для небольшой торговой компании это недели, для производства со сложной аналитикой – месяцы; точная оценка дается после аудита базы.
Есть ли готовый конвертер из 1С в Odoo? Универсального инструмента типа «нажал и перенеслось» нет, потому что конфигурации 1С сильно отличаются из-за доработок. Используют набор скриптов и шаблонов, адаптирующихся под конкретную базу.
Можно ли работать в обеих системах параллельно? Да, на переходный период настраивают обмен данными между системами. Следует ограничить его во времени: двойной ввод и две версии данных быстро истощают команду.
Перенос данных лучше всего планировать вместе с настройкой системы, а не после него. Plugit выполняет миграцию на Odoo от аудита базы до сверки остатков; запишитесь на бесплатную 30-минутную консультацию, чтобы обсудить объем данных и порядок перехода.
Читайте также: — Сколько длится внедрение Odoo: сроки по размеру компании — Сопротивление бухгалтера при переходе на Odoo: причины и решения — Украинский учет в Odoo: НДС, налоговые накладные, MEDoc, зарплата