ERPNext в России: что работает из коробки, а чего нет — локализация, НДС и регламентированный учёт
Российская локализация ERPNext ограничена: русский интерфейс и универсальные налоги есть, регионального модуля для России, форм ФНС, ЭДО, онлайн-касс и маркировки в ядре нет. Поэтому управленческий контур я веду в ERPNext, а регламентированный учёт оставляю в 1С. Ниже: что работает, что дорабатывается, как сохранить перевод.
Что в ERPNext работает на русском из коробки
Из коробки работает интерфейс на русском, универсальные налоговые шаблоны, закупки, склад, проекты, согласование документов и REST API. Не работает ничего, что завязано на российские регламенты: формы ФНС, ЭДО, онлайн-кассы, маркировка, зарплатный учёт по российским правилам. Короткая формула: управленческий контур в ERPNext, регламентированный остаётся в 1С.
Русский язык включается штатно. В списке языков системы разрешаете русский, затем каждый пользователь выбирает его в своих настройках (User Settings, поле языка). Официальные переводы ведутся сообществом через Crowdin, в свежих версиях они лежат в файлах locale/ru.po внутри приложений. Перевод живой и регулярно синхронизируется, но не вычитан по контексту: английские строки без падежей и без привязки к конкретному DocType переводились поштучно, поэтому в интерфейсе встречаются неточные формулировки.
Когда мы внедряем ERPNext под ключ, перевод я проверяю на стенде заранее: прохожу заявку, закупку и склад глазами человека, который не знает английский. Обычно набирается десяток-другой строк, которые стоит переименовать: название документа, подпись кнопки, статус. Остальное читается нормально. Как сделать правку так, чтобы она пережила обновление, разберу ниже.
Чек-лист границы выглядит так. Работает: интерфейс на русском, закупки, склад, проекты, согласование, REST API и webhooks, роли и права. Требует доработки: план счетов и регламентированные формы, интеграция с ФНС, ЭДО, онлайн-кассы, «Честный знак», зарплата РФ, банки РФ. Я не обещаю, что «требует доработки» превратится в готовый модуль: каждая такая строка отдельный проект со своим бюджетом.
- Из коробки: интерфейс на русском, закупки, склад, проекты, согласование, REST API и webhooks, права доступа
- На доработку: план счетов и регламентированные формы, ФНС, ЭДО, онлайн-кассы, «Честный знак», зарплата РФ, банки РФ
Чего в ядре нет: региональный модуль, формы ФНС, ЭДО, маркировка
В архитектуре ERPNext есть каталог erpnext/regional: там лежит страновая специфика, то, что нужно закону конкретной страны. Для ряда стран (на 01.10.2026 при проверке ветки develop видны, например, США, Италия, Турция, ЮАР, ОАЭ) такие модули есть. Папки для России я там не нашёл. Список стран меняется от релиза к релизу, поэтому перед проектом смотрите свою версию, но рассчитывать на готовый российский модуль не стоит.
Что это значит на практике. Формат электронного счёта-фактуры, УПД, отчётность в ФНС, книга покупок и продаж, обязательные реквизиты первичных документов, правила отражения НДС в проводках. Всё это в ядре не заложено. Можно собрать часть руками на печатных формах и отчётах, но превращать ERPNext в систему регламентированного учёта я не берусь: это годы доработки, а у 1С она уже есть и обновляется вместе с законодательством.
ЭДО и маркировка тоже снаружи. Готовой интеграции с операторами электронного документооборота в базовой поставке нет, как нет интеграции с онлайн-кассами и «Честным знаком». Если ЭДО нужно из ERPNext, это отдельный проект на API оператора. Чаще разумнее иное: документы выставляются в 1С или у оператора, а ERPNext отдаёт данные и PDF. Про организацию обмена с контрагентами написано в материалах про ЭДО с контрагентами и обмен накладными с поставщиками.
Отдельно про банки и зарплату. Клиент-банк российских банков в коробке не подключён: выписки приходят в 1С, а в ERPNext попадает реестр оплат, который сверяют глазами или загружают файлом. Зарплата с российскими НДФЛ, взносами и отчётностью в ядре тоже не заложена, и я не рекомендую строить её на ERPNext. Приложение Frappe HR (HRMS) ставится отдельно от ERPNext и российских правил расчёта не содержит, так что для зарплаты нужен 1С или другая профильная система.
Эти пробелы увеличивают стоимость владения в России, и это надо говорить на этапе выбора, а не после подписания договора. Лицензии ERPNext стоят 0 ₽, но каждая интеграция, которой нет в коробке, оплачивается работой. Если нужен учёт «в одном окне» со всем регламентом, честнее смотреть в сторону 1С или решений с готовой российской локализацией.
НДС и счёт-фактура: что система умеет, а что решается в 1С
НДС в ERPNext настраивается как обычный налог. В документах продажи и закупки используются шаблоны налогов (Sales Taxes and Charges Template и Purchase Taxes and Charges Template), а на уровне товара можно переопределять ставку через Item Tax Template. Это универсальный механизм: он считает налог от суммы и пишет проводку на указанный счёт. Какая ставка действует и как её применять к конкретной операции, вы задаёте сами по действующему законодательству, система этого за вас не знает.
Чего нет: регистров НДС в российском смысле, автоматического формирования счёта-фактуры по формату ФНС, книги покупок и продаж, декларации, механизма вычетов с учётом авансов и корректировок. Для управленческого контура этого и не требуется: руководителю важна сумма закупки с налогом и без, маржа по объекту и остаток по договору.
Рабочая схема, которую я применяю: ERPNext ведёт заявки, закупки, склад и реестр оплат с суммами НДС «для информации», а в 1С документы попадают после согласования, уже как поступления и реализации. Контрагентов и номенклатуру синхронизируем в одну сторону, чтобы не плодить дубли. Подробнее о выборе между системами учёта я писал в материале какую систему учёта выбрать на Linux.
Практический приём для счетов-фактур: пусть ERPNext выпускает печатную форму счёта на оплату и акт в произвольном виде для внутреннего согласования, а юридически значимый документ создаёт 1С. Так руководитель видит сумму и состав до отправки, а бухгалтер не переносит ничего вручную, потому что в 1С документ создаётся из согласованного реестра. Печатные формы можно донастроить: подробности зависят от версии и от того, какой инструмент форм вы выберете.
Предупреждение: не пытайтесь «по-быстрому» подключить ERPNext к налоговому учёту, чтобы выбросить 1С. Ошибка в проводках по НДС обнаруживается при проверке, а исправляется вручную по каждому документу. Лучше потратить деньги на аккуратный обмен, чем на самодельную бухгалтерию.
Как настроить перевод, чтобы он пережил обновление
Главное правило: не правьте файлы переводов в apps/frappe и apps/erpnext. При bench update эти каталоги обновляются из репозитория, и ваши правки пропадают. Я видел проекты, где после очередного обновления «возвращались» английские слова, которые три месяца назад вручную переименовали.
Правильный путь, он же мой стандартный: отдельное приложение с переводами. Создаёте его командой bench new-app custom_translations, устанавливаете на сайт, а в каталоге приложения кладёте файл translations/ru.csv. Формат файла: три колонки, исходная строка, перевод и необязательный контекст. Документация Frappe говорит, что переводы подгружаются динамически во время работы, а для обновления достаточно очистить кэш: bench --site имя_сайта clear-cache. Сборка (bench build) нужна только для строк в собственных JavaScript-файлах.
bench new-app custom_translations
bench --site example.com install-app custom_translations
# положите файл custom_translations/custom_translations/translations/ru.csv
bench --site example.com clear-cacheОдин нюанс про форматы. В v15 у frappe уже есть locale/ru.po, у erpnext переводы ещё в translations/ru.csv, а в v16 оба приложения перешли на .po. Ваш CSV при этом продолжает работать: по коду frappe/translate.py (v15 и v16) переводы собираются по установленным приложениям по порядку, CSV и .po каждого приложения, и приложение, установленное позже, перекрывает строки ядра. Есть и путь без своего приложения: документ Translation в интерфейсе (язык, исходный текст, перевод). Такие записи хранятся в базе, накладываются поверх всех файлов и обновлением не затираются; для десятка правок этого хватает.
Для динамического содержимого (названия проектов, задач, контрагентов) автоматического перевода нет и не будет: это данные, а не интерфейс. Если нужны двуязычные документы, решается отдельными полями или печатными формами.
«Стальной Лист Инжиниринг»: 25 мест и граница между ERPNext и 1С
Условный пример, данные вымышленные. Инжиниринговая компания «Стальной Лист Инжиниринг» проектирует и поставляет металлоконструкции, 25 рабочих мест: 7 инженеров, 5 снабженцев и логистов, 4 в бухгалтерии и финансах, остальные руководство, склад и монтаж. Бухгалтерия давно работает в 1С, и менять её никто не собирался. Проблема в другом: заявки на материалы ходили по почте и в таблицах, а остаток по проекту выяснялся только к концу месяца.
Мы разделили контуры. В ERPNext живут проекты, заявки на материалы, закупки, склад и управленческие отчёты, плюс согласование закупок руководителем. В 1С остались регламентированный учёт, НДС, налоговые отчёты, зарплата, банковские выписки и ЭДО. Между ними два канала: реестр оплат и PDF по электронной почте и односторонняя выгрузка справочника контрагентов. Распределение условное и определяется техническим заданием. | Задача | ERPNext | 1С | |---|---|---| | Заявки и закупки | да | нет | | Склад по объектам | да | нет | | Согласование перебора | да | нет | | НДС, налоговые отчёты | нет | да | | Зарплата | нет | да | | ЭДО и банк | нет | да |
Условный итог по срокам: на запуск управленческого контура ушло около шести недель, из них неделя на перевод и обучение. Обмен с 1С сделали отдельным этапом после первого месяца, когда стало понятно, какие поля нужны на самом деле. Начинать с интеграции в первый же день я не советую: контуры ещё не устоялись, и вы переделаете её дважды.
Из тех проблем, которые мы заранее закладываем в проект: дата документа в ERPNext и в 1С должна совпадать с датой фактической операции, иначе в конце месяца суммы расходятся на каких-нибудь пару документов, но поиск причины занимает полдня. Мы договариваемся с главным бухгалтером о правиле: что считается закрытым месяцем в ERPNext и кто имеет право менять задним числом. Это не техническая настройка, а договорённость, и без неё интеграция бессмысленна.
Что ограничивает этот сценарий. Двойной ввод контрагентов и номенклатуры при сбоях обмена. Расхождения между управленческими суммами и бухгалтерскими, пока не договорились о порядке закрытия месяца. Нужен человек, который отвечает за справочники. Это обычная цена разделения учёта, она ниже цены полной замены, но она есть.
Хостинг в РФ и персональные данные: короткая справка
ERPNext с открытым кодом (GPLv3) разворачивается на любом Linux-сервере, в том числе на российском хостинге или в вашем помещении. Для проектов с персональными данными сотрудников и клиентов я рекомендую размещать базу и резервные копии на территории РФ. Это организационная база, но не гарантия соответствия закону.
Соответствие 152-ФЗ определяется не только площадкой. Нужны документы оператора, определение ролей и доступов, журналирование, режим хранения копий, порядок удаления. Тема не приоритетная для этой статьи, поэтому штрафы и юридические трактовки здесь не разбираю: для них нужен юрист. Скажу только, что фраза «хостинг в РФ закрывает все риски» упрощает ситуацию.
Техническая сторона: один HTTPS-порт наружу, регулярные бэкапы с проверкой восстановления, разделение сайтов по пользователям и обновления по графику. Это закладывается в сопровождение. Условия по нашему внедрению и сопровождению описаны на странице продукта, а в материале про открытую ERP для производства я разбирал, как это работает на производстве.
Если вам нужна российская локализация «в коробке» и вы сравниваете другие open-source системы, посмотрите разбор Odoo в России: там другая система и другой набор ограничений.
Частые вопросы
Есть ли в ERPNext русская локализация?
Русский язык в ERPNext включается штатно: разрешаете язык в системе и выбираете его в настройках пользователя. Перевод есть, но контекстные неточности встречаются. Региональной локализации под российский учёт, как для некоторых других стран, в ядре нет: формы ФНС, ЭДО и регламентированные регистры нужно подключать отдельно.
Можно ли вести бухгалтерский учёт по РСБУ в ERPNext?
Мы так не делаем. План счетов, регламентированные формы и интеграции с ФНС требуют серьёзной доработки, а в 1С всё это уже есть и обновляется вместе с законом. ERPNext используют для управленческого учёта, а регламентированный учёт остаётся в 1С с обменом между системами.
Поддерживает ли ERPNext электронные документы и ЭДО?
Готовой интеграции с операторами ЭДО в базовой поставке нет. Документооборот ведут через 1С или оператора, а ERPNext отдаёт данные и PDF. Если ЭДО должен идти напрямую из ERPNext, это отдельный проект на API выбранного оператора, и срок с бюджетом считаются после технического задания.
Как исправить русский перевод в ERPNext, чтобы он не пропал при обновлении?
Файлы переводов в apps/frappe и apps/erpnext не правят: bench update перезаписывает их. Создают отдельное приложение командой bench new-app, кладут в него файл translations/ru.csv и очищают кэш сайта. Ваше приложение, установленное позже, перекрывает строки ядра; для пары правок хватит документа Translation в интерфейсе, он хранится в базе и переживает обновление.
Подойдёт ли ERPNext под 152-ФЗ?
Сервер можно разместить на российском хостинге, и это хорошая основа. Но соответствие закону определяется ещё и организационными мерами оператора: документы, доступы, журналы, порядок хранения и удаления данных. Одной площадки недостаточно, а конкретные юридические вопросы лучше обсуждать с юристом.
Источники
- Frappe Framework: переводы в приложении — Проверено: файл apps/<app>/<app>/translations/<код языка>.csv, три колонки, динамическая загрузка, bench --site <сайт> clear-cache. https://docs.frappe.io/framework/user/en/guides/basics/translations
- Frappe Framework: создание приложения — Проверено: команда bench new-app <имя>. https://docs.frappe.io/framework/user/en/tutorial/create-an-app
- GitHub frappe/erpnext, каталог regional (develop) — Проверено 01.10.2026: папки России в erpnext/regional нет (видны, например, australia, italy, south_africa, turkey, united_arab_emirates, united_states). https://github.com/frappe/erpnext/tree/develop/erpnext/regional
- Crowdin: перевод ERPNext на русский — Проверено: проект переводов ведётся через Crowdin, в версиях 15/16 синхронизируются файлы .po. https://crowdin.com/project/erpnext-translations/ru
- Исходники Frappe: translate.py (version-15 и version-16) — Проверено 01.10.2026: get_translations_from_apps читает CSV и .mo по установленным приложениям по порядку, затем get_user_translations из DocType Translation; в v15 frappe/locale/ru.po и erpnext/translations/ru.csv, в v16 оба .po. https://github.com/frappe/frappe/blob/version-16/frappe/translate.py













