Nordlet против Odoo для разработчиков платформ
Сравнение для разработчиков, выбирающих между API встроенной бухгалтерии и пакетом ERP с открытым исходным кодом, на основе официальной документации каждого продукта.
Odoo и Nordlet часто рассматриваются разработчиками платформ вместе, однако это принципиально разные продукты. Odoo представляет собой масштабный набор бизнес-приложений со встроенной бухгалтерией, который можно развернуть на собственных серверах и модифицировать. Nordlet - это бэкенд для бухгалтерского учета без каких-либо иных задач, созданный для вызовов из чужих продуктов.
Выбор обычно сводится к двум вопросам: какую часть вашего бизнеса вы хотите объединить в одной системе и кто будет ее обслуживать. Все утверждения об Odoo ниже основаны на официальной документации и страницах с ценами Odoo, на которые даны соответствующие ссылки.
Что представляет собой каждый продукт
Odoo - это пакет программ с открытым исходным кодом (open-source), включающий бухгалтерию, складской учет, производство, продажи, CRM, управление персоналом, конструктор сайтов и многое другое. Он доступен в виде облачного сервиса Odoo Online, на платформе Odoo.sh или для самостоятельного хостинга. Его сильные стороны - широта функционала, расширяемость и возможность самостоятельного запуска. За специфические требования национальных законодательств отвечают локализационные модули, а вокруг продукта сформировалось крупное сообщество.
Nordlet - это облачный API для бухгалтерского учета. Он предоставляет неизменяемый (immutable) журнал двойной записи, выставление счетов, учет закупок, банковские выписки и сверку, складской учет, основные средства, расчет заработной платы, отчетность и обработку налогов ЕС через единый REST-интерфейс. На данный момент это более 400 эндпоинтов в 29 модулях, сгенерированных на основе единой спецификации OpenAPI. У продукта есть собственный интерфейс, который работает на тех же эндпоинтах, что и внешние вызовы.
Вопрос об API, который определяет выбор в большинстве случаев
Именно здесь продукты расходятся наиболее заметно с точки зрения разработчиков платформ.
Внешний API Odoo работает на уровне моделей. Вы выполняете аутентификацию, после чего вызываете методы ORM для таких моделей данных, как account.move для бухгалтерских проводок и счетов, res.partner для контрагентов и account.account для плана счетов, используя XML-RPC или JSON-RPC. Это мощный подход: все, что система способна смоделировать, доступно для управления. В то же время ответственность за корректное использование моделей ложится на вас, а интеграция оказывается жестко привязана к внутренней структуре данных Odoo, а не к стабильному доменному контракту.
Два факта из официальных материалов Odoo меняют расчеты:
- Согласно документации Odoo, доступ к внешнему API предоставляется на тарифном плане Custom и отсутствует в бесплатных планах One App Free или Standard. Таким образом, доступ к API - это вопрос ценовой политики, а не только техники. Актуальные тарифы и цены указаны на странице цен Odoo.
- Odoo объявила, что эндпоинты
/xmlrpc,/xmlrpc/2и/jsonrpcпланируются к удалению - начиная с Odoo 22 и Odoo Online 21.1. Им на смену приходит новый API JSON-2. Интеграция, написанная под текущие RPC-эндпоинты, в будущем потребует миграции.
API Nordlet работает на уровне домена. Операции выполняются в формате POST /v1/{module}/{resource}/{action} с телом запроса в формате JSON. Вы вызываете, например, sales/invoices/issue, не манипулируя напрямую моделью журнала, а за бухгалтерские последствия отвечает сам API. Ключи имеют области видимости (scopes), такие как sales:write. Повторные запросы защищены заголовком Idempotency-Key: тот же ключ с тем же телом запроса воспроизводит сохраненный ответ, а тот же ключ с измененным телом отклоняется с ошибкой idempotency_key_reuse, а не принимается молча. События вебхуков записываются в транзакционную таблицу outbox в рамках той же транзакции базы данных, что и само изменение, поэтому отмененный документ никогда не сгенерирует событие, а доставка подтверждается криптографической подписью HMAC, которую вы можете проверить.
Сравнение функций
Ячейки с отметкой „не подтверждено публично“ означают, что мы не смогли проверить наличие функции на том уровне детализации, который необходим разработчику перед принятием решения. Это не утверждает об их отсутствии.
| Возможность | Nordlet | Odoo |
|---|---|---|
| Форм-фактор продукта | Бухгалтерский API, облачный | Полноценный бизнес-пакет; облачный или для самостоятельного хостинга |
| Основной интерфейс | REST API с типизированным TypeScript SDK | Веб-приложение; внешний API на уровне моделей |
| Протокол API | JSON поверх HTTPS, RPC-подобные POST-запросы для каждого действия | XML-RPC и JSON-RPC с переходом на новый JSON-2 API |
| Доступность API | На всех тарифах, все модули | План Custom согласно документации Odoo |
| Журнал двойной записи | Да, баланс контролируется триггером базы данных при фиксации (commit) | Да, внутри модуля бухгалтерии |
| Блокировка периодов | Да, проводки внутри заблокированного периода отклоняются с кодом 409 |
Поддержка дат блокировки в бухгалтерском модуле |
| Идемпотентные ключи | Да, документированное поведение включая повторы и коллизии | Не подтверждено публично для внешнего API |
| Вебхуки | Да, с подписью, повторами и доставкой из транзакционного outbox | Существуют автоматические действия и вебхуки; гарантии доставки публично не подтверждены |
| Журнал аудита (Audit trail) | Каждое изменение фиксирует автора, действие, сущность и разницу (diff); доступен для запросов | Заметки в чате и логи; глубина зависит от модели |
| НДС в ЕС (VAT) | Ставки по каждой из 27 стран ЕС, проверка VIES, расчет OSS/IOSS с учетом корректировок | Модули локализации по странам; глубина зависит от конкретного государства |
| Электронные счета (E-invoicing) | EN 16931 UBL для Peppol BIS 3.0; национальные форматы для IT, PL, RO | Модули локализации поддерживают ряд национальных форматов |
| Склад, производство | FIFO-уценка, спецификации (BOM), сборка и разборка, маршруты, рабочие центры, производственные заказы с учетом по операциям, контроль качества, обслуживание | Обширный функционал, одна из ключевых сильных сторон |
| CRM, веб-сайт, маркетинг | Только запросы от партнеров, группы и статусы; нет конструктора сайтов и маркетинг-инструментов | Да, одна из ключевых сильных сторон |
| Самостоятельный хостинг (Self-hosting) | Нет; поддержка BYOC указана на тарифе Custom | Да |
| Доступность исходного кода | Проприетарный | Ядро с открытым исходным кодом, есть платные редакции |
| Мультикомпании | Неограниченное число компаний в рамках одного аккаунта, ролевая модель доступа | Поддерживается работа с несколькими компаниями |
Модели ценообразования
Эти продукты напрямую не сопоставимы по стоимости, поскольку взимают плату за разные вещи.
Odoo тарифицирует использование по принципу оплаты за пользователя в месяц, предлагая бесплатный тариф с ограничением на одно приложение и доступ к внешнему API на плане Custom. Неудобство для платформ заключается в том, что количество «пользователей» плохо коррелирует с нагрузкой, когда бухгалтерию генерирует ваше программное обеспечение, а не сотрудники. Самостоятельный хостинг избавляет от абонентской платы, но добавляет расходы на инфраструктуру и обслуживание.
Nordlet взимает плату за запросы. Опубликованные тарифные планы составляют 10 евро в месяц за 3000 запросов, 50 евро за 30 000 и 300 евро за 200 000, а дополнительные запросы оплачиваются по факту, плюс доступен тариф Custom по запросу. Каждый тариф включает все модули и полноценный API; количество пользователей, компаний и тестовых компаний (sandbox) не ограничено. Запросом считается любое действие, выполненное через API или интерфейс приложения.
Практическое следствие: маркетплейс с четырьмя сотрудниками и 50 000 бухгалтерских операций в месяц платит за 50 000 операций по модели с оплатой за запросы и за четырех пользователей по модели оплаты за человека. При этом показатель пользователей не изменится при удвоении объема операций, что может играть как в плюс, так и в минус. Рассчитайте свои показатели заранее.
Когда Odoo является лучшим выбором
- Вам нужны бухгалтерия, склад, производство, CRM и веб-сайт в рамках единой системы с одной базой данных.
- Вам необходим самостоятельный хостинг по соображениям безопасности данных, стоимости или корпоративной политики.
- Вы хотите модифицировать исходный код и обладаете внутренними ресурсами для поддержания этих изменений при обновлениях.
- Ваша бухгалтерия - это внутренний учет компании, а не функция продаваемого вами продукта.
- Вы работаете в стране, для которой модуль локализации Odoo хорошо развит и активно поддерживается.
Широта функционала Odoo реальна, и ни один бухгалтерский API ее не заменит.
Где подходит Nordlet
- Бухгалтерские события генерирует ваша программа, а не сотрудники.
- Вам нужно вести учет для множества компаний в рамках одного аккаунта без необходимости платить абонентскую плату за каждую сущность.
- Вам нужны гарантированные инварианты, на которые может положиться ваша платформа: сбалансированные проводки, непрерывная нумерация, заблокированные периоды, неизменяемая история, идеопотентные операции записи.
- Вы хотите интегрироваться со стабильным доменным контрактом, а не с внутренней моделью данных.
- Ваши обязательства по НДС в ЕС охватывают несколько стран, и вы бы предпочли не поддерживать эту логику самостоятельно.
Ограничения, если говорить прямо: Nordlet находится на этапе раннего доступа (early access) и привлечения дизайн-партнеров; он работает в облаке, а не на собственных серверах; карточки партнеров содержат запросы, группы и статусы вместо полноценной воронки продаж, а конструктор сайтов и маркетинговые инструменты отсутствуют; расчет зарплаты доступен только для Литвы; местные декларации сегодня формируются для трех стран - Литвы (FR0600), Германии (UStVA) и Польши (JPK_V7M), а налоги OSS и IOSS рассчитываются, но не сдаются от вашего имени.
Что мы рекомендуем проверить перед принятием решения
- Уточните тарифный план Odoo, который вам действительно нужен. Если для внешнего API требуется тариф Custom, рассчитывайте его стоимость исходя из количества ваших пользователей, а не по базовому тарифу.
- Узнайте график миграции RPC-интерфейсов для любой интеграции с Odoo, которую вы планируете использовать после запланированного удаления текущих эндпоинтов.
- Проверьте повторы запросов в обеих системах. Отправьте один и тот же запрос дважды и посчитайте количество созданных проводок.
- Проверьте блокировку. Закройте период, а затем попытайтесь провести в него документ.
- Проверьте конкретные страны. Для Odoo - какой модуль локализации используется и насколько активно он поддерживается; для Nordlet - какие налоговые отчеты по НДС существуют для этих стран на сегодняшний день.
- Рассчитайте общую стоимость владения за три года, включая расходы на хостинг и трудозатраты на обновления при самостоятельном размещении, а также рост объема запросов при оплате по счетчику.
FAQ
Бесплатна ли Odoo?
Odoo предлагает бесплатный тарифный план с ограничением на одно приложение, а комьюнити-редакция имеет открытый исходный код. Для интеграции с платформой основными затратами обычно являются хостинг, обновления, поддержка локализации и платный тариф, необходимый для доступа к внешнему API, а не сама лицензия.
Можно ли использовать Odoo в качестве встроенного бухгалтерского бэкенда для маркетплейса?
Это возможно, и некоторые команды поступают именно так. При этом следует учитывать, что внешний API работает на уровне моделей данных, доступ к API привязан к конкретному тарифному плану, текущие эндпоинты RPC подлежат замене, а ответственность за корректное использование бухгалтерских моделей лежит на вас. Сопоставьте эти факторы со своими требованиями, вместо того чтобы полагаться на предположения.
Заменяет ли Nordlet весь функционал Odoo?
Нет. Nordlet предназначен для бухгалтерского учета и смежных операций - выставления счетов, главной книги, банковских операций, складского учета, основных средств, производства, зарплаты, отчетности и налогов ЕС. Производственный функционал включает спецификации, маршруты, рабочие центры, производственные заказы с фиксацией операций, контроль качества и обслуживание оборудования, но без продвинутого планирования спроса и мощностей, которое предлагает Odoo. В карточках партнеров предусмотрены запросы, группы и статусы вместо воронки продаж, а инструменты для создания сайтов и маркетинга отсутствуют.
Что лучше подходит для расчета НДС в ЕС?
Это зависит от конкретной страны. Nordlet предоставляет ставки НДС стран ЕС, проверку VIES, расчет деклараций OSS и IOSS с корректировками за прошлые периоды, регистры iSAF и файлы EN 16931 UBL, причем наиболее глубоко проработан пакет по Литве. Возможности Odoo зависят от локализационных модулей, глубина и поддержка которых отличаются от страны к стране, поэтому честный ответ для каждого конкретного государства - проверить состояние соответствующего модуля.
Могу ли я запустить Nordlet на собственных серверах?
На стандартных тарифных планах это невозможно. На тарифе Custom заявлена поддержка схемы bring-your-own-cloud, и этот вопрос обсуждается индивидуально, если самостоятельное размещение является обязательным требованием.