Skip to Content

Платіжне посилання на рахунок з Odoo: оплата клієнтом без shop-сторінки

Більшість українських SMB-команд не мають eCommerce-сайту з кошиком. Замовлення приймає менеджер, рахунки виставляє бухгалтерія, клієнт оплачує з банк-клієнта по реквізитам. Це працює — поки клієнтів десять. Коли їх стає сто, виникає типовий збій: менеджер надсилає клієнту рахунок поштою, клієнт не платить два дні, менеджер передзвонює, клієнт каже «не встиг ввести реквізити, переключився». Гроші зависають, угода тоншає.

Стандартний Odoo має кнопку «Pay» у клієнтському порталі — але клієнт має туди зайти, авторизуватися, знайти інвойс, натиснути кнопку. Це три кроки drop-off, які SMB-команди постійно недооцінюють.

Двоє модулів — kw_generate_payment_link_account_move (для рахунка) і kw_generate_payment_link_so (для замовлення) — додають у Odoo один computed-field: посилання на оплату цього конкретного документа. Менеджер бере це посилання, вставляє в лист, повідомлення в месенджер чи в SMS — клієнт натискає, потрапляє на сторінку оплати, платить.

Третій модуль — kw_pure_payment_pay — це альтернативна, легка сторінка оплати. Про неї нижче, у блоці про кіоски.

Що з'являється на рахунку і замовленні

Після встановлення на формі рахунка (Customer Invoice) і замовлення на продаж (Sale Order) з'являється поле «Посилання на оплату», яке автоматично перераховується щоразу, коли змінюється сума заборгованості або контрагент. Менеджер не натискає «згенерувати» — посилання вже там, скопіюй і відправ.

URL виглядає так:

https://your-odoo.example/payment/pay
  ?reference=INV/2026/0042
  &amount=12480.00
  &access_token=<підписаний токен>
  &invoice_id=<id рахунка>

Підписаний токен — це гарантія, що посилання не можна підкоригувати: якщо клієнт чи хтось у листуванні змінить суму у URL — токен перестане збігатися й Odoo не дозволить оплату. Це стандартний механізм з ядра Odoo, модулі його не переписують, а використовують.

З яким провайдером оплати — MonoBank, LiqPay, WayForPay, Privat24Pay

Модулі — provider-agnostic. Вони генерують посилання на стандартний Odoo-endpoint /payment/pay, а який саме провайдер обслуговує транзакцію — визначається у вашому Payment Providers у Settings.

Це означає: якщо ви вже встановили модулі-інтегратори (наприклад, MonoBank Acquiring, LiqPay, WayForPay чи Privat24Pay — KitWorks має кожен з цих модулів окремо у каталозі), kw_generate_payment_link_* працюватиме поверх будь-якого з них. Клієнт побачить ваш звичний checkout. Якщо у вас активовано декілька провайдерів — клієнт обере на сторінці оплати.

Жодних окремих ключів API ці модулі не вимагають. Вони — тонкий шар над тим, що у вас уже є.

Менеджер працює з посиланням, не з реквізитами

Сценарії, які знімаються одразу після впровадження:

  • Лист «Дякуємо за замовлення» — у тілі листа і в підвалі: кнопка «Оплатити». Клієнт не шукає реквізитів.
  • SMS / Telegram-нагадування — менеджер копіює посилання, скорочує через будь-який shortener і відправляє «Це ваш Рахунок №12345, оплата за посиланням».
  • PDF рахунка з QR-кодом — посилання можна за бажанням обернути в QR-код у шаблоні рахунка (це окреме невелике налаштування шаблону, описано у супровідній документації модуля).

Час між «менеджер виставив рахунок» і «клієнт натиснув Оплатити» падає з днів до хвилин — навіть на B2B-угодах, де клієнт всеодно проводить оплату через свій банк-клієнт, факт «гроші зайшли в систему» зазвичай прискорюється.

Легка сторінка оплати — для кіосків, повільного 4G і старих смартфонів

Стандартна Odoo-сторінка /payment/pay тягне за собою повний website-bundle: heavy CSS, тонни JS, шрифти. На офісному ноутбуку це непомітно. На:

  • Касовому кіоску з 2 ГБ оперативної пам'яті,
  • Польовому планшеті з повільним мобільним інтернетом,
  • Старому Android-смартфоні клієнта-водія, який платить за прибуття,

— це може означати 5-10 секунд завантаження або повне зависання сторінки.

kw_pure_payment_pay перевизначає шаблон оплати на легкий: тільки Bootstrap і jQuery, без зайвого. Endpoint виноситься на /website_payment/transaction/pure/. Кінцевий вигляд той самий — кнопки тих самих провайдерів, з якими ви працюєте, — але вантажиться все вдвічі-втричі швидше.

Якщо у вас немає кіосків і ви не виплачуєте картами в полі — модуль не обов'язковий. Це окрема ніша, яку добре закриває один невеликий модуль.

Кому ці модулі найкорисніші

  • Сервісні бізнеси без shop (агентства, консалтинг, ремонт техніки) — рахунки за послуги треба отримати оплачені швидко.
  • B2B-постачальники — наявність кнопки «Оплатити» у рахунку зменшує тертя у порівнянні з «реквізити внизу листа».
  • Команди з активним outbound-продажем — менеджер відправляє рахунок прямо з телефону, клієнт оплачує до того, як угода охолоне.
  • POS-кіоски та виїзні касириkw_pure_payment_pay дає швидку сторінку для оплати на місці.

Що далі

У наступному матеріалі цього циклу — ФОП в Odoo: мульти-реєстрація, нумерація і друк документів, типовий випадок коли одна юридична особа працює з кількома ФОП. Якщо у вас зараз менеджери диктують реквізити в листах руками — це перший крок до виходу з цього сценарію.

KitWorks, Тетяна Іванчук 30 квітня 2026 р.
Поділитися цією публікацією
Теги
Архів