Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 24 additions & 2 deletions account_financial_report/report/abstract_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ def _recalculate_move_lines(
company_id,
partner_ids,
only_posted_moves,
debit_amount_currency,
credit_amount_currency,
):
debit_ids = set(debit_ids)
credit_ids = set(credit_ids)
Expand All @@ -88,9 +90,29 @@ def _recalculate_move_lines(
for move_line in move_lines:
ml_id = move_line["id"]
if ml_id in debit_ids:
move_line["amount_residual"] += debit_amount[ml_id]
if move_line.get("amount_residual", False):
move_line["amount_residual"] += debit_amount[ml_id]
else:
move_line["amount_residual"] = debit_amount[ml_id]
if move_line.get("amount_residual_currency", False):
move_line["amount_residual_currency"] += debit_amount_currency[
ml_id
]
else:
move_line["amount_residual_currency"] = debit_amount_currency[ml_id]
if ml_id in credit_ids:
move_line["amount_residual"] -= credit_amount[ml_id]
if move_line.get("amount_residual", False):
move_line["amount_residual"] -= credit_amount[ml_id]
else:
move_line["amount_residual"] = -credit_amount[ml_id]
if move_line.get("amount_residual_currency", False):
move_line["amount_residual_currency"] -= credit_amount_currency[
ml_id
]
else:
move_line["amount_residual_currency"] = -credit_amount_currency[
ml_id
]
return move_lines

def _get_accounts_data(self, accounts_ids):
Expand Down
24 changes: 22 additions & 2 deletions account_financial_report/report/aged_partner_balance.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,25 +70,41 @@ def _calculate_amounts(

def _get_account_partial_reconciled(self, company_id, date_at_object):
domain = [("max_date", ">", date_at_object), ("company_id", "=", company_id)]
fields = ["debit_move_id", "credit_move_id", "amount"]
fields = ["debit_move_id", "credit_move_id", "amount", "amount_currency"]
accounts_partial_reconcile = self.env["account.partial.reconcile"].search_read(
domain=domain, fields=fields
)
debit_amount = {}
debit_amount_currency = {}
credit_amount = {}
credit_amount_currency = {}
for account_partial_reconcile_data in accounts_partial_reconcile:
debit_move_id = account_partial_reconcile_data["debit_move_id"][0]
credit_move_id = account_partial_reconcile_data["credit_move_id"][0]
if debit_move_id not in debit_amount.keys():
debit_amount[debit_move_id] = 0.0
debit_amount_currency[debit_move_id] = 0.0
debit_amount_currency[debit_move_id] += account_partial_reconcile_data[
"amount_currency"
]
debit_amount[debit_move_id] += account_partial_reconcile_data["amount"]
if credit_move_id not in credit_amount.keys():
credit_amount[credit_move_id] = 0.0
credit_amount_currency[credit_move_id] = 0.0
credit_amount[credit_move_id] += account_partial_reconcile_data["amount"]
credit_amount_currency[credit_move_id] += account_partial_reconcile_data[
"amount_currency"
]
account_partial_reconcile_data.update(
{"debit_move_id": debit_move_id, "credit_move_id": credit_move_id}
)
return accounts_partial_reconcile, debit_amount, credit_amount
return (
accounts_partial_reconcile,
debit_amount,
credit_amount,
debit_amount_currency,
credit_amount_currency,
)

def _get_move_lines_data(
self,
Expand All @@ -115,6 +131,8 @@ def _get_move_lines_data(
acc_partial_rec,
debit_amount,
credit_amount,
debit_amount_currency,
credit_amount_currency,
) = self._get_account_partial_reconciled(company_id, date_at_object)
if acc_partial_rec:
ml_ids = list(map(operator.itemgetter("id"), move_lines))
Expand All @@ -135,6 +153,8 @@ def _get_move_lines_data(
company_id,
partner_ids,
only_posted_moves,
debit_amount_currency,
credit_amount_currency,
)
move_lines = [
move_line
Expand Down
24 changes: 22 additions & 2 deletions account_financial_report/report/open_items.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,25 +16,41 @@ class OpenItemsReport(models.AbstractModel):

def _get_account_partial_reconciled(self, company_id, date_at_object):
domain = [("max_date", ">", date_at_object), ("company_id", "=", company_id)]
fields = ["debit_move_id", "credit_move_id", "amount"]
fields = ["debit_move_id", "credit_move_id", "amount", "amount_currency"]
accounts_partial_reconcile = self.env["account.partial.reconcile"].search_read(
domain=domain, fields=fields
)
debit_amount = {}
debit_amount_currency = {}
credit_amount = {}
credit_amount_currency = {}
for account_partial_reconcile_data in accounts_partial_reconcile:
debit_move_id = account_partial_reconcile_data["debit_move_id"][0]
credit_move_id = account_partial_reconcile_data["credit_move_id"][0]
if debit_move_id not in debit_amount.keys():
debit_amount[debit_move_id] = 0.0
debit_amount_currency[debit_move_id] = 0.0
debit_amount[debit_move_id] += account_partial_reconcile_data["amount"]
debit_amount_currency[debit_move_id] += account_partial_reconcile_data[
"amount_currency"
]
if credit_move_id not in credit_amount.keys():
credit_amount[credit_move_id] = 0.0
credit_amount_currency[credit_move_id] = 0.0
credit_amount[credit_move_id] += account_partial_reconcile_data["amount"]
credit_amount_currency[credit_move_id] += account_partial_reconcile_data[
"amount_currency"
]
account_partial_reconcile_data.update(
{"debit_move_id": debit_move_id, "credit_move_id": credit_move_id}
)
return accounts_partial_reconcile, debit_amount, credit_amount
return (
accounts_partial_reconcile,
debit_amount,
credit_amount,
debit_amount_currency,
credit_amount_currency,
)

def _get_data(
self,
Expand All @@ -60,6 +76,8 @@ def _get_data(
acc_partial_rec,
debit_amount,
credit_amount,
debit_amount_currency,
credit_amount_currency,
) = self._get_account_partial_reconciled(company_id, date_at_object)
if acc_partial_rec:
ml_ids = list(map(operator.itemgetter("id"), move_lines))
Expand All @@ -80,6 +98,8 @@ def _get_data(
company_id,
partner_ids,
only_posted_moves,
debit_amount_currency,
credit_amount_currency,
)
move_lines = [
move_line
Expand Down