Skip to Content

Імпорт DBF та XLS виписок 5 українських банків в Odoo (Аваль, Ощад, ОТП, ПУМБ, Кредобанк)

Уявіть бухгалтера, у якого 4 клієнт-банки відкриті паралельно: Raiffeisen Bank Аваль, Ощадбанк, ОТП Bank, ПУМБ. Плюс Кредобанк збоку. Щоранку — експорт за вчорашній день: один банк віддає .dbf, інший — те саме, третій — ще один формат, Кредобанк віддає старий .xls. Excel відкриває їх криво — кодування не те, числа з нулями та крапками злипаються в одну колонку, дати їдуть. Половина дня йде на те, щоб перенести 200 рядків у журнал Odoo вручну. Нижче — 5 готових модулів, кожен з яких парсить експорт свого банку і кладе чисті рядки у журнал бухобліку.

Чому DBF і старий XLS — це досі реальність українського бухобліку

Файлові формати клієнт-банків — це історичний шар, який не зникне ще роками. DBF з'явився як індустріальний стандарт у 90-х, його продовжують підтримувати банки, бо їх клієнти-юр.особи інтегрували його в свої облікові системи багато років тому. Кодування cp1251 — теж артефакт того часу. Excel «бачить» такий файл, але не розуміє його — кириличні поля перетворюються на крякозябри, числові поля з ведучими нулями втрачають формат.

Кредобанк віддає виписку у форматі XLS — той самий старий BIFF-формат до Excel 2007. Це теж легасі: сучасні версії Excel його ще відкривають, але багато програмних бібліотек з ним вже не працюють.

Висновок простий: банки не змінять формат експорту лише тому, що бухгалтеру зручніше було б отримати JSON. Тому або ви будуєте власний парсер під кожен банк — або берете готовий модуль, який цей парсер вже містить.

5 банків і модулі — таблиця

Банк Формат експорту Модуль Apps Store
Raiffeisen Bank Аваль DBF (стандартний DBF-формат банку) kw_bank_statement_aval_dbf link
Ощадбанк DBF kw_bank_statement_oschadbank_dbf link
ОТП Bank DBF kw_bank_statement_otp_dbf link
ПУМБ DBF kw_bank_statement_pumb_dbf link
Кредобанк XLS kw_bank_statement_kredobank_xls link

Усі 5 модулів сумісні з Odoo 17.0, 18.0 та 19.0. Доступні на Odoo Apps Store.

Що відбувається при імпорті — на високому рівні

Для всіх 5 модулів процес однаковий з точки зору бухгалтера:

  1. У клієнт-банку обираєте період — отримуєте файл (DBF для Аваля / Ощаду / ОТП / ПУМБ або XLS для Кредобанку).
  2. У банківському журналі Odoo натискаєте «Імпорт виписки» і обираєте файл.
  3. Модуль читає файл, перевіряє чи всі обов'язкові поля присутні, і створює рядки у журналі.
  4. Кожен рядок отримує дату, суму, опис, а також — там де банк віддає такі дані — реквізити контрагента (назва, ЄДРПОУ, IBAN/рахунок).
  5. Якщо контрагента вже є у вашій базі (за ЄДРПОУ або номером рахунку) — модуль прив'яже транзакцію автоматично. Якщо ні — рядок усе одно створиться, бухгалтер допасує контрагента вручну при звірці.

Повторний імпорт того самого файлу не створить дублів. Кожна транзакція має унікальний ідентифікатор — система перевіряє його при кожному імпорті. Можна сміливо перевантажити перетинний період — у журналі з'являться лише нові рядки.

Що однакове, а що відрізняється між модулями

Однакове в усіх 5 модулях:

  • Захист від дублів — повторний імпорт того самого файлу не створить дубльованих рядків.
  • Прив'язка до контрагента: за ЄДРПОУ, потім за банківським рахунком, потім автоматичне створення нового контрагента (опційно).
  • Збереження оригінальних даних виписки для аудиту — видно, як саме банк назвав контрагента у джерелі.
  • Чітка перевірка структури файлу: якщо банк змінить формат експорту, модуль скаже про це явно, замість тихо пропускати дані.

Відрізняється — бо банки експортують по-різному:

  • Raiffeisen Bank Аваль — модуль фільтрує рядки за номером рахунку журналу: один журнал = один рахунок. Якщо у вас кілька рахунків в Авалі, заведіть журнал на кожен.
  • Ощадбанк — мінімалістичний експорт DBF з усім необхідним: дата, сума, номер документа, призначення.
  • ОТП Bank — має логіку перемикання за напрямком операції: модуль розпізнає, що при дебеті контрагент — це одна сторона, при кредиті — інша, і витягує реквізити з відповідних полів. Підтримує і старі експорти (з номером рахунку), і нові (з IBAN).
  • ПУМБ — має свій унікальний формат дати, не як решта українських банків. Модуль про це знає і парсить правильно.
  • Кредобанк — формат XLS. Напрямок (дебет/кредит) визначається українським текстовим маркером у файлі, тому експорт має бути в українській локалі (для UA-клієнтів це і так типово).

Як налаштувати імпорт у журналі

У бухгалтерських налаштуваннях Odoo на банківському журналі обираєте формат — Aval (DBF), Oschadbank (DBF), OTP Bank (DBF), PUMB (DBF) або Kredobank (XLS) — залежно від банку. Після цього у вікні журналу з'являється кнопка «Імпорт виписки», через яку завантажуєте файл. Один журнал = один формат = типово один рахунок (особливо у випадку Аваля, де є фільтр за рахунком у самому модулі).

Якщо у компанії кілька банків — заведіть окремий журнал на кожен. Так само, якщо у одному банку кілька рахунків — окремий журнал на рахунок.

Як почати

Усі 5 модулів опубліковані на Odoo Apps Store і сумісні з Odoo 17/18/19. Якщо ви робите впровадження самостійно — встановлюєте потрібний модуль, обираєте формат на банківському журналі, готово. Базові залежності підтягнуться автоматично.

Якщо потрібна допомога з налаштуванням, прив'язкою існуючих контрагентів за ЄДРПОУ, або міграцією історичних виписок з минулих років — KitWorks Systems працює з Odoo з 2015 року, у нас 100+ активних клієнтів і 158 публічних модулів на Apps Store. Напишіть через контактну форму або подивіться повний каталог модулів.

Якщо ваш банк — не з цих 5, а Monobank, Privat24 для бізнесу чи Укргазбанк — для них є готові API-інтеграції замість файлового імпорту. Якщо хочете огляд всіх 13 банків, які покриває KitWorks, — є окрема hub-стаття про 13 банків + Odoo з табличною навігацією.

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