Bank statement import and reconciliation for Dolibarr
Multi-format import Bank reconciliation Scored matches Native payments Human validation Duplicate protection CSV · OFX · QIF · CAMT.053 · MT940
Overview
Bank Import is an external module for Dolibarr ERP/CRM (publisher KSIDol) that automates bank reconciliation, from statement to payment.
It imports the entries of a bank statement (CSV, OFX, QIF, CAMT.053, MT940), proposes scored matches against your open invoices, down payments, salaries and taxes, then creates the native Dolibarr payments — only after your validation. The module proposes, the user decides: no payment is created automatically, no existing entry is modified or deleted.
The module does not modify any Dolibarr core file.
Publisher and support
| Item | Information |
|---|---|
| Publisher | KSIDol |
| Specialty | Dolibarr integrator |
| Services | Custom development, SaaS hosting, Dolibarr support |
| Website | https://www.ksidol.io |
| Support | support@ksidol.io |
| Dolistore modules | https://www.dolistore.com/index.php?controller=search&orderby=position&orderway=desc&website=marketplace&search_query=k.s.i&submit_search= |
Module information
| Information | Detail |
|---|---|
| Module name | Bank Import |
| Main use | Import bank statements and create Dolibarr payments after scored reconciliation |
| Type | External Dolibarr module |
| Family | Finance / Accounting |
| Documented version | 24.0.0 |
| Dolibarr compatibility | Dolibarr 18.0 to 24.x |
| PHP compatibility | PHP 8.0 or higher |
| Dolibarr core modification | No |
| License | GNU GPLv3 |
| Available languages | French, English, German, Spanish, Italian |
Official links
- Demonstration video: Bank Import — demo (YouTube)
- Shop: KSIDol.io
- Module page: ksidol.io/en
- K.S.I publisher page on DoliStore: K.S.I modules on DoliStore
Module goals
Reduce the time spent on bank reconciliation while keeping human control over every payment:
- import a statement from any bank thanks to multi-format recognition;
- automatically match each entry against Dolibarr's open documents, with a score and reasons;
- validate the correct match, choose the mode and date, then create the native Dolibarr payment;
- never touch an existing entry: the module proposes, the human approves.
Who is it for?
- Micro-businesses, SMEs and associations still entering their receipts by hand.
- Accountants and managers who want to reconcile a statement in a few minutes, without double entry.
- Dolibarr integrators looking for a reliable bank reconciliation that respects immutability.
Main features
- Multi-format import: CSV (delimiter and debit/credit columns detected, tolerant encoding), OFX (STMTTRN blocks), QIF, CAMT.053 XML (Ntry entries), MT940 (:61:/:86:). Format recognized automatically or chosen manually.
- Duplicate protection: fingerprint computed from the account, source, reference, dates, amount, normalized label and counterparty; lines already imported are never re-injected.
- Scored reconciliation: comparison of amount (exact, close, fee/rounding gap, partial payment), invoice reference (and its variants), third party (name, words, code), bank direction and date. Each candidate displays its score and its reasons.
- Match sources: customer/supplier invoices and down payments, credit notes (link only), unpaid salaries and unpaid social/tax charges (can be enabled), and existing native bank entries (link only, without double payment).
- Validation and payment: approval of a line (or partial allocation), choice of mode and date, then creation of the native Dolibarr payment (invoice, salary or charge payment) and of the bank entry; reconciliation lock.
- Payment type detection: cheque, card, transfer, direct debit, domiciled bill, cash.
- Import batch management: deletion of a batch or a line, reset of test sets; linked/paid/locked lines are protected; a Dolibarr payment already created is never deleted.
- Dashboard: KPIs (transactions, candidates, approved, payments executed) and flow filter (to process, approved to pay, rejected, completed).
Menus
Under the main Bank menu, the module adds:
- Dashboard — reconciliation indicators
- Bank import — upload of a statement file
- Bank matches — entries, scored candidates and validation
- Import batches — detail, deletion, reset
- Bank connectors — connector profiles (administrator)
- Configuration — module settings
Configuration
From Home → Setup → Modules → Bank Import:
- default bank account (
BANKIMPORT_DEFAULT_BANK_ACCOUNT_ID); - default payment mode (
BANKIMPORT_DEFAULT_PAYMENT_MODE_ID); - amount tolerance (
BANKIMPORT_AMOUNT_TOLERANCE, default 0.02); - "strong candidate" score (
BANKIMPORT_AUTO_APPROVE_SCORE, default 90); - minimum match score (
BANKIMPORT_MATCH_MIN_SCORE, default 40); - max. number of invoices analyzed per transaction (
BANKIMPORT_MATCH_SCAN_LIMIT, default 1000); - max. candidates per transaction (
BANKIMPORT_MATCH_TOP_PER_TRANSACTION, default 10); - maximum size of an imported file (
BANKIMPORT_IMPORT_MAX_FILESIZE_MB, default 20 MB); - also search in salaries / social and tax charges (enabled by default).
User permissions
The module defines five permissions:
- Read Bank Import — dashboard and lists (read)
- Import bank statements — upload and read files (import)
- Generate and validate matches — computation, approval/rejection, linking (match)
- Create Dolibarr payments — native payments after validation (pay)
- Administer Bank Import — configuration, connectors, batches (admin)
Typical flow
- Import a statement file (Bank import).
- Generate the matches (Bank matches).
- Check the score and reasons of each candidate.
- Approve the correct match, choose the mode and receipt date.
- The native Dolibarr payment is created, the bank entry filled and the reconciliation locked.
Technical note
- Tables:
llx_bankimport_transaction,llx_bankimport_import,llx_bankimport_match,llx_bankimport_connector. - Dolibarr standards respected: permissions, CSRF tokens,
GETPOST, escaping. - Connector secrets are referenced (name of a secret managed outside the webroot), never stored in clear text.
- Immutability: the module creates native payments after human validation; it neither modifies nor deletes an existing accounting entry, and never deletes a payment already created.
- No modification of the Dolibarr core.
Installation
- Unzip the archive to get a
bankimport/folder. - Copy it into
htdocs/custom/of your Dolibarr. - Enable the module from Home → Setup → Modules/Applications (Finance family).
- Open the configuration and choose a default bank account and payment mode.
Update
- Replace the
htdocs/custom/bankimport/folder with the new version. - Reload an administration page: missing tables and constants are created automatically, in an idempotent way.
- The update does not delete any existing data.
Troubleshooting
- No line detected on CSV import: check the separator and the presence of a header (date, label, amount, currency, third party columns).
- File rejected: the configured maximum size is exceeded (
BANKIMPORT_IMPORT_MAX_FILESIZE_MB). - No candidate: lower the minimum score, increase the analysis limit, or check that the invoices are actually open.
- No payment mode: enable at least one payment mode in Dolibarr.
See also
- KSIDol Signature Terminal: signature of all native Dolibarr records, compatible with all KSIDol modules.
- Compatibility: Dolibarr 18.0 to 24.x — PHP 8.0+ — GPLv3 license — Publisher: KSIDol.
Summary
Bank Import imports your bank statements (CSV, OFX, QIF, CAMT.053, MT940), matches each entry against your open invoices and documents with a score and reasons, then creates the native Dolibarr payments after validation — without ever modifying an existing entry or breaking immutability.