Odoo 19: bank import remains in the suspense account

Updated · 2 min read

An imported movement in Odoo 19 Bank Matching can still point to the bank journal’s suspense account. Importing the statement establishes the bank-side movement; reconciliation replaces the suspense counterpart with the evidenced accounting items. A bill uploaded elsewhere does not complete that association.

If your source is only a bank PDF, LocalExtract can prepare a local CSV. It does not create Odoo journal entries or choose invoice matches. The CSV columns are date,description,amount.

The desktop apps export date, description, and amount as CSV. Open CSV in Excel to save an XLSX workbook. Statement support varies: verify the result against your own PDF.

Inspect the movement and its journal entry

From the Accounting Dashboard, open the bank journal or Transactions for all movements. x to reconcile shows the unmatched subset. Check Not Matched before concluding that an imported row is missing. Odoo’s 19.0 bank-reconciliation documentation distinguishes these views.

Open the relevant transaction’s Open Journal Entry. Record the bank account, suspense counterpart, currency, reference and amount. Then use Reconcile to examine existing journal items representing the payment. One bank movement may correspond to several items. When a Partner is set, Odoo filters candidates by that partner: an unsuitable partner can hide the correct item.

Test both residuals, not just the bank row’s status

Consider an invented incoming EUR 82 payment for an existing EUR 100 receivable. Associating the 82 with that receivable can fully reconcile the bank movement while leaving 18 unpaid on the receivable. “Bank row reconciled” and “invoice fully paid” answer different questions.

For a payment above the selected invoice amount, examine the remaining bank-side balance too. Do not force either difference to an expense simply to obtain a green status. Keep the invoice residual, bank residual and supporting explanation in separate review columns.

The synthetic counterpart worksheet checks these residuals and includes a no-bank-event case. Its arithmetic is a reference model, not an executed Odoo reconciliation.

Review a model before accepting its remainder

The official model guide illustrates an outgoing 103 payment against a 100 vendor bill, followed by a model for the remaining 3. This does not verify every net settlement of several customer invoices and fees.

Open Models from the bank journal’s menu. Review journal, partner, amount and label conditions, model order and counterpart accounts. Where several models match, the first applicable model matters. A percentage of the remaining balance is different from a percentage of the original statement line. Accept a fee counterpart only when the actual supporting documents establish it.

No actual bank movement means a different task

A customer/supplier offset with no bank transaction has nothing to reconcile in Bank Matching. Odoo documents reconciliation of the partner’s receivable/payable journal items separately under Accounting → Accounting → Reconcile. Have the responsible accountant assess partials and any required accounting entry; do not manufacture a bank movement for an offset.

For the wider period workflow, see the bank-reconciliation guide. This page addresses Odoo’s suspense/counterpart state, not a verified multi-invoice net-receipt procedure. Prepare a PDF source locally, then check imported movements and actual accounting evidence separately.

Official Odoo 19.0 documentation checked October 16, 2026.

LocalExtract Team

We build LocalExtract, a desktop bank statement converter. Questions or corrections? Contact · Editorial policy

Continue with a related guide