mirror of
https://github.com/OCA/bank-statement-import.git
synced 2025-01-20 12:37:43 +02:00
[IMP] account_statement_import_txt_xlsx: Calculate final balance if not provided in the import file
This commit is contained in:
committed by
Miquel Raïch
parent
84c1823fa1
commit
07e47a83b8
@@ -36,3 +36,13 @@ class AccountStatementImport(models.TransientModel):
|
||||
raise
|
||||
_logger.warning("Sheet parser error", exc_info=True)
|
||||
return super()._parse_file(data_file)
|
||||
|
||||
def _create_bank_statements(self, stmts_vals, result):
|
||||
"""Set balance_end_real if not already provided by the file."""
|
||||
res = super()._create_bank_statements(stmts_vals, result)
|
||||
statements = self.env["account.bank.statement"].browse(result["statement_ids"])
|
||||
for statement in statements:
|
||||
if not statement.balance_end_real:
|
||||
amount = sum(statement.line_ids.mapped("amount"))
|
||||
statement.balance_end_real = statement.balance_start + amount
|
||||
return res
|
||||
|
||||
@@ -67,6 +67,11 @@ class AccountStatementImportSheetParser(models.TransientModel):
|
||||
last_line = lines[-1]
|
||||
data = {
|
||||
"date": first_line["timestamp"].date(),
|
||||
"name": _("%s: %s")
|
||||
% (
|
||||
journal.code,
|
||||
path.basename(filename),
|
||||
),
|
||||
}
|
||||
|
||||
if mapping.balance_column:
|
||||
@@ -77,14 +82,8 @@ class AccountStatementImportSheetParser(models.TransientModel):
|
||||
{
|
||||
"balance_start": float(balance_start),
|
||||
"balance_end_real": float(balance_end),
|
||||
"name": _("%s: %s")
|
||||
% (
|
||||
journal.code,
|
||||
path.basename(filename),
|
||||
),
|
||||
}
|
||||
)
|
||||
|
||||
transactions = list(
|
||||
itertools.chain.from_iterable(
|
||||
map(lambda line: self._convert_line_to_transactions(line), lines)
|
||||
|
||||
Reference in New Issue
Block a user