Conversion

Import a Bank Statement Into Odoo Accounting

Odoo Accounting imports CSV, OFX, and QIF bank statements, not PDFs. Convert your PDF statement, then use Import on the bank journal to map and load it.

6 min read
Updated 2026-08-06
By EasyBankConvert Team

TL;DR - Quick Summary

Odoo Accounting cannot import a PDF bank statement. It reads CSV, XLSX, OFX, and QIF files. Convert the PDF to one of those first, then open the bank journal on the Accounting dashboard, click Import, upload the file, and map the columns so every transaction posts for reconciliation.

Why Odoo won't import your PDF statement

Odoo's Accounting app imports structured statement files, CSV, XLSX, OFX, QIF, and the SEPA CAMT.053 standard, but not a PDF. A PDF is a printed page to Odoo, not a list of dated transactions, so there is no column of amounts for the import widget to read. That leaves the data your bank sent you stranded in a document Odoo cannot open. Converting the statement to a CSV or OFX turns those pages into the structured file Odoo expects, and the transactions flow onto the bank journal ready to reconcile against your invoices, bills, and payments rather than being keyed in one line at a time.

The Import Statement path on the bank journal

Odoo puts the import on the bank journal itself. From the Accounting dashboard, find the card for your bank account and click Import, listed under the bank window, or open the card's drop-down menu and choose Import Statement. Select your converted file and click Upload. For a CSV or XLSX, Odoo opens an import widget where you set the formatting options and map your columns to its fields before confirming. Once imported, the lines appear on the journal as a new statement, and you move into reconciliation, where Odoo suggests matches against open entries and lets you validate them in a single view.

CSV, OFX, or QIF: which format for Odoo?

All three import, but they are not equal. OFX is the safer structured choice: it carries transaction identifiers, so Odoo handles duplicates better and you avoid re-importing the same line. QIF works too, but the format's own limits mean transactions can import more than once and multicurrency is not handled, so Odoo itself recommends a richer format like OFX when you have the option. A CSV or XLSX is the most flexible, since the import widget lets you map any bank's column layout, which is useful when a bank only exports a spreadsheet. Pick OFX for cleanliness, CSV for control.

Enabling QIF and mapping columns

Two setup details save time. If you plan to import QIF, switch it on first under Configuration, then Settings, by ticking the bank statements option to import in QIF format; without it the QIF path is not offered. For CSV imports, the mapping step is where accuracy is won: match your Date, Label or description, and Amount columns to Odoo's fields, and set the date format and decimal separator so numbers parse correctly. Because every transaction is reviewable in the converter before export, the file you upload already has clean columns, which keeps the mapping quick and the import free of parse errors.

Reconciliation and privacy

The point of importing is reconciliation, and Odoo's model matches each statement line to an invoice, bill, or payment so the bank journal ties to your books. Getting the amounts right before import matters, and every value is shown for review in the converter so a misread does not surface as an unreconciled line later. Because bank statements are sensitive, files are processed to build the CSV or OFX and then deleted automatically, with nothing retained on a server afterward. For a firm running Odoo for several entities, that automatic deletion keeps client account data from lingering in a third-party tool.

How it works

  1. Convert the PDF: Convert the PDF bank statement into a CSV or OFX file for Odoo.
  2. Open Import Statement: On the Accounting dashboard, use the bank journal card's Import or Import Statement option.
  3. Upload and map: Upload the file, and for a CSV map your Date, Label, and Amount columns in the import widget.
  4. Validate and reconcile: Confirm the import, then reconcile the statement lines against open entries.

Comparison

FormatColumn mappingDuplicate safetyNotes
CSV / XLSXManual, in the widgetWeakerMost flexible for any bank
OFXAutomaticStrong, carries IDsOdoo's recommended file
QIFAutomaticWeak, may double-importEnable in Settings first
CAMT.053AutomaticStrongSEPA / ISO 20022

A typical statement converts to an Odoo-ready CSV in about 40 seconds. Convert your statements now.

See pricing

Frequently Asked Questions

Related guides and articles

Try It Yourself

Experience the power of automated conversion

Start Converting