English Русский Українська Deutsch Français
Подключение Odoo к erp2pdf.com: установка коннектора по шагам
Установите в Odoo бесплатный коннектор Dynamic PDF Report Builder, нажмите Connect, разрешите подключение на erp2pdf.com и печатайте счета, коммерческие предложения и заказы поставщикам в дизайне, выбранном в Studio. Никаких ключей для копирования, никакого QWeb.
Что нужно заранее
- Odoo 18, 19 или 20, на своём сервере или на Odoo.sh, и учётная запись администратора Odoo.
- Продажи и Счета (Sales и Invoicing). Модуль сам устанавливает их и Discuss как зависимости.
- Аккаунт на erp2pdf.com. Для пробы Pro не нужен: хватит бесплатного тарифа Starter. Studio, коннектор, API, переводы и поля на языке клиента есть на каждом тарифе. Каждый собранный PDF расходует кредиты тарифа, примерно один на страницу; на Starter их 20 в месяц, и на его PDF есть небольшая строка «Made with erp2pdf.com». Pro печатает без этой строки и добавляет шаблоны писем, отправляемых из Odoo, свои шрифты и PDF для типографии. См. тарифы. Аккаунт можно создать и на шаге 4.
- Публичный https-адрес вашего Odoo, например
https://erp.your-company.com. При подключении в один щелчок erp2pdf.com просит ваш Odoo по этому адресу подтвердить, что подключение начал именно он. Odoo, недоступный из интернета, подключается по токену (подключение вручную).
Один Odoo на воркспейс. Воркспейс erp2pdf.com привязывается к адресу первого подключившегося Odoo, а запросы с любого другого адреса отклоняются. Проверьте адрес на шаге 2, прежде чем подключаться. Если позже вы перенесёте Odoo, напишите на [email protected], чтобы снять привязку.
Шаг 1. Установите модуль в Odoo
Коннектор бесплатный, в Odoo Apps Store он называется Dynamic PDF Report Builder - Drag & Drop Studio; текущая версия — 1.9. Скачайте его из Apps Store: для Odoo 18, для Odoo 19 или для Odoo 20.
Распакуйте архив и скопируйте папку pdf_builder_connector в один из каталогов
пути аддонов Odoo (на Odoo.sh добавьте её в свой репозиторий), затем в
Odoo:
- Включите режим разработчика (Settings → Activate the developer mode).
- Откройте Apps и нажмите Update Apps List.
- Уберите фильтр Apps из строки поиска, найдите Dynamic PDF и нажмите Activate у Dynamic PDF Report Builder - Drag & Drop Studio.
Обновляете старую версию? Замените папку на новую, нажмите Update Apps List, затем Upgrade у модуля. Подключение, шаблоны по умолчанию и настройки сохранятся.
Шаг 2. Проверьте публичный адрес Odoo
Откройте Settings → Technical → System Parameters (в режиме
разработчика) и проверьте web.base.url. Это должен быть https-адрес,
по которому Odoo открывают ваши пользователи и erp2pdf.com, например
https://erp.your-company.com, а не
http://localhost:8069 и не внутренний IP.
При подключении erp2pdf.com показывает этот адрес вам для проверки, и воркспейс привязывается к нему.
Шаг 3. Нажмите «Connect to erp2pdf.com»
Откройте Settings → PDF Builder Connector (настройки коннектора) и нажмите «Connect to erp2pdf.com».
Odoo показывает код и открывает erp2pdf.com в новой вкладке. Не закрывайте вкладку Odoo: она продолжит сама, когда вы разрешите подключение. Код действует 30 минут.
Шаг 4. Сверьте код и разрешите подключение
На erp2pdf.com войдите или создайте бесплатный аккаунт: после этого вы вернётесь на эту страницу. Затем проверьте две вещи:
- адрес Odoo совпадает с публичным адресом вашего Odoo из шага 2;
- код совпадает с кодом во вкладке Odoo.
Выберите, что Studio может читать из этого Odoo. «Только структура полей»: Studio видит список ваших моделей и полей и показывает превью шаблонов с примерами значений; пока вы работаете над дизайном, данные клиентов, заказов и счетов не покидают Odoo. «Живые превью»: Studio также читает запись, которую вы просматриваете, по одной за раз, и на холсте видны ваши реальные данные. Это можно изменить позже в кабинете. В обоих случаях документы, которые печатает Odoo, собираются из данных, которые Odoo отправляет с каждым запросом.
Нажмите «Разрешить и подключить». Если вы только что не нажимали Connect в своём Odoo, нажмите «Отклонить».
В Odoo страница показывает «Connected»: Odoo сам сохранил SaaS URL, API-токен и HMAC-секрет и загрузил ваши шаблоны. Токен и секрет передаются с erp2pdf.com прямо на сервер Odoo, а не через браузер.
Шаг 5. Выберите дизайн в Studio
Откройте Studio на erp2pdf.com и нажмите «Создать». Выберите тип документа (счёт, коммерческое предложение, заказ поставщику, карточка товара или пустой лист для любой другой модели Odoo), затем стиль: классический, вкладка, волна, диагональ, боковая полоса, крупный итог, лёгкий, в рамках, полосы, пузыри или элегантный. Каждая карточка — настоящий результат сборки примера документа. Цветовые палитры и пары шрифтов над карточками меняют оформление всех карточек сразу; в большом превью показана выбранная.
Нажмите «Создать». Шаблон откроется с уже расставленными полями модели Odoo: партнёр, даты, таблица строк и итоги. Раздел «Дизайн» в настройках страницы позволяет позже сменить палитру и шрифты.
Шаг 6. Измените содержимое без кода
Щёлкните текст на странице, чтобы изменить его на панели справа. Текст — это обычный текст, а каждое поле Odoo — чип:
- Щёлкните чип, чтобы выбрать, как он печатается. Во всплывающем окне перечислены подходящие для поля форматы, у каждого — результат для текущей записи: деньги в валюте записи, число, процент, формат даты или сумма прописью на языке документа. Можно добавить текст до или после поля и указать, что печатать, если поле пустое.
- «Вставить» добавляет поле, сегодняшнюю дату, номер страницы или функцию, например сумму в виде денег или прописью.
- «Показывать, только если…» печатает текст, только когда выполняется правило, например колонку скидки, только если в строке есть скидка.
- ? («Что можно напечатать?») показывает все функции с примерами.
- Чтобы добавить поле, перетащите его с вкладки «Поля» на страницу; таблицы строк заказа или счёта добавляются так же.
- «Сетка» в палитре добавляет таблицу, которую вы заполняете сами: условия, характеристики, ценовые уровни. Каждая ячейка — текст, поэтому в ней может быть и поле, а строка с переносом текста растёт в PDF и сдвигает вниз всё, что под таблицей.
- «График» рисует столбцы, линию, круговую или кольцевую диаграмму по строкам документа (сумма по товару, строки с одинаковым товаром складываются) или по полям записи, например сумма без налогов против налогов.
- Выделите несколько блоков и нажмите Ctrl+G, чтобы объединить их в секцию, например блок итогов. Тогда щелчок выделяет всю секцию, Ctrl+D ставит её копию сразу под ней, а второй щелчок выбирает один блок внутри. Кнопка Сохранить в библиотеку на панели секции сохраняет её для других шаблонов: Секции слева вставляют копию.
Studio сохраняет изменения по ходу работы. Колонтитулы, переводы каждого текста (глоссарий заполняет частые термины) и «Превью PDF» находятся в том же редакторе.
Шаг 7. Сделайте шаблон собственным PDF Odoo
В Odoo откройте Settings → PDF Builder Connector → Default templates (шаблоны по умолчанию) и добавьте по строке на модель: заказы продаж, счета, заказы поставщикам, доставки или любая другая модель, у каждой — один из ваших шаблонов. «Refresh templates» перезагружает список после того, как вы добавили или переименовали шаблоны в Studio.
В «Replace Odoo reports» выберите отчёты этой модели, которые должны браться из вашего шаблона, например отчёт коммерческого предложения / заказа или отчёты счетов. После этого меню «Print» в Odoo, PDF, который прикладывают «Send» и письмо с подтверждением заказа, PDF, сохранённый у отправленного счёта, и скачивание на клиентском портале — всё использует ваш дизайн. «Preview» открывает шаблон на последнем документе этой модели, с водяным знаком PREVIEW и без расхода кредитов.
- Заголовок счёта соответствует документу: счёт, проформа, черновик, отменённый счёт или кредит-нота.
- Каждый документ печатается на языке клиента, если в шаблоне есть перевод на этот язык, а даты и суммы — в формате этого языка.
- Включите «Use Odoo's translations» в Odoo в разделе Settings → Dynamic PDF Report Builder → Translations, и названия товаров, описания и все остальные переводимые поля печатаются на языке клиента из переводов, которые уже есть в вашем Odoo: стандартных или ваших, даже если в шаблоне нет подписей на этом языке. Значение без перевода печатается как есть (коннектор 1.9.0 и новее).
- Каждая версия документа собирается один раз и хранится в Odoo; повторная печать или отправка использует сохранённый PDF и не расходует кредиты. Изменение документа, его строк или шаблона создаёт новую версию.
- Если erp2pdf.com недоступен, Odoo печатает свой отчёт, так что без PDF никто не останется.
Шаг 8. Создайте PDF из любого набора записей
- Откройте в Odoo коммерческое предложение, счёт, товар или контакт либо выберите несколько записей в списке; они попадут в один PDF.
- Нажмите значок шестерёнки («Actions») и выберите «Generate PDF (PDF Builder)».
- Выберите шаблон. В списке только шаблоны, привязанные к модели записи, шаблон по умолчанию выбран заранее.
- Нажмите «Generate PDF».
PDF скачивается и прикрепляется к чаттеру записи.
Шаг 9. Отправляйте письма, оформленные в Studio (тариф Pro)
На тарифе Pro можно оформить и само письмо. В Studio откройте вкладку «Письма» и начните с письма для коммерческого предложения или счёта либо с пустого. Соберите его из блоков: шапка с названием компании или логотипом, текст, кнопка, строки документа, сводка итогов. Или переключитесь в режим «Код» и правьте HTML. Перетаскивайте поля из списка в тему или в любой блок; превью показывает письмо, заполненное данными записи. В «Вложить PDF» выберите PDF-шаблон для вложения. Переводы работают так же, как для PDF: Odoo отправляет письмо на языке клиента.
В Odoo откройте коммерческое предложение или счёт и выберите «Send by email (erp2pdf)» в меню шестерёнки. Выберите шаблон письма, проверьте получателей, тему и текст и нажмите «Send». Письмо уходит через почтовый сервер самого Odoo, PDF прикладывается на языке клиента, а сообщение записывается в чаттер.
Подключение вручную
Если erp2pdf.com не может достучаться до вашего Odoo из интернета, Connect заканчивается сообщением «erp2pdf.com could not reach this Odoo at its public address», и ничего не подключается. В этом случае используйте токен:
- На erp2pdf.com откройте подключение Odoo и выберите «или подключите вручную» либо создайте токен для Odoo в разделе «API-токены» в кабинете.
- Скопируйте API Token и HMAC Secret. Они показываются только один раз: токен мы храним только в виде хеша, а секрет — в зашифрованном виде. Обращайтесь с этой парой как с паролем.
- В Odoo откройте Settings → PDF Builder Connector, заполните поля в разделе «Or connect manually» и нажмите «Save».
| Поле | Что ввести |
|---|---|
| SaaS URL | https://erp2pdf.com |
| This Odoo's Connector URL | Публичный адрес вашего Odoo, тот же, что web.base.url. Оставьте пустым, чтобы использовать web.base.url. |
| API Token | API-токен |
| HMAC Secret | HMAC-секрет |
| Extra models for Studio | Обычно пусто. Заказы продаж, заказы поставщикам, счета, контакты, товары и компании уже охвачены, как и модели, которым вы назначили шаблон по умолчанию; указывайте здесь другие модели, только если они нужны вашим шаблонам, например stock.picking. |
Вставляйте значения точно, без пробелов и переносов строк. Первый запрос из Odoo привязывает воркспейс к его адресу и заполняет URL коннектора у токена в вашем кабинете.
Если что-то пошло не так
Ошибки появляются на странице Connect в Odoo или в диалоге «Generate
PDF» в виде code: details.
| Ошибка | Что она значит | Что делать |
|---|---|---|
| «erp2pdf.com could not reach this Odoo» | При подключении не удалось проверить ваш Odoo по его публичному адресу | Проверьте web.base.url (шаг 2) и то, что ваш Odoo отвечает по https из интернета, или подключитесь вручную |
| «The code expired» | Код не подтвердили за 30 минут, или он уже использован | Нажмите «Try again» в Odoo, чтобы получить новый код |
| «The connection was declined» | Кто-то нажал «Отклонить» на erp2pdf.com | Нажмите «Try again» и разрешите подключение |
| «This workspace is already connected to …» | Воркспейс привязан к другому адресу Odoo | Выберите другой воркспейс на странице подключения или напишите на [email protected], чтобы перенести его |
not_configured | Не заполнено поле SaaS URL, API Token или HMAC Secret | Нажмите Connect ещё раз или заполните все три поля и сохраните |
401 invalid_token | API-токен неверный, отозван или удалён | Нажмите Connect ещё раз или создайте новый токен и вставьте оба новых значения |
401 invalid_signature | HMAC-секрет не подходит к токену или вставлен с лишними символами | Вставьте секрет заново точно в том виде, в каком он показан |
401 stale_timestamp | Часы сервера Odoo расходятся больше чем на 5 минут | Синхронизируйте часы сервера (NTP) |
403 domain_mismatch | Воркспейс привязан к другому адресу Odoo | Проверьте web.base.url и Connector URL. Если вы перенесли Odoo, напишите на [email protected], чтобы снять привязку |
400 invalid_origin | Адрес Odoo не является корректным https://host (обычный http не принимается) | Исправьте web.base.url или Connector URL |
402 upgrade_required | Шаблон использует возможность тарифа Pro: шаблон письма, свой шрифт или профиль печати | Перейдите на Pro в кабинете или уберите эту возможность из шаблона |
402 insufficient_credits | Для этого PDF не хватает кредитов | Пополните кредиты или дождитесь следующего расчётного периода |
404 template_not_found | Шаблон удалён в Studio | Нажмите «Refresh templates» или откройте диалог заново |
413 payload_too_large | Слишком много записей или данных в одном PDF | Выберите меньше записей (до 200) |
transport | Odoo не смог достучаться до erp2pdf.com | Проверьте SaaS URL и то, что сервер Odoo может отправлять исходящие https-запросы |
| В списке нет шаблонов | К этой модели не привязан ни один шаблон Studio | В Studio привяжите шаблон к модели, из которой печатаете, затем нажмите «Refresh templates» |
Как удалить подключение
- На erp2pdf.com: откройте «API-токены» и нажмите «Отозвать». Odoo сразу теряет доступ.
- В Odoo: очистите API Token и HMAC Secret в Settings → PDF Builder Connector или удалите модуль.
Какие данные передаются
- Когда Odoo печатает, отправляет или создаёт PDF, он передаёт erp2pdf.com только поля, которые использует выбранный шаблон, для печатаемых записей, прочитанные с вашими правами в Odoo, а также язык, часовой пояс и адрес вашего Odoo. Письма отправляет ваш Odoo, а не erp2pdf.com.
- Пока вы работаете над дизайном, Studio читает модели и поля из вашего Odoo. Запись Studio читает, только если вы разрешили живые превью (шаг 4 или карточка Odoo в кабинете), по одной за раз и только из заказов продаж, заказов поставщикам, счетов, контактов, товаров, компаний, указанных вами дополнительных моделей и моделей с шаблоном по умолчанию. Записи пользователей, системные, платёжные и кадровые записи недоступны никогда, как и пароли, токены, ключи и поля, которые видят только администраторы.
- Каждый запрос между ними подписан вашим HMAC-секретом, истекает через 5 минут и не может быть повторён; всё остальное ваш Odoo отклоняет.
- Всё передаётся по https. Созданные PDF прикрепляются к записи Odoo; erp2pdf.com хранит запрос и PDF 30 минут, чтобы повторный щелчок не списал кредиты дважды.
Odoo пока нет или хотите сначала посмотреть на результат? Демо открывается на готовой странице каталога, собранной из товаров-примеров.