Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată

TL;DR:

  1. Does Odoo hardcode the Running Balance value of each bank entry upon import (especially when importing statements)?
  2. Is there a way to re-calculate and update the Running Balance values of transactions based on either entry creation date and time or Journal Entry sequence numbering?

Long explanation:

I recently imported a month's worth of bank transactions to a clean Bank journal, with some transactions happening on the same day. For simplicity, I only included Date, Label, Debit and Credit columns (and not the statement file's running balance). File imported successfully and the total balance of the bank account was accurate.

But on looking at the created entries in detail, I noticed that each item is not exactly in sync as in the import file, but when I looked at the Journal Entry sequence numbers and re-sorted by this column, it aligned to the sequence as in the file BUT the Running Balance per transaction didn't change with the sorting. QUESTION #1: Is this normal behavior that Odoo hardcodes the Running Balance per transaction upon entry creation?

I redid everything by deleting all imported records and Statement of Account that was created on first import. This time, I included the Running Balance from the Excel file. Still the same result where it followed the Running Balance on which transaction Odoo actually imported first (even if Journal Entry sequence is not matching with the file). QUESTION #2: Is there a way to re-sequence the Remaining Balance for transactions based on date of creation or Journal Entry numbering?

To roughly illustrate, here's an example (although there can be hundreds of transactions within a day)...

Import File:

Date

Label

Deposit

Withdrawal

Running Balance

9/16/25

DEP

1,000


6,990

9/16/25

Payment


500

5,990

9/15/25

DEP

200


5,490

9/14/25

Fees


10

5,290

9/14/25

DEP

300


5,300

9/14/25

Initial Balance

5,000


5,000

After Importing: Odoo made its own sorting and calculation of the running balances (even if the Journal Entry sequences are aligned with how the Excel statement of account is sorted; it also doesn't matter if the statement's Running Balance column is also imported)...

Date

Journal Entry

Label

Amount

Running Balance

9/16/25

BNK/2025/0005

Payment

-500

5,990

9/16/25

BNK/2025/0006

DEP

1,000

6,490

9/15/25

BNK/2025/0004

DEP

200

5,490

9/14/25

BNK/2025/0001

Initial Balance

5,000

5,290

9/14/25

BNK/2025/0003

Fees

-10

290

9/14/25

BNK/2025/0002

DEP

300

300

After Sorting by Journal Entry: Records align with how they're imported from the Excel file, BUT the Running Balance for each entry is not updated (although overall statement ending balance is still 5,990).

Date

Journal Entry

Label

Amount

Running Balance

9/16/25

BNK/2025/0006

DEP

1,000

6,490

9/16/25

BNK/2025/0005

Payment

-500

5,990

9/15/25

BNK/2025/0004

DEP

200

5,490

9/14/25

BNK/2025/0003

Fees

-10

290

9/14/25

BNK/2025/0002

DEP

300

300

9/14/25

BNK/2025/0001

Initial Balance

5,000

5,290

I'd like to find a way to re-calculate the running balances correctly (if hardcoded, at least they should be based on entry creation date or Journal Entry sequencing).

Imagine profil
Abandonează
Cel mai bun răspuns

Hi,


In Odoo, the running balance on imported bank statement lines is stored at the moment of import and is not dynamically recalculated afterward. This means that if transactions are later re-sorted by date or journal entry sequence, the balances remain attached to the order in which they were originally created. What you observed with mismatched balances after sorting is expected behavior.


Odoo does not provide a built-in way to re-sequence or recalculate running balances per transaction. The system relies only on the starting and ending balances of a statement for reconciliation, while per-line balances are treated as informational. As a result, even if the running balances are out of order, reconciliation still works because it depends on debit and credit amounts.


To fix the running balance alignment, you have two options: either implement a custom script or module to recalculate balances in the correct sequence, or ensure your import file is pre-sorted properly before loading it into Odoo. Alternatively, you can ignore the per-line running balance and focus on the ending balance and reconciliation process, which are what matter for accounting accuracy.


Hope it helps

Imagine profil
Abandonează
Autor

Thanks for the response. But I did import the transactions in correct order (even the generated sequence numbers for the bank journal are in the same order as in the list). But still even with the order, the calculated running balances are still random. I suppose this is due to some asynchronous batch processing of upload items.

As also mentioned above, I also tried including the running balance column in the upload, just in case it would have some effect on matching while uploading, but it's ignored. But there's no effect from this.

Related Posts Răspunsuri Vizualizări Activitate
4
iun. 25
1700
2
oct. 22
4296
0
feb. 21
7574
2
nov. 20
7716
0
apr. 19
3810