Инструкция описывает работу плагина Ferma OFD для WordPress / WooCommerce: установку, первичную настройку, работу с товарами, заказами, произвольными чеками, реестром, журналом, состоянием и разделом помощи.
Важно: Перед запуском на рабочем магазине согласуйте фискальные значения, НДС, признаки предмета и способа расчёта, агентские реквизиты, маркировку и сценарии возвратов с бухгалтером или ответственным за фискализацию.
Плагин Ferma OFD связывает интернет-магазин на WordPress / WooCommerce с сервисом Ferma от OFD.ru и помогает формировать:
Минимальная системные требования:
Плагин Ferma OFD поддерживает HPOS.
Если используются агентские товары, дополнительно подготовьте: тип агента; ИНН поставщика; наименование поставщика; номер телефона; дополнительные реквизиты, необходимые выбранному типу агента.
Если используются коды маркировки: признак маркированного товара, тип КМ, режим проверки КМ и тестовые/рабочие коды.
Если используются автоматические чеки: статусы WooCommerce, на которых создаются предоплата 100%, полный расчёт и полный возврат фискального остатка.
Важно: Перед установкой на рабочий сайт сделайте резервную копию файлов и базы данных.





В левом меню WordPress появился раздел «Ferma OFD». В нём открываются страницы «Реестр чеков», «Чеки по заказам WooCommerce», «Произвольные чеки без заказа», «Журнал», «Состояние», «Помощь», «Настройки».
На странице «Состояние» отображаются версия плагина, режим API, callback, polling, WooCommerce, HPOS и диагностическая информация.
Если WooCommerce не активен, плагин не сможет работать в режиме чеков по заказам.
Откройте раздел «Ferma OFD» → «Настройки». Настройки сгруппированы в раскрывающиеся разделы; рядом с каждым отображается состояние: настроено, требует внимания, диагностика или обязательный раздел. Разделы со статусом «обязательный» нужно заполнить до перехода на рабочий режим.
Таблица 1. Разделы для предварительной настройки
| Раздел настроек | Тип | Что настраивается |
|---|---|---|
| Подключение к Ferma | Обязательный | API, логин, пароль, ИНН, СНО, значения по умолчанию, email получателя чека и уведомления. |
| Состав чека WooCommerce | Обязательный для WooCommerce | Доставка, положительные сборы, НДС и фискальные признаки для этих строк. |
| Коды маркировки | Необязательный | Тип КМ по умолчанию, режим проверки КМ, автоматизация маркированных заказов и подсказки по КМ. |
| Агентские реквизиты | Необязательный | Включение агентских реквизитов и значения по умолчанию для агентских товаров. |
| Кассир | Необязательный | Передача ФИО и ИНН кассира, если это требуется. |
| Автоматические чеки WooCommerce | Необязательный | Автоматическое создание предоплаты 100%, полного расчёта и полного возврата по статусам заказа. |
| CallbackUrl и диагностика | Обязательный для статусов | Callback URL, статистика callback, резервный polling и лимиты cron-проверки. |
| Проверка работы плагина | Необязательный | Отправка тестового уведомления и проверка соединения с Ferma. |
Сводный перечень параметров по разделам настроек.
Таблица 2. Перечень параметров по разделам настроек
| Параметр | Раздел | Обязательность | По умолчанию |
|---|---|---|---|
| Режим API (тестовый / рабочий) | Подключение к Ferma | Да | Тестовый |
| Разрешить использование рабочего API | Подключение к Ferma | Для рабочего режима | Выкл. |
| URL API (тестовый и/или рабочий) | Подключение к Ferma | Да | — |
| Логин, пароль, ИНН | Подключение к Ferma | Да | — |
| Система налогообложения (СНО) | Подключение к Ferma | Да | — |
| НДС по умолчанию | Подключение к Ferma | Да | — |
| Признак предмета расчёта по умолчанию | Подключение к Ferma | Да | — |
| Единица измерения по умолчанию | Подключение к Ferma | Да | — |
| Email получателя чека по умолчанию | Подключение к Ferma | Нет | — |
| Использовать email получателя как резервный | Подключение к Ferma | Нет | Выкл. |
| Email для уведомлений об ошибках | Подключение к Ferma | Рекомендуется | — |
| Имя и email отправителя уведомлений | Подключение к Ferma | Нет | — |
| Передавать доставку отдельной позицией | Состав чека WooCommerce | Нет | — |
| НДС / предмет / единица доставки | Состав чека WooCommerce | Нет | Из значений по умолчанию |
| Передавать положительные сборы отдельными позициями | Состав чека WooCommerce | Нет | — |
| НДС / предмет / единица сборов | Состав чека WooCommerce | Нет | Из значений по умолчанию |
| Тип КМ по умолчанию | Коды маркировки | Нет | — |
| Режим проверки КМ | Коды маркировки | Нет | — |
| Автоматизация маркированных заказов | Коды маркировки | Нет | Выкл. |
| Поддержка агентских чеков | Агентские реквизиты | Нет | Выкл. |
| Тип агента по умолчанию | Агентские реквизиты | При включении | — |
| Поставщик по умолчанию (ИНН, наименование, телефон) | Агентские реквизиты | При включении | — |
| Передавать сведения о кассире | Кассир | Нет | Выкл. |
| ФИО кассира | Кассир | При включении | — |
| ИНН кассира | Кассир | Нет | — |
| Формировать предоплату 100% / полный расчёт / возврат автоматически + статус | Автоматические чеки | Нет | Выкл. |
| Разрешить автоматический полный расчёт без предоплаты | Автоматические чеки | Нет | Выкл. |
| Callback URL | CallbackUrl и диагностика | Для статусов | — |
| Интервал и лимит cron-проверки | CallbackUrl и диагностика | Нет | — |
В разделе «Ferma OFD» выберите «Настройки», раскройте вкладку «Подключение к Ferma» и заполните:

Назначение трёх адресов электронной почты в этом разделе:
Важно: Проверка соединения использует уже сохранённые данные. Если вы изменили логин, пароль или URL, сначала нажмите «Сохранить настройки», затем запускайте проверку.
НДС: Базовая ставка НДС с 1 января 2026 года — 22% (расчётная 22/122); для обычных новых чеков применяются именно они. Ставки 20% и 20/120 применяются только к операциям, налоговая база которых возникла до 2026 года (возвраты и коррекции по отгрузкам 2025 года). Плагин предупреждает о выборе устаревшей ставки, но не блокирует его.
В разделе «Ferma OFD» выберите «Настройки», раскройте вкладку «Подключение к Ferma» и заполните:
Примечания:
В разделе «Ferma OFD» выберите «Настройки», раскройте вкладку «Агентские реквизиты» и заполните:
Примечание: Если поддержка агентских чеков выключена, агентские поля скрываются в товарах, произвольных чеках и новых ручных формах. Уже начатые агентские цепочки по заказам могут использовать ранее сохранённые реквизиты. Отключение блокируется, если есть незавершённые агентские предоплаты 100%.
Раздел используется, если магазин продаёт маркированные товары. Коды маркировки не передаются в чек предоплаты 100%, но требуются для полного расчёта, возврата прихода и коррекций по маркированным позициям. В разделе «Ferma OFD» выберите «Настройки», раскройте вкладку «Коды маркировки» и заполните:
Таблица 2. Формат кода маркировки
| Тип кода маркировки | Тег ФФД |
|---|---|
| UNKNOWN_PRODUCT_CODE | 1300 |
| EAN8 — значение кода маркировки в формате EAN-8 | 1301 |
| EAN13 — значение кода маркировки в формате EAN-13 | 1302 |
| ITF14 — значение кода маркировки в формате ITF-14 | 1303 |
| GS1 — значение кода маркировки в формате GS1 | 1304 |
| GS1M — значение кода маркировки в формате GS1.M | 1305 |
| SHORT_MC — значение кода маркировки в формате КМК (Короткий код маркировки) | 1306 |
| FUR — Контрольно-идентификационный знак мехового изделия | 1307 |
| EGAIS20 — значение кода маркировки в формате ЕГАИС-2.0. | 1308 |
| EGAIS30 — значение кода маркировки в формате ЕГАИС-3.0. | 1309 |
| KTF1 — Определяется ФНС России | 1320 |
| KTF2 — Определяется ФНС России | 1321 |
| KTF3 — Определяется ФНС России | 1322 |
| KTF4 — Определяется ФНС России | 1323 |
| KTF5 — Определяется ФНС России | 1324 |
| KTF6 — Определяется ФНС России | 1325 |
В разделе «Ferma OFD» выберите «Настройки», раскройте вкладку «Кассир» и заполните:
Раздел необязательный. Его можно не настраивать, если все чеки будут формироваться вручную. Чтобы настроить, перейдите в раздел «Ferma OFD», выберите «Настройки», раскройте вкладку «Коды маркировки» и заполните:
Пример: Сопоставление статусов можно задать так: предоплата 100% — на статусе «В обработке», полный расчёт — на статусе «Выполнен», возврат — на статусе «Возвращён». Допустимы любые статусы WooCommerce, в том числе пользовательские.
Примечания:
Раздел виден и доступен только пользователям с правами администратора.
Этот раздел нужен в двух случаях: если сайт закрыт защитой (Cloudflare, WAF, firewall, Basic Auth) или если статусы чеков обновляются с задержкой. В обычной ситуации настраивать его не требуется.
Что это: Callback — автоматическое уведомление от Ferma о смене статуса чека. Polling — резервная проверка статусов по расписанию (WP-Cron) на случай, если callback не дошёл.
Важно: Диагностика проверяет регистрацию маршрута WordPress, но не гарантирует, что реальные уведомления от Ferma пройдут через защиту сайта.
В разделе «Ferma OFD» выберите «Настройки», раскройте вкладку «Проверки и тесты» и выполните:
Раздел описывает, как задать фискальные параметры товара. Действия одинаковы при создании нового товара и при редактировании существующего — блок «Ferma OFD» доступен в карточке товара в обоих случаях, процесс не отличается.


Примечание: Если у товара нет индивидуальных фискальных параметров, используются значения по умолчанию из настроек плагина.
Примечание: Если выбрана устаревшая ставка НДС 20%, плагин покажет предупреждение. Отправка не блокируется.


Примечание: Если агентские реквизиты выключены в настройках, блок агентских полей в товаре скрывается. Ранее сохранённые данные товара не удаляются и снова станут доступны после включения настройки.


Тип КМ сам по себе не включает маркировку. Коды маркировки требуются только для товаров, у которых включён признак маркировки.
Раздел описывает, как выполнять основные действия с плагином. В консоли WordPress дополнительно доступен виджет Ferma OFD — он даёт быстрый обзор: ошибки, статусы, незавершённые операции и элементы, требующие внимания.
Реестр чеков — основной экран для контроля отправленных чеков.
Чтобы найти нужный чек:

Чтобы посмотреть изображение чека, нажмите на идентификатор чека в строке — откроется страница с чеком в том виде, в каком он печатается (обычно в новой вкладке).
Чтобы открыть детали чека, нажмите «Подробнее» в строке — справа откроется панель, где доступны:
Чтобы выгрузить чеки, нажмите «Экспорт CSV» — выгрузится текущая выборка.
Примечание: Правая панель закрывается крестиком, клавишей Esc или кликом за пределами панели.
В карточке заказа WooCommerce есть блок Ferma OFD. В нём видны фискальная история заказа, предупреждения и рекомендуемое действие.


Чтобы создать чек по существующему заказу WooCommerce:


Примечание: Если агентские реквизиты выключены, но по заказу уже есть агентская история, связанный последующий чек в заказе будет использовать сохранённые агентские реквизиты. Для ручной операции потребуется отдельное подтверждение.
Ручной возврат выполняется через расширенный чек по заказу. Можно вернуть весь фискальный остаток или только выбранные позиции. Фискальный остаток — это сумма и позиции заказа, ещё не закрытые предыдущими возвратами; именно от него считаются последующие возвраты.


Важно: Частичный возврат в Ferma OFD не изменяет сам заказ WooCommerce, не создаёт WooCommerce refund и не меняет складские остатки. Если нужно изменить заказ, склад или сделать управленческий возврат денег, это выполняется отдельно по правилам магазина.
Важно: Если вы вручную отметили позиции для частичного возврата, но затем перевели заказ в статус «Возвращён», плагин сформирует полный возврат всего доступного остатка, а ваш ручной выбор позиций будет проигнорирован. Ручной выбор не сохраняется как черновик для автоматизации.
Примечание: Обратите внимание на разницу между операциями. Частичный возврат — это только фискальная операция, заказ WooCommerce он не меняет. Коррекция, наоборот, может изменить заказ — но лишь если включена настройка применения состава коррекции к заказу, и только после успешного подтверждения чека.
Произвольный чек создаётся вручную, без привязки к заказу WooCommerce.



Примечания:
Рисунок 12. Форма произвольного чека без заказа (изображение — см. docx)
Чтобы оформить коррекцию ранее пробитого чека:



Чтобы оформить произвольную коррекцию ранее пробитого чека:




Примечания:
Статусы обычно обновляются автоматически через callback или резервный polling. Если нужно проверить статус немедленно:


Журнал хранит диагностику: ошибки, callback, проверки по расписанию, отправку чеков, тесты соединения и email-уведомления. При обращении в поддержку выгрузите записи кнопкой «Экспорт журнала CSV».
Важно: Очистка журнала удаляет диагностические записи. Перед очисткой выгрузите CSV, если журнал нужен для поддержки.
Раздел «Состояние» показывает общую готовность плагина и помогает собрать данные для поддержки.
Раздел «Ferma OFD/Помощь» содержит справочную информацию по настройкам, агентским реквизитам, маркировке, callback, типовым сценариям, возвратам, коррекциям и ограничениям.
Плагин хранит статус каждого чека по ответам от сервиса Ferma — то есть отражает, обработан ли чек на стороне Ferma и ОФД. Текущий статус виден в реестре чеков и в правой панели деталей.
Таблица 4. Статусы чеков
| Статус | Что означает | Что делать пользователю |
|---|---|---|
| sent / NEW | Чек отправлен или принят на обработку. | Дождаться обновления статуса через callback или polling. |
| PROCESSED | Чек обрабатывается сервисом. | Не считать это финальным успешным статусом, дождаться подтверждения. |
| CONFIRMED | Чек успешно завершён. | Операция считается успешно фискализированной. |
| KKT_ERROR | Ошибка на стороне кассы или передачи в ОФД. | Открыть правую панель чека, журнал и проверить причину. |
| FAILED | Ошибка подготовки или отправки запроса. | Проверить настройки, данные заказа и журнал. |
В таблице — частые ситуации и порядок действий. Если краткого решения недостаточно, откройте правую панель чека и журнал: там виден текст ошибки и технические данные для обращения в поддержку.
Таблица 5. Решение возможных проблем
| Проблема | Где смотреть | Что проверить и сделать |
|---|---|---|
| Не отправляется чек | Настройки, Журнал, правая панель реестра | Проверьте логин, пароль, URL API и ИНН (раздел «Подключение к Ferma»), а также обязательные поля чека и данные покупателя. Текст конкретной ошибки смотрите в журнале и правой панели чека. |
| Статус долго не меняется | Реестр, Состояние, Журнал | Проверьте callback и whitelist IP Ferma (раздел 4.7). Если callback недоступен, статус обновит резервный polling по расписанию WP-Cron — убедитесь, что WP-Cron работает. Можно обновить статус чека вручную из правой панели. |
| Ошибка агентских реквизитов | Товар, форма чека, Журнал | Проверьте тип агента, ИНН и наименование поставщика, телефоны и дополнительные поля, обязательные для выбранного типа агента. |
| Нельзя отключить агентские чеки | Настройки, Реестр | Отключение блокируется, если есть незавершённые агентские предоплаты 100% по заказам. Завершите цепочки (полный расчёт или возврат), затем отключите настройку. |
| Не приходит email-уведомление | Настройки, Состояние, Журнал | Проверьте адрес уведомлений и отправителя, настройки SMTP сайта и результат тестового уведомления. Отправка писем выполняется средствами WordPress. |
| Не удаётся найти чек | Реестр чеков | Проверьте период, строку поиска, фильтры, номер страницы и количество строк на странице. Снимите лишние фильтры кнопкой «Сбросить». |
| Нельзя указать дробное количество в частичном возврате | Расширенный чек по заказу | Частичный возврат товаров поддерживает только целые единицы. Укажите 1, 2, 3 и т. д. |
| Позиция недоступна к частичному возврату | Расширенный чек, Реестр чеков | Позиция уже возвращена или не входит в доступный фискальный остаток. Проверьте исходные чеки и ранее оформленные возвраты по заказу. |
| Состав заказа отличается от состава следующего чека | Карточка заказа WooCommerce, блок Ferma OFD | По заказу был частичный фискальный возврат. Ориентируйтесь на предупреждение Ferma OFD и на фискальный остаток, а не на полный состав заказа. |
| КМ не принимается кассой | Расширенный чек, Реестр, Журнал | Проверьте сам код, тип КМ, результат проверки и выбранный режим проверки КМ. Для тестовых кодов возможны ограничения тестовой среды — сверьтесь с raw request. |
Версия 1.0
Выпущена 12 октября 2018 г.
Первая отслеживаемая версия документа.
Версия 2.0
Выпущена 24 июня 2026 г.
Переработан плагин и инструкция целиком.