diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/i18n/bs.po b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/i18n/bs.po
index b9ca329..2a8f6a3 100644
--- a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/i18n/bs.po
+++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/i18n/bs.po
@@ -540,7 +540,7 @@ msgstr ""
#. module: accounting_pdf_reports
#. odoo-python
-#: code:addons/accounting_pdf_reports/report/report_aged_partner.py
+#: code:addons/accounting_pdf_reports/report/report_aged_partner.py:0
#, python-format
msgid "Form content is missing, this report cannot be printed."
msgstr "Nedostaju podaci sa forme, izvještaj se ne može ispisati."
@@ -867,6 +867,16 @@ msgstr "Potraživanja i obaveze"
msgid "Reconciled Entries"
msgstr "Zatvorene stavke"
+#. module: accounting_pdf_reports
+#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__previous_balance
+msgid "Previous Balance"
+msgstr "Prethodno stanje"
+
+#. module: accounting_pdf_reports
+#: model:ir.model.fields,help:accounting_pdf_reports.field_account_report_partner_ledger__previous_balance
+msgid "Show previous balance before the start date."
+msgstr "Prikaži prethodno stanje prije početnog datuma."
+
#. module: accounting_pdf_reports
#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger
msgid "Ref"
@@ -1038,7 +1048,7 @@ msgstr "Tip"
#. module: accounting_pdf_reports
#. odoo-python
-#: code:addons/accounting_pdf_reports/report/report_aged_partner.py
+#: code:addons/accounting_pdf_reports/report/report_aged_partner.py:0
#, python-format
msgid "Unknown Partner"
msgstr "Nepoznat partner"
@@ -1081,21 +1091,21 @@ msgstr ""
#. module: accounting_pdf_reports
#. odoo-python
-#: code:addons/accounting_pdf_reports/wizard/account_general_ledger.py
+#: code:addons/accounting_pdf_reports/wizard/account_general_ledger.py:0
#, python-format
msgid "You must define a Start Date"
msgstr "You must define a Start Datum"
#. module: accounting_pdf_reports
#. odoo-python
-#: code:addons/accounting_pdf_reports/wizard/aged_partner.py
+#: code:addons/accounting_pdf_reports/wizard/aged_partner.py:0
#, python-format
msgid "You must set a period length greater than 0."
msgstr "Morate postaviti dužinu perioda veću od 0."
#. module: accounting_pdf_reports
#. odoo-python
-#: code:addons/accounting_pdf_reports/wizard/aged_partner.py
+#: code:addons/accounting_pdf_reports/wizard/aged_partner.py:0
#, python-format
msgid "You must set a start date."
msgstr "Morate postaviti početni datum."
diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_partner_ledger.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_partner_ledger.py
index 6b3a444..b295c2e 100644
--- a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_partner_ledger.py
+++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_partner_ledger.py
@@ -45,6 +45,33 @@ class ReportPartnerLedger(models.AbstractModel):
full_account.append(r)
return full_account
+ def _previous_balance(self, data, partner):
+ """Calculate the balance for a partner before the date_from."""
+ date_from = data['form'].get('date_from')
+ if not date_from:
+ return {'debit': 0.0, 'credit': 0.0, 'balance': 0.0}
+
+ reconcile_clause = "" if data['form']['reconciled'] else ' AND "account_move_line".full_reconcile_id IS NULL '
+ params = [
+ partner.id,
+ tuple(data['computed']['move_state']),
+ tuple(data['computed']['account_ids']),
+ date_from,
+ ]
+ query = """
+ SELECT COALESCE(sum("account_move_line".debit), 0) as debit,
+ COALESCE(sum("account_move_line".credit), 0) as credit,
+ COALESCE(sum("account_move_line".debit - "account_move_line".credit), 0) as balance
+ FROM account_move_line
+ LEFT JOIN account_move m ON (m.id = "account_move_line".move_id)
+ WHERE "account_move_line".partner_id = %s
+ AND m.state IN %s
+ AND "account_move_line".account_id IN %s
+ AND "account_move_line".date < %s""" + reconcile_clause
+ self.env.cr.execute(query, tuple(params))
+ result = self.env.cr.dictfetchone()
+ return result or {'debit': 0.0, 'credit': 0.0, 'balance': 0.0}
+
def _sum_partner(self, data, partner, field):
if field not in ['debit', 'credit', 'debit - credit']:
return
@@ -121,4 +148,5 @@ class ReportPartnerLedger(models.AbstractModel):
'time': time,
'lines': self._lines,
'sum_partner': self._sum_partner,
+ 'previous_balance': self._previous_balance,
}
diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_partner_ledger.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_partner_ledger.xml
index 8c56a41..cf78364 100644
--- a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_partner_ledger.xml
+++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_partner_ledger.xml
@@ -77,6 +77,27 @@
t-options="{'widget': 'float', 'precision': 2}"/>
+
+
+
+ Prethodno stanje do
+
+
+
+
+
+
+
+