Bulk import journal entries, validated before they ever hit the ledger
Upload CSV, Excel or DATEV files, catch every error on a row-level report before anything posts, and roll back an entire batch in one click if something goes wrong.
The problem
Finance teams import journal entries from banks, sub-ledgers and legacy systems using spreadsheet macros and one-off scripts. A single bad row — a mistyped account code, an unbalanced entry, a missing partner — can silently corrupt the ledger, and there is no safe way to undo a bad batch once it has already been posted.
The solution
Import Journal Entries validates the whole file up front, flags every row that fails an account, balance or reference check with a plain-English message, and only posts once you are satisfied. Each import is tracked as its own batch, so a bad run can be rolled back with a single click.
Everything a bulk journal import needs
Every capability below is implemented in the module.
CSV, Excel & DATEV
Upload plain CSV, Excel workbooks or DATEV EXTF exports. Common column headers — Soll/Haben, Buchungsdatum, Konto and more — are recognized automatically.
Full-File Validation
Every row is parsed and checked before anything touches the ledger: missing accounts, unbalanced entries, invalid dates and unmatched partners are all caught up front.
Row-Level Error Report
A colour-coded report lists every row with its status — OK, Warning or Error — alongside a human-readable message and the exact row number to fix.
Create or Update Entries
Choose to create brand-new journal entries or update existing ones, matched by reference or entry number, so re-imports do not create duplicates.
Draft or Auto-Post
Leave imported entries in Draft for review, or let Journal Import Managers auto-post straight to the ledger — the choice is made per batch.
Skip Rows With Errors
Tick one box to import only the valid rows in a batch while leaving the failed rows untouched for correction and re-validation.
Opening Balance Import
A dedicated Opening Balance Import mode makes it straightforward to bring historical trial balances into Odoo at go-live.
Import History & Rollback
Every batch is kept as a permanent record with its file, row counts and creator, and can be rolled back in one click if it was posted in error.
Downloadable Templates
Download a ready-made sample template for each file type so new imports start from a known-good column layout.
How it works
Upload Your File
Attach a CSV, Excel or DATEV export, then pick the file type, default journal and import mode.
Load & Validate
The whole file is parsed and checked in one pass; every row gets an OK, Warning or Error status with a plain-English message.
Review the Report
Fix flagged rows in the source file, or tick Skip Rows With Errors to proceed with only the valid ones.
Import & Post
Create or update the journal entries, leave them in Draft or auto-post to the ledger, and roll back the whole batch anytime.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
CSV, Excel (.xlsx) and DATEV (EXTF CSV) exports are all supported, with common column-header variants recognized automatically.
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 Journal Entries
Import journal entries from CSV, Excel or DATEV with up-front full-file validation, a row-level error report, and one-click rollback of any batch.
Buy on Odoo App Store