Bank statement import and reconciliation for Dolibarr

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search


Bank Import for Dolibarr
Import your bank statements, get scored matches against your invoices and create native Dolibarr payments — after human validation
   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

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

  1. Import a statement file (Bank import).
  2. Generate the matches (Bank matches).
  3. Check the score and reasons of each candidate.
  4. Approve the correct match, choose the mode and receipt date.
  5. 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

  1. Unzip the archive to get a bankimport/ folder.
  2. Copy it into htdocs/custom/ of your Dolibarr.
  3. Enable the module from Home → Setup → Modules/Applications (Finance family).
  4. Open the configuration and choose a default bank account and payment mode.

Update

  1. Replace the htdocs/custom/bankimport/ folder with the new version.
  2. Reload an administration page: missing tables and constants are created automatically, in an idempotent way.
  3. 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.