Bank statement imports, done right

Upload your bank’s CSV or Excel export, map columns with a live preview, review a full validation summary before you commit, and let duplicate detection keep your ledger clean — built natively on Odoo 19 Community accounting.

The problem

Banks export statements in inconsistent layouts — different column names, date formats, and decimal separators. Existing importers fail with vague “wrong format” errors, map columns blind, and silently create duplicate lines when monthly periods overlap.

The solution

Map each column with a live row preview, see a full validation summary — count, date range, and net amount — before importing, get field-level error messages that name the row and value, and catch duplicates against your existing statement lines.

Capabilities

Everything a clean import needs

Every capability below is implemented in the module.

01

CSV & Excel Upload

Accept CSV, XLS and XLSX exports from any bank. The file format is detected from the file name, so there is no manual selection step to get wrong.

02

Live Column Mapping

Columns are auto-detected from common header names, and the first rows are previewed beneath the mapping — so you map with real data in view, never blind.

03

Pre-Import Validation Summary

Before anything is written, see the transaction count, the earliest-to-latest date range, and the net amount with total money in versus out — catch a wrong-year file in seconds.

04

Field-Level Error Messages

Every rejected row names its row number, the column, the offending value, and the expected format — no generic “wrong format” dead ends and no support tickets.

05

Encoding & Separator Detection

Detects UTF-8 versus ISO-8859-1 encoding and comma versus period decimals automatically, with a manual override in the Formatting Options when you need it.

06

Duplicate Detection

Compares each row against existing statement lines by date, amount and reference, then lets you skip, flag for review, or import anyway — no more silent duplicates on overlapping months.

07

Saved Mapping Profiles

Save a per-bank mapping once — for example “HSBC Current Account” — and recall every option and column in a single click on next month’s import.

08

Single or Debit/Credit Amounts

Handle banks that export one signed amount column, or separate debit and credit columns — credit minus debit, signed correctly into your statement lines.

09

Sample Template & Error Export

Download a ready CSV template to prepare your file, and after import export the failed rows as a CSV to fix offline and re-import — nothing is lost.

Workflow

How it works

1

Upload & Choose Journal

Pick your bank journal and upload the CSV or Excel file your bank gave you.

2

Map Columns

Columns are auto-detected; adjust the mapping with the live preview, or load a saved profile.

3

Review Summary

Check the count, date range and net amount, and resolve any flagged duplicates or errors.

4

Import

Create the statement lines in one click and review the per-row audit of what imported, skipped, or failed.

Questions

Frequently asked

No sales fog. If your question isn't here, email us and we'll answer it the same way.

CSV, XLS and XLSX. The format is detected from the file name. Spreadsheet reading uses the openpyxl and xlrd libraries; if one is unavailable the wizard tells you clearly rather than failing silently.

Get the app

Buy it on the Odoo App Store

Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.

Import Bank Statement

Guided bank statement import for Odoo — CSV and Excel mapping, validation preview, and duplicate detection, built natively on Odoo accounting.

Buy on Odoo App Store