NovaPay
Інтеграція з NovaPay тягне виписку бізнес-кабінету NovaPay (рахунки ФОП чи ТОВ) у «Фінанси» і щодня завантажує реєстри накладених платежів: за номером ТТН оплата стає доходом по угоді, а комісія NovaPay — витратою з підставою «угода». Виплата реєстру на рахунок проводиться переказом з транзитного гаманця, тож дохід не подвоюється. Кожен кабінет NovaPay — окремий акаунт зі своїми ключами, гаманцем і налаштуваннями; токен кабінету одноразовий, і CRM оновлює його сама. Повторний імпорт дублів не створює.
На цій сторінці
Можливості
- Скільки завгодно акаунтів NovaPay: у кожного ФОП чи ТОВ — свої логін, Refresh Token і сертифікат, свій гаманець, свій журнал подій.
- Виписка кабінету у «Фінанси»: кнопкою за період і автоматично кроком ШІ Марії Йосипівни; беруться лише проведені платежі.
- «Автоматичні платежі» як у KeepinCRM: проводити платежі (дохід — до угоди за ТТН чи номером у призначенні, інакше у вибрану категорію; витрата — у свою категорію) або не проводити (усе у «Вхідні» на ручний розбір).
- Реєстри NovaPay: щодня після 9:00 за вчора — ТТН, сума, комісія, ПІБ клієнта, номер замовлення; оплата — дохід по угоді з цією ТТН, комісія — витрата з підставою «угода» (угоди за останні 60 днів, число налаштовується).
- Виплата реєстру на рахунок («Переказ коштів по платежам, прийнятим від населення … згідно реєстру № …») — переказ з транзитного гаманця, не другий дохід; реєстру ще нема — рядок чекає у «Вхідних» і стає переказом сам.
- Залишок рахунку з кабінету — у «Стані роботи» поруч з балансом гаманця.
- Правила імпорту, звірка з уже внесеними операціями, «Вхідні» для решти — той самий шлях, що в Monobank і ПриватБанку.
- Без дублів: повтор за ключем платежу пропускається, рядок, що вже приїхав з KeepinCRM того самого дня й суми, — теж.
1Налаштування
Підключає адміністратор. Дорога: «Інтеграції» (головне меню) → «Оплати» → картка «NovaPay».
Ключі. У бізнес-кабінеті NovaPay: Система›Налаштування›API«Система → Налаштування → API» — там видаються логін, Refresh Token (Токен) і Public Certificate (Сертифікат). У картці, вкладка «Підключення»: «Логін» → «Ввести» → «Зберегти ключ»; так само «Refresh-токен» і «Сертифікат (PEM)» (сертифікат вставляється повністю, у багаторядкове поле). «Перевірити» заходить у кабінет і показує «кабінет NovaPay: рахунків N».
Важливо про токен: він одноразовий. Кожен вхід у кабінет повертає новий токен і сертифікат, старі одразу недійсні — CRM зберігає нову пару сама, тож у картці після «Перевірити» видно вже інші останні символи. Один кабінет NovaPay підключається лише до однієї системи: щойно ви згенерували токен і ввели його тут, KeepinCRM цим кабінетом більше не користується (і навпаки — новий токен у KeepinCRM зламає доступ CRM; тоді згенеруйте ще один і впишіть сюди). Ключі зберігаються зашифрованими й назад не показуються.
Акаунти. Основна картка — теж акаунт («Основний»; назву можна змінити в рядку «Назва акаунта»). Ще один кабінет (другий ФОП, ТОВ) — «+» у правому нижньому куті картки → «Назва» і три ключі → «Додати акаунт». Акаунти перемикаються під шапкою картки; кожен має свої ключі (чужих не позичає), гаманець і налаштування.
Вкладка «Налаштування» акаунта. Угорі — «Стан акаунта» (ключі, рахунок у NovaPay з балансом, гаманець, останній імпорт, реєстри з останніми рядками) і кнопка «Оновити рахунки» (вхід у кабінет і свіжий список рахунків з балансами). Нижче — форма; змінює її адміністратор, решта бачить без збереження. Зберегли — імпорт і крок Марії беруть нове одразу.
«Стан роботи» на вкладці «Підключення»: рядок «Рахунок у NovaPay» — рахунок, залишок у банку на час останнього імпорту й баланс гаманця: «… · залишок у банку 25 850,81 ₴ (20.10 01:10), у гаманці 25 850,81 ₴». Не збігаються — дописано «не збігається: перевірте «Вхідні» і стартовий залишок» (розділ 3б); банк залишку не віддав — «залишок: банк не віддає — введіть його в картці гаманця».
| Поле | Що робить | Типово |
|---|---|---|
| «Рахунок у NovaPay» | з якого рахунку береться виписка; порожньо — усі активні гривневі рахунки кабінету | усі гривневі |
| «Гаманець у «Фінансах»» | куди лягають операції виписки | гаманець акаунта (створиться; основна картка — «NovaPay») |
| «Хто бачить операції рахунку» | розділ 5 | усі з доступом до «Фінансів» |
| «Тягнути виписку автоматично (крок ШІ Марії)» | автоімпорт цього акаунта | так |
| «Що робити з новими платежами» | розділ 2 | проводити |
| «Дохід…», «Приєднати дохід до угоди…», «Категорія доходу без угоди» | розділ 2 | так · усе разом · у «Вхідні» |
| «Витрата…», «Категорія витрати» | розділ 2 | ні · у «Вхідні» |
| «Скільки останніх днів виписки перечитувати щоразу» | вікно автоімпорту, 1–31 | 3 |
| «Не заносити операції, старші за дату» | нижня межа автоімпорту | без межі |
| «Завантажувати реєстри NovaPay», «Проводити оплати як дохід…», «Проводити комісію…», «Гаманець для оплат і комісій з реєстру», «Категорія комісії», «Шукати угоди… за останні днів» | розділ 3 | ні · ні · ні · транзитний · «Комісія NovaPay» · 60 |
Автоімпорт тягне лише увімкнені акаунти (перемикач «Інтеграція» на вкладці «Підключення»). Раніше виписку NovaPay тягнув старий синк Марії з ключів сервера, хоч би який був перемикач; щоб вона не зупинилася мовчки, основна картка з ключами, яку ніхто ніколи не вимикав, один раз увімкнулася сама — у журналі подій картки є запис «увімкнено автоматично». Вимкнете — більше сама не ввімкнеться. Ключі, що жили в старому синку чи в .env сервера, після першого входу переїжджають у картку (запис «ключі NovaPay перенесено в картку»).
2Автоматичні платежі
Поле «Що робити з новими платежами»:
- Проводити платежі. Кожен рядок спершу проходить правила імпорту (Налаштування›Фінанси›Правила імпорту«Налаштування → Фінанси → Правила імпорту») і звірку з уже внесеними операціями. Далі дохід: якщо «Дохід: проводити надходження» увімкнено, CRM шукає несплачену угоду за призначенням платежу — «Приєднати дохід до угоди»: «ТТН» (номер накладної в призначенні, як у накладеному платежі), «номер угоди у призначенні» («№50000123», «sg-50000123», «угода 50000123»), «номер рахунку (документа)» («РФ-ZK-2026-0012»), «усе разом» або «не приєднувати». Знайшли — рядок одразу стає оплатою по угоді. Не знайшли — операція з «Категорією доходу без угоди» проводиться без перевірки; категорія порожня — рядок у «Вхідні» з підказкою. Витрата: «Витрата: проводити списання» і «Категорія витрати» — так само; вимкнено — у «Вхідні».
- Не проводити платежі. Усі рядки заводяться у «Вхідні» (Фінанси›Звірка«Фінанси → Звірка») на ручний розбір; правила імпорту діють і тут.
У «Вхідних» рядок відкривається, у полі «Угода (№)» вписується номер з картки угоди → «Так, усе вірно»; «Запам'ятати правило» створює правило імпорту з цього рядка. Докладно — стаття Фінанси, розділи 7 і 7а.
3Реєстри NovaPay
Реєстр переказів накладеного платежу — список оплат за доставками: назва реєстру, дата, номер ТТН, сума переказу, комісія, ПІБ клієнта, номер замовлення. Увімкніть «Завантажувати реєстри NovaPay» — крок Марії щодня після 9:00 за Києвом замовляє в кабінеті реєстр за вчора по кожному підприємству акаунта, чекає, доки NovaPay підготує файл (іноді до наступного кроку), і заносить рядки у список акаунта (повтор того самого рядка не дублюється). Завантажені рядки видно у «Стані акаунта».
Файл реєстру NovaPay (CSV) має колонки «Дата перерахунку коштів», «Номер реєстру» (BO019263634), «Сума принятих коштів» (скільки заплатив клієнт), «Сума утриманої винагороди» (комісія NovaPay, 0,5 %), «Сума перерахованих коштів», «ПІБ Покупця», «№ ЕН НП», «Номер замовлення». Один реєстр — одна виплата на рахунок (розділ 3а).
Проведення (кожне окремо вмикається):
- «Проводити оплати як дохід по угоді з цією ТТН» — угода, створена за останні N днів («Шукати угоди… за останні днів», типово 60), отримує дохід на «Суму принятих коштів». Одна посилка на кілька угод (одна ТТН) — сума розкладається: кожна угода, від старшої, отримує свій несплачений залишок (у рядку позначка «одна посилка на угоди …»). Угоду вже сплачено повністю — дохід не дублюється («угоду вже сплачено»). Угоду з ТТН не знайдено — дохід без угоди лягає у «Вхідні» (Фінанси›Звірка«Фінанси → Звірка») з поясненням: впишіть «Угода (№)» і «Так, усе вірно». Гроші ж прийшли — так гаманець реєстрів сходиться з виплатою.
- «Проводити комісію як витрату по угоді з цією ТТН» — витрата на «Суму утриманої винагороди» з категорією «Категорія комісії» (типово «Комісія NovaPay», створюється) з підставою «угода» — як комісія майданчика: бізнес і юрособа — угоди, а «Сплачено» угоди вона не зменшує (з 20.10; раніше угода лишалась «винною» ці 0,5 %).
Обидві операції лягають у «Гаманець для оплат і комісій з реєстру» — типово транзитний «NovaPay: накладені платежі» (тип «Транзитний»): його баланс = скільки NovaPay ще має перерахувати. Після виплати (розділ 3а) він повертається до нуля.
Межа з KeepinCRM. До 14.10 виплати NovaPay заносив KeepinCRM — доходом «Переказ коштів по платежам…» без угод. Рядки реєстру, чию виплату вже вніс KeepinCRM (або людина провела рядок «Вхідних» доходом), не проводяться: позначка «виплату реєстру № … уже внесено доходом (KeepinCRM) — тут не проводиться». Інакше той самий дохід був би двічі.
3аВиплати накладених платежів з виписки
NovaPay перераховує зібрані накладені платежі на рахунок одним платежем на реєстр: «Переказ коштів по платежам, прийнятим від населення за товари/послуги згідно реєстру № 19263634 від 17.10.2026 …». Сума — «Сума перерахованих коштів» усіх рядків цього реєстру.
- Реєстри й «Проводити оплати як дохід» увімкнено. Виплата — переказ з гаманця реєстрів у гаманець рахунку: дві операції без категорії (у гаманці рахунку надходження, у транзитному — списання), у звітах це не дохід і не витрата. Дохід бізнесу — лише рядки реєстру по угодах. Номер реєстру з призначення шукається серед завантажених рядків реєстру.
- Реєстру ще нема (виплата прийшла сьогодні, реєстр за день буде завтра після 9:00) — виплата лягає у «Вхідні» з підказкою «виплата накладених платежів: реєстру № … ще нема — щойно він завантажиться…». Нічого робити не треба: щойно реєстр завантажиться, рядок сам стане переказом (крок Марії, кнопка «Завантажити реєстри» чи «Імпортувати виписку»). Якщо реєстр дня завантажився без цієї виплати, крок Марії після 9:00 перезамовляє його (не частіше раз на 6 годин, 3 дні). Провели такий рядок доходом самі — рядки його реєстру по угодах уже не проводяться (дохід один).
- Реєстри вимкнено. Виплата — надходження у «Вхідні», як раніше (до угоди за «№ …» у призначенні вона не чіпляється: це номер реєстру, а не угоди).
У підсумку імпорту видно «переказів N», виплат›переказ з реєстру N«виплат → переказ з реєстру N», «виплат чекають реєстр N»; сума виплати не збіглася з реєстром — «розбіжність з реєстром: …» (перевірте рядки реєстру в «Стані акаунта»).
3бЗалишок рахунку і стартовий залишок гаманця
Кожен імпорт виписки читає залишок рахунку в кабінеті (GetAccountRest) — він у «Стані роботи» поруч з балансом гаманця. Баланс гаманця = стартовий залишок + усі операції гаманця. Щоб він дорівнював банку, стартовий залишок виставляється один раз: стартовий = залишок у банку − поточний баланс без стартового (Фінанси›Гаманці«Фінанси → Гаманці» → гаманець → «Стартовий залишок»; або скриптом розробника, тоді в журналі подій акаунта — стартовий залишок гаманця …: старе›нове«стартовий залишок гаманця …: старе → нове»). Далі баланс сходиться сам, поки виписка тягнеться щодня (надходження й списання; списання без категорії — у «Вхідних», але в балансі вже враховані).
Стартовий може бути від'ємним: KeepinCRM до 14.10 заносив у гаманець лише виплати накладених платежів, а виведення з рахунку (на картку, готівкою) — ні; від'ємний стартовий і є цією різницею. Історію до 14.10 не переносимо — «Не заносити операції, старші за дату» стоїть на 14.10.
4Імпорт виписки й реєстрів кнопкою
- «Фінанси» → «Операції» → «Імпорт виписки» (кнопку бачать ті, хто може проводити платежі).
- Блок «NovaPay»: «Акаунт» (поле є, коли акаунтів більше одного), «Гаманець» («з налаштувань акаунта» або інший), «Від» і «До».
- «Імпортувати виписку NovaPay» — проведені платежі рахунку (чи всіх гривневих рахунків) за дні; підсумок: «нових N, за правилами N, прив'язано до угод N, звірено з внесеними N, у «Вхідні» N, пропущено N, уже є з KeepinCRM N».
- «Завантажити реєстри» — реєстри за ті самі дні: «рядків N нових з M, угод знайдено N, доходів N, комісій N»; «файлів ще готується N» — NovaPay ще готує файл, його підтягне наступний крок Марії (або повторне натискання).
- «Перекласти з реєстру Марії» — старий шлях: рядки, які старий синк Марії поклав у свій реєстр до переходу на акаунти.
Загальний вимикач автоімпорту — пульт Марії → «Налаштування» → «Виписки банків» → «Заносити виписку й реєстри NovaPay у «Фінанси»». Операції підписані акаунтом: журнал подій картки показує, хто й коли імпортував.
5Хто бачить операції рахунку
Доступ іде через гаманець акаунта: поле «Хто бачить операції рахунку» — це «Доступ до гаманця» у «Фінансах» (порожньо — усі з доступом до розділу). Хто не має гаманця, не бачить ні його операцій, ні балансу. Реєстрові оплати й комісії лежать у гаманці реєстрів — доступ до них задається в Фінанси›Гаманці«Фінанси → Гаманці» окремо.
Можливі помилки
| Що ви бачите | Чому | Що зробити |
|---|---|---|
| «NovaPay не налаштовано: введіть логін, Refresh Token і сертифікат…» | в акаунта нема одного з трьох ключів | «Підключення» → «Ввести» кожен ключ |
| «NovaPay UserAuthenticationJWT: … Invalid token» | токен уже використано деінде (KeepinCRM чи другий сервер) або введено з помилкою | згенеруйте новий токен і сертифікат у кабінеті NovaPay, впишіть у картку |
| «NovaPay UserAuthenticationJWT: … Refresh token does not apply to login — токен одноразовий: введіть нову пару…» | токен уже використано (той самий кабінет підключено ще десь, у кабінет входив другий процес чи скрипт) або токен не від цього логіна й сертифіката (ввели новий токен, а сертифікат лишили старий) | згенеруйте в кабінеті NovaPay нову пару і введіть і токен, і сертифікат разом; якщо повторюється — подивіться журнал картки: запис «нову пару ключів NovaPay не вдалося записати в базу» означає, що база була зайнята в мить ротації (пара до запису в базу лежить у пам'яті й у зашифрованому файлі поруч із базою, тож наступний вхід її підхопить сам; нова з кабінету потрібна, лише якщо помилка не минає) |
| «NovaPay: рахунок із налаштувань акаунта кабінет не показує — оберіть інший» | рахунок закрито або це інший кабінет | «Оновити рахунки», оберіть рахунок |
| «NovaPay: дата «від» пізніша за «до»» | переплутано дати | поправте період |
| «у реєстрі не знайдено колонку суми (колонки: …)» | NovaPay змінив формат файлу реєстру | напишіть розробнику з назвами колонок із повідомлення |
| «реєстр … так і не підготувався в NovaPay» | кабінет не віддав файл за 3 дні | замовте ще раз кнопкою «Завантажити реєстри» |
| Оплата з реєстру не стала доходом по угоді | угоду вже сплачено повністю | у «Стані акаунта» рядок «угоду вже сплачено»; перевірте, чим її сплачено |
| Дохід з реєстру у «Вхідних»: «угоду з цією ТТН не знайдено» | угода старша за N днів, без ТТН або ТТН записано інакше | у «Вхідних» впишіть «Угода (№)» → «Так, усе вірно» |
| «виплату реєстру № … уже внесено доходом (KeepinCRM) — тут не проводиться» | виплату цього реєстру вже вніс KeepinCRM (до 14.10) чи людина провела її доходом | нічого — дохід один; по угодах проведіть вручну, лише якщо приберете той дохід |
| Виплата у «Вхідних» з підказкою «реєстру № … ще нема» | реєстр за день NovaPay віддає наступного дня після 9:00 | нічого — рядок стане переказом сам, щойно реєстр завантажиться |
| «розбіжність з реєстром: виплата X, за реєстром Y» | у реєстрі не всі рядки (NovaPay дописав пізніше) або змінився формат | «Завантажити реєстри» за той день; не допомогло — напишіть розробнику |
| У «Стані роботи» «залишок: банк не віддає — введіть його в картці гаманця» | кабінет не повернув залишок рахунку | впишіть «Стартовий залишок» у картці гаманця так, щоб баланс = залишку в кабінеті NovaPay |
| «… у гаманці X — не збігається: перевірте «Вхідні» і стартовий залишок» | виписку тягнули не за всі дні або стартовий залишок не задано | «Імпортувати виписку» за пропущені дні; стартовий = банк − баланс без стартового (розділ 3б) |
| Автоімпорт не тягне акаунт | акаунт вимкнено, без ключів або вимкнено «Тягнути виписку автоматично» | увімкніть у картці |
Для ШІ-співробітників
Картка describe_section("int-novapay") — поля імпорту, дії, приклади і довідники (novapay_accounts — акаунти, purses — гаманці); доступ — розділ «Фінанси» у «Доступах» ШІ, імпорт — ще й «Фінанси: проводити й змінювати платежі». Ті самі маршрути й перевірки, що в людини; у журналі подій акаунта імпорт підписано ШІ.
novapay_import(values:kind,from,to;account,purse_id— за потреби) — виписка кабінету за дні через «Автоматичні платежі» акаунта; чекає підтвердження людини (видbulk), повтор дублів не створює.novapay_registers(values:kind,from,to) — реєстри накладених платежів за дні → рядки, дохід і комісія по угодах з ТТН; теж через кошикbulk.- Що не прив'язалось —
finance_inbox; прив'язати дохід до угоди —finance_reviewзvalues={action: ok, deal_id: …}(карткаfinance, видpayments).
ШІ не може вводити чи читати ключі, змінювати «Автоматичні платежі» й реєстри — інструментів для цього нема, маршрут налаштувань ШІ відмовляє; це робить адміністратор у картці. Не імпортуйте без прохання людини, не повторюйте дію з pending_id і не вигадуйте kind — беріть з novapay_accounts у картці. Статтю ШІ читає інструментом help("int-novapay").
Цю саму статтю читають ШІ-співробітники Helomi: help("int-novapay")