Paperless-ngx и n8n: автоматическая сортировка и передача документов

Как связать Paperless-ngx с n8n: post-consume хук, REST API и автоматическая передача документов с тегами в бухгалтерию.

Рисунок от руки: бумажный самолётик летит в открытый лоток для документов

Paperless-ngx можно связать с n8n двумя способами: с помощью post-consume хука, который запускает скрипт после обработки документа, и через REST API, посредством которого n8n может запрашивать документы, теги и метаданные или загружать новые документы. Для передачи в бухгалтерию это на практике чаще всего означает, что post-consume скрипт вызывает вебхук n8n, а затем n8n дозагружает полные данные документа через REST API, вместо того чтобы отправлять всю информацию уже при первом вызове. Известная сложность здесь — загрузка файлов из n8n в Paperless-ngx, которая при неправильной настройке завершается ошибкой 415. Актуально на: август 2026 года.

Как post-consume скрипт запускает workflow в n8n?

Согласно собственной документации, Paperless-ngx позволяет после завершения обработки документа запускать собственный скрипт, который через переменные окружения получает доступ к таким метаданным, как DOCUMENT_ID, DOCUMENT_CORRESPONDENT, DOCUMENT_TAGS и DOCUMENT_ARCHIVE_PATH. Скрипт при этом явно не может прервать процесс обработки и не должен сам изменять файлы документа, поскольку выполняется синхронно и иначе задержит обработку. В установке на Docker Compose вы подключаете каталог скриптов как volume и устанавливаете переменную окружения PAPERLESS_POST_CONSUME_SCRIPT на путь внутри контейнера. Простейший скрипт с переданными переменными вызывает через curl продакшн-URL узла вебхука n8n и передаёт ID документа и теги в формате JSON. Подробности о доступных переменных вы найдёте в документации Paperless-ngx по расширенному использованию.

Как n8n загружает или выгружает документы через REST API Paperless-ngx?

REST API Paperless-ngx аутентифицируется с помощью токена, который вы можете либо создать в разделе профиля веб-интерфейса, либо запросить программно через POST-запрос на /api/token/ с именем пользователя и паролем; затем вы передаёте его в заголовке Authorization: Token <token>. Для загрузки документа n8n обращается к эндпоинту /api/documents/post_document/ в виде формы формата multipart и может дополнительно передать такие поля, как title, correspondent, document_type, storage_path и несколько tags, при этом Paperless-ngx при успешном запуске сразу возвращает UUID задачи обработки. Для чтения существующих документов доступен эндпоинт /api/documents/ с параметрами поиска и фильтрации, такими как text= или query=. Подробности об аутентификации и эндпоинтах вы найдёте в документации API Paperless-ngx.

Почему загрузка файла завершается ошибкой 415?

В одном задокументированном случае из сообщества n8n загрузка PDF-файла из Google Drive в локальный экземпляр Paperless-ngx завершилась ошибкой «Unsupported media type 'application/pdf' in request», потому что узел HTTP Request отправил файл не в формате multipart/form-data, которого ожидает API. Пользователь решил проблему, перенастроив запрос на основе официальной документации API, вместо того чтобы передавать бинарный файл напрямую в исходном формате. Поэтому явно проверьте в узле HTTP Request, что тип тела запроса установлен на multipart-form-data, а не на общий JSON- или бинарный body, прежде чем связывать поле с бинарным файлом из предыдущего узла. На практике эта ошибка возникает в основном при первой настройке интеграции и в дальнейшем не является повторяющейся проблемой.

Как автоматически назначать теги и как документ дальше попадает в бухгалтерию?

Paperless-ngx назначает теги с помощью настраиваемых алгоритмов сопоставления, среди которых Any, All, Exact, Regex, Fuzzy и Auto, причём Auto основан на модели, обученной на имеющихся документах, и полностью обходится без ручных правил. Для передачи в бухгалтерию workflow n8n после срабатывания вебхука заново считывает данные документа, включая присвоенные теги, через REST API и пересылает документы с подходящим тегом, например «входящий счёт» или «командировочные расходы», в систему бухгалтерского учёта через узел HTTP Request или ответственному сотруднику через узел электронной почты. Так возникает сквозной процесс — от сканирования или импорта из электронной почты до архивирования в системе бухгалтерского учёта, — без того чтобы кто-то сортировал документы вручную. NordFlux индивидуально выстраивает такие workflow передачи для клиентов в рамках автоматизации n8n, обычно дополняя их уведомлением об ошибке для документов, которые не удалось распределить по тегам.

Часто задаваемые вопросы об n8n и Paperless-ngx

Обязательно ли нужен post-consume хук, или достаточно одного REST API?

Одного REST API достаточно, если вы хотите регулярно опрашивать n8n на предмет новых документов, но post-consume хук — более прямой путь, поскольку в этом случае Paperless-ngx сам активно запускает workflow. На практике комбинация обоих подходов даёт самые надёжные результаты, поскольку хук задаёт момент срабатывания, а API предоставляет полные данные.

Почему загрузка файла в Paperless-ngx через n8n часто завершается ошибкой?

Самая частая причина — неправильно настроенный тип тела запроса в узле HTTP Request, из-за которого файл не передаётся как multipart/form-data, как того требует эндпоинт /api/documents/post_document/. Взгляд на официальную документацию API перед первым тестовым запуском избавляет от привычного поиска причины ошибки 415.

Могу ли я с помощью n8n также изменять существующие теги в Paperless-ngx?

Да, через REST API можно читать документы вместе с назначенными им тегами и обновлять их запросом PUT или PATCH, если у используемого токена есть необходимые права. Это удобно, например, чтобы впоследствии пометить документы как «проведено», после того как бухгалтерия их обработала.

Работает ли автоматизация, если Paperless-ngx и n8n находятся на разных серверах?

Да, если обе системы могут достичь друг друга по сети и в скрипте и workflow корректно указаны соответствующие URL. В этом случае обратите особое внимание на HTTPS и аутентификацию на основе токена вместо открытой аутентификации, поскольку соединение в таком случае проходит через публичную сеть или VPN.

Симон Гловик, основатель NordFlux
Об авторе

Основатель NordFlux. Семь лет опыта, от веба и SEO до автоматизации в масштабах концерна, сегодня прагматично для среднего бизнеса и с немецким суверенитетом данных.

Сертификаты

  • Сертифицирован Microsoft — PL-900 и AZ-900
  • Сертифицирован UiPath — Automation Developer Associate
Все статьи
Бесплатная первая встреча

Конкретные вопросы по автоматизации или КИ?

На бесплатной первой встрече (30 минут) мы напрямую обсудим Ваш случай. Без обязательств.