Skip to Content

Odoo 19 Community: автоматичне зіставлення банківських платежів із рахунками – наш Bank Statement Matcher з відкритим кодом

14 вересня 2026 р. від
Odoo 19 Community: автоматичне зіставлення банківських платежів із рахунками – наш Bank Statement Matcher з відкритим кодом
Alexander Biringer | Biricon IT Services GmbH

Імпорт банківських виписок в Odoo – лише перший крок. Справжня користь виникає тоді, коли банківську операцію можна надійно зіставити з правильним вихідним рахунком, рахунком постачальника, кредит-нотою або платежем.

Саме тут в Odoo 19 Community бракує зручної можливості в інтерфейсі користувача. Тому імпортовані банківські рядки спочатку залишаються на проміжному банківському рахунку і для подальшої обробки мають бути призначені відкритій бухгалтерській проводці.

Тому для нашої власної інсталяції Odoo 19 Community ми розробили Bank Statement Matcher. Оскільки ця проблема стосується не лише нас, ми безкоштовно надаємо модуль на GitHub під вільною ліцензією AGPL-3.

До проєкту на GitHub:

Odoo 19 Bank Statement Matcher

Від імпорту банківської виписки до правильного рахунку

За допомогою нашого вже опублікованого проєкту Odoo 19 Bank Statement Import в Odoo 19 Community можна імпортувати різні формати банківських виписок. До них належать, зокрема, CAMT.053, CAMT.054, OFX і SWIFT MT940.

Новий Bank Statement Matcher доповнює цей імпорт наступним вирішальним кроком:

Яка імпортована банківська операція належить до якої відкритої позиції?

Модуль переглядає відкриті дебіторську та кредиторську заборгованості, оцінює можливі збіги та показує користувачам, чому пропонується саме таке зіставлення. Пропозицію можна перевірити, підтвердити, виправити або замінити ручним вибором.

Так для Odoo 19 Community виникає наскрізний робочий процес:

  1. Імпортувати банківську виписку

  2. визначити можливі зіставлення

  3. переглянути пропозиції пакетно

  4. прийняти однозначні збіги

  5. неясні випадки опрацювати вручну

Що вміє Odoo 19 Bank Statement Matcher

Модуль розроблено для практичного використання в бухгалтерії. Він підтримує, зокрема, такі функції:

  • пошук відповідних рахунків, рахунків постачальників, кредит-нот і платежів

  • автоматичне визначення пропозицій зіставлення під час створення банківського рядка

  • зрозуміле відображення використаного правила зіставлення та його надійності

  • повторний пошук пізніше

  • окреме зіставлення або спільна обробка кількох банківських рядків

  • ручний вибір відкритої позиції, якщо жодна пропозиція не підходить

  • скасування вже виконаного зіставлення

  • розпізнавання кількох рівноцінних збігів без довільного рішення

  • підказки про пропозиції або замовлення, для яких ще немає відкритої бухгалтерської проводки

  • необов'язкова пряма передача з імпорту банківських виписок OCA до вікна зіставлення

  • німецький переклад за англійського вихідного тексту

Центральний огляд доступний в Odoo за шляхом Бухгалтерія → Бухгалтерія → Зіставлення банківських рядків. Там можна спільно переглядати й опрацьовувати ще відкриті банківські рядки.

Зрозуміле зіставлення замість «чорної скриньки»

У фінансових даних недостатньо просто запропонувати якийсь збіг. Користувачі мають бачити, чому банківська операція має відповідати певному документу.

Тому Bank Statement Matcher працює з чітко визначеними правилами та різними рівнями довіри:

ДовіраПравилоЗначення
100РеференціяУ тексті проводки знайдено номер документа, платіжну референцію або референцію походження.
80Партнер і сумаДіловий партнер і відкрита сума збігаються.
60Однозначна сумаСума точно відповідає лише одній відкритій позиції.
30ПартнерПартнер збігається, але сума – ні; це лише підказка.

Для кожного журналу можна задати, починаючи з якого рівня довіри однозначну пропозицію дозволено приймати через пакетну дію. Слабші збіги залишаються видимими, але їх потрібно перевіряти й підтверджувати окремо.

Важливо при цьому: модуль не проводить бухгалтерські записи самостійно у фоновому режимі. Він створює пропозиції. Зіставлення відбувається лише в результаті свідомої дії користувача – окремо або через контрольовану пакетну обробку.

Враховуються й складні банківські референції

Банки не завжди передають платіжні референції в єдиній формі. Номер рахунку може бути поєднаний з іменами, цифрами чи іншими даними. Роздільники можуть бути відсутні або відображатися інакше, ніж в оригінальному документі.

Тому Matcher нормалізує порівнювані значення і враховує також переходи між літерами та цифрами. Так референції можна розпізнати, наприклад, навіть тоді, коли в банківському тексті вони безпосередньо приєднані до іншого вмісту.

Пошук навмисно виконується від документа Odoo до банківського тексту. Так уникається ситуація, коли короткі загальні послідовності цифр із тексту проводки призводять до великої кількості невідповідних збігів.

Правила не обмежені ні певним банком, ні певною країною, ні жорстко заданою схемою нумерації. Це робить модуль цікавим і для інших інсталяцій Odoo 19 Community.

Чому повторний пошук важливий

Не кожен банківський платіж можна зіставити вже під час імпорту. На практиці платіж може надійти раніше, ніж відповідний рахунок створено або проведено в Odoo. Також рахунок постачальника чи кредит-нота можуть бути внесені лише пізніше.

Тому банківські рядки можна перевірити ще раз пізніше за допомогою «Шукати ще раз». Щойно з'являється відповідна відкрита позиція, банківська операція, яку раніше не вдавалося зіставити, може стати однозначним збігом.

Якщо в банківському тексті згадується, наприклад, пропозиція або замовлення, для яких ще немає рахунку і, відповідно, відкритої позиції, модуль надає корисну підказку. Замість того, щоб просто показувати «немає збігу», він звертає увагу на те, що, можливо, спочатку потрібно створити рахунок.

Безпека має пріоритет

Хибне автоматичне зіставлення в бухгалтерії може створити більше роботи, ніж відкритий банківський рядок. Тому Bank Statement Matcher навмисно розроблено обережним:

  • Однаково оцінені збіги не розв'язуються довільно.

  • Слабкі пропозиції відображаються, але не приймаються через пакетну дію.

  • Перед зіставленням ще раз перевіряється, чи відкрита позиція все ще доступна.

  • Позиція, яку тим часом погасив інший користувач, повторно не обробляється.

  • Кожен банківський рядок опрацьовується в межах власної точки збереження бази даних.

  • Помилка в одному банківському рядку не перешкоджає обробці всіх інших рядків.

  • Неповні застарілі дані без дійсної дати проведення з міркувань безпеки виключаються.

Таким чином модуль підтримує автоматизацію там, де вона заощаджує час, і вимагає ручного рішення там, де дані недостатньо однозначні.

Взаємодія з нашим Bank Statement Import

Репозиторій складається з двох модулів:

МодульПризначення
account_statement_matcherЗабезпечує власне пошук, оцінку, перевірку та зіставлення. Потребує лише модуля Odoo account.
account_statement_matcher_import_ocaНеобов'язковий міст до імпорту банківських виписок OCA. Після імпорту безпосередньо відкривається вікно зіставлення з щойно імпортованими рядками.

Необов'язковий міст встановлюється автоматично, якщо наявні і Matcher, і модуль OCA account_statement_import_file. Завдяки цьому імпорт банківських виписок і подальше зіставлення безпосередньо взаємодіють.

Докладніше про імпорт підтримуваних банківських форматів читайте в нашій публікації:

Odoo 19 Bank Statement Import – наші розширення для спільноти Odoo Community

Встановлення в Odoo 19 Community

Встановлення відбувається так само, як і для звичайного додаткового модуля Odoo:

  1. Скопіювати папки модулів у налаштований шлях аддонів Odoo.

  2. Оновити список застосунків в Odoo.

  3. Встановити модуль Bank Statement Matcher.

  4. Для кожного банківського журналу визначити, чи слід шукати пропозиції під час імпорту.

  5. Вибрати бажане мінімальне значення для контрольованого пакетного зіставлення.

Модуль розроблено та протестовано для Odoo 19.0 Community. Перш ніж використовувати його з іншими версіями Odoo, необхідно перевірити, зокрема, зміни у внутрішніх функціях бухгалтерії та звірки.

Як і для будь-якого розширення в бухгалтерській сфері, ми рекомендуємо спочатку перевірити встановлення в тестовому середовищі з копією власної бази даних і типовими банківськими виписками.

Безкоштовно та з відкритим кодом для спільноти Odoo Community

У Biricon IT Services GmbH ми спочатку розробляємо рішення для конкретних вимог нашого власного бізнесу. Якщо з цього виходить модуль загального призначення, ми не хочемо ховати його в одній окремій інсталяції.

Тому Odoo 19 Bank Statement Matcher доступний безкоштовно як проєкт із відкритим кодом. Вихідний код можна переглядати, перевіряти, адаптувати й розвивати в межах ліцензії AGPL-3.

Наша мета – не автоматизувати якомога більше рішень щодо проведення наосліп. Ми хочемо скоротити повторювану роботу і водночас подбати про те, щоб фінансові зіставлення залишалися зрозумілими та контрольованими.

Так ми розуміємо змістовну розробку з відкритим кодом: розв'язати реальну проблему, прозоро задокументувати рішення і потім надати його спільноті.

Проєкт, вихідний код і участь

Повний вихідний код, вказівки зі встановлення та технічна документація доступні на GitHub:

Відкрити Odoo 19 Bank Statement Matcher на GitHub

Ми будемо раді практичному досвіду, повідомленням про помилки, пропозиціям щодо покращень і внескам від спільноти Odoo Community.

Безкоштовно. Зрозуміло. Відкритий код. Для Odoo 19 Community.