Import the bank statement and reconcile
Bring the bank statement file into Odoo 18 and match each movement to its invoice, payment or account. Bank fees are reconciled on their own by a reconciliation model, and credits without an invoice are posted with one click.
Before you start
Download the statement from online banking: OFX, the format Brazilian banks offer, or CAMT.053, the format of accounts such as Wise. In the bank journal, under Bank Information, register once the account number that the bank writes in the file. In Invoicing > Configuration > Reconciliation Models, keep a rule model for bank fees, with Auto-validate checked and the text the bank uses in the label (such as TARIFA), and a button model for credits without an invoice, such as interest received. This applies in Brazil with configuration: the account number and the reconciliation models are set up once by the company, with the accounts of its Brazilian chart of accounts, such as 5.1.1.3.07 Tarifas Bancárias and 6.1.2.1.01 Juros Ativos.
Step by step
1. Import the statement file
In Invoicing, on the Dashboard, click Import (OCA) on the bank card, click Upload files, choose the OFX or CAMT.053 file and click Import and start reconciling. Odoo finds the journal by the account number in the file and creates one line per movement. For an account in another currency, such as the Wise account in US dollars, use the journal in that currency. Importing the same file again creates no duplicate lines, because Odoo recognizes each movement by the bank identifier.
2. Check the suggested invoice and reconcile
For each customer receipt, Odoo suggests the open invoice of the same partner and amount. Example: the PIX of 3,200.00 that Lince Azul Comunicação paid on 10/20/2026 comes with invoice FAT/2026/00007 suggested. Check the number and the amount and click Reconcile: the invoice becomes Paid. In a foreign currency receipt, the exchange difference between the invoice rate and the receipt rate is calculated and posted to the exchange difference account.
3. Let the model reconcile the bank fees
Lines whose label contains the text of the fee model, such as TARIFA PACOTE DE SERVIÇOS, are reconciled during the import, with the expense in Tarifas Bancárias and the credit in the bank. Example: the fee of 38.50 debited by Banco do Brasil on 10/21/2026 is already marked as reconciled when the statement arrives. To include another bank, add its journal to the journal availability of the model.
4. Post the credits without an invoice
On the Dashboard, click Reconcile on the bank card and choose the line. For interest received, such as the RENDIMENTO JUROS of 85.00 credited by Itaú, click the Juros recebidos model button: the counterpart is filled in 6.1.2.1.01 Juros Ativos. Check the account and the amount and click Reconcile.
5. Settle a receipt with a difference
When the customer pays less and the company accepts the difference as a discount, click the suggested invoice and then fully paid: the invoice is settled in full and the difference stays on a separate line. Click that line, choose the discount account, such as 5.1.1.6.03 Descontos Concedidos, and click Reconcile. Example: Lince Azul Comunicação paid 19,950.00 of an invoice of 20,000.00, and the 50.00 go to Descontos Concedidos.
6. Review the reconciled lines
Remove the Not Reconciled filter from the search to see all the statement lines and open any of them to check the entry. In Customers > Invoices, the invoices received in the statement show as Paid.
Expected result
The statement is in Odoo with every line reconciled: receipts linked to their invoices, which become Paid, bank fees in Tarifas Bancárias, interest in Juros Ativos and accepted differences in Descontos Concedidos.
If something goes wrong
If Odoo reports that it did not find the account of the file, register in the bank journal, under Bank Information, the account number that the file brings. If a receipt comes without a suggested invoice, search for the customer on the Reconcile tab and choose the invoice in the list of open items. If a fee stays in the list to reconcile, check that the label contains the text of the model and that the bank journal is in the availability of the model. If the exchange difference does not appear in a foreign currency receipt, record the rate of the receipt date in Configuration > Currencies and open the line again.
Odoo 18 manual
Standard Odoo 18 features used in this task, from the official manual.
