fix: cost center for payment entry against advance payment doctypes in accounts payable/rece by ljain112 [frappe] PR#48326
From: https://github.com/frappe/erpnext/pull/48326
Date: 2025-06-30 17:49:56+05:30
- refactor: function to fetch advance payment doctypes
- fix: cost center for payment entry against advance payment doctypes in accounts Payable/Receivable report
Diagnostics
pre-commit failed for source commit: 48e8e85617be17d0a6b812194ab3585140033221
erpnext/accounts/doctype/payment_request/payment_request.py:44:7: F821 Undefined name `webshop_app_import_guard`
Found 1 error.
Suspicious changes found (Hook advance_payment_doctypes renamed in Dokos 5 / advance_payment_doctypes):
* da7fda6248a0f77ff2f9d6228ab30f7ef0137107 refactor: function to fetch advance payment doctypes
```diff
```
* 0524ad51dc3e7c5356ec184ba3b185f9ce8e3d39 fix: cost center for payment entry against advance payment doctypes in accounts Payable/Receivable report
```diff
a/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -26,0 +27 @@ from erpnext.accounts.utils import (
+ get_advance_payment_doctypes,
@@ -322,3 +323 @@ class JournalEntry(AccountsController):
- advance_payment_doctypes = frappe.get_hooks("advance_payment_receivable_doctypes") + frappe.get_hooks(
+ advance_payment_doctypes = get_advance_payment_doctypes()
a/erpnext/accounts/doctype/payment_entry/payment_entry.py
@@ -48,0 +49 @@ from erpnext.accounts.utils import (
+ get_advance_payment_doctypes,
@@ -1143,4 +1144 @@ class PaymentEntry(AccountsController):
- advance_payment_doctypes = frappe.get_hooks("advance_payment_receivable_doctypes") + frappe.get_hooks(
- if d.reference_doctype in advance_payment_doctypes:
+ if d.reference_doctype in get_advance_payment_doctypes():
@@ -1428,4 +1426 @@ class PaymentEntry(AccountsController):
- advance_payment_doctypes = frappe.get_hooks("advance_payment_receivable_doctypes") + frappe.get_hooks(
+ advance_payment_doctypes = get_advance_payment_doctypes()
@@ -1889,3 +1884 @@ class PaymentEntry(AccountsController):
- advance_payment_doctypes = frappe.get_hooks("advance_payment_receivable_doctypes") + frappe.get_hooks(
+ advance_payment_doctypes = get_advance_payment_doctypes()
a/erpnext/accounts/doctype/payment_request/payment_request.py
@@ -23,2 +23,2 @@ from erpnext.accounts.party import get_party_account, get_party_bank_account
+from erpnext.accounts.utils import get_account_currency, get_advance_payment_doctypes, get_currency_precision
@@ -796,4 +796 @@ class PaymentRequest(Document):
- advance_payment_doctypes = frappe.get_hooks("advance_payment_receivable_doctypes") + frappe.get_hooks(
- if self.reference_doctype in advance_payment_doctypes:
+ if self.reference_doctype in get_advance_payment_doctypes():
a/erpnext/accounts/doctype/unreconcile_payment/unreconcile_payment.py
@@ -14,0 +15 @@ from erpnext.accounts.utils import (
+ get_advance_payment_doctypes,
@@ -87,3 +88 @@ class UnreconcilePayment(Document):
+ if doc.doctype in get_advance_payment_doctypes():
a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
@@ -18 +18,5 @@ from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import (
+ get_advance_payment_doctypes,
@@ -90,0 +95 @@ class ReceivablePayableReport:
+ self.advance_payment_doctypes = get_advance_payment_doctypes()
a/erpnext/accounts/utils.py
@@ -652,4 +652,2 @@ def update_reference_in_journal_entry(d, journal_entry, do_not_save=False):
- advance_payment_doctypes = frappe.get_hooks("advance_payment_receivable_doctypes") + frappe.get_hooks(
- if jv_detail.get("reference_type") in advance_payment_doctypes:
+ if jv_detail.get("reference_type") in get_advance_payment_doctypes():
@@ -762,4 +760 @@ def update_reference_in_payment_entry(
- advance_payment_doctypes = frappe.get_hooks("advance_payment_receivable_doctypes") + frappe.get_hooks(
- if existing_row.get("reference_doctype") in advance_payment_doctypes:
+ if existing_row.get("reference_doctype") in get_advance_payment_doctypes():
@@ -2295,0 +2291,13 @@ def get_party_types_from_account_type(account_type):
+def get_advance_payment_doctypes(payment_type=None):
a/erpnext/controllers/accounts_controller.py
@@ -54,0 +55,3 @@ from erpnext.accounts.utils import (
+ get_advance_payment_doctypes as _get_advance_payment_doctypes,
@@ -391,4 +394 @@ class AccountsController(TransactionBase):
- advance_payment_doctypes = frappe.get_hooks("advance_payment_receivable_doctypes") + frappe.get_hooks(
- if self.doctype in advance_payment_doctypes:
+ if self.doctype in self.get_advance_payment_doctypes():
@@ -2378 +2378 @@ class AccountsController(TransactionBase):
+ if self.doctype in self.get_advance_payment_doctypes(payment_type="receivable"):
@@ -2380 +2380 @@ class AccountsController(TransactionBase):
+ elif self.doctype in self.get_advance_payment_doctypes(payment_type="payable"):
@@ -3040,4 +3040,2 @@ class AccountsController(TransactionBase):
- def get_advance_payment_doctypes(self) -> list:
+ def get_advance_payment_doctypes(self, payment_type=None) -> list:
+ return _get_advance_payment_doctypes(payment_type=payment_type)
```
Suspicious changes found (Hook advance_payment_doctypes renamed in Dokos 5 / advance_payment_payable_doctypes):
* da7fda6248a0f77ff2f9d6228ab30f7ef0137107 refactor: function to fetch advance payment doctypes
```diff
```
* 0524ad51dc3e7c5356ec184ba3b185f9ce8e3d39 fix: cost center for payment entry against advance payment doctypes in accounts Payable/Receivable report
```diff
a/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -322,3 +323 @@ class JournalEntry(AccountsController):
- "advance_payment_payable_doctypes"
a/erpnext/accounts/doctype/payment_entry/payment_entry.py
@@ -1143,4 +1144 @@ class PaymentEntry(AccountsController):
- "advance_payment_payable_doctypes"
@@ -1428,4 +1426 @@ class PaymentEntry(AccountsController):
- "advance_payment_payable_doctypes"
@@ -1889,3 +1884 @@ class PaymentEntry(AccountsController):
- "advance_payment_payable_doctypes"
a/erpnext/accounts/doctype/payment_request/payment_request.py
@@ -796,4 +796 @@ class PaymentRequest(Document):
- "advance_payment_payable_doctypes"
a/erpnext/accounts/doctype/unreconcile_payment/unreconcile_payment.py
@@ -87,3 +88 @@ class UnreconcilePayment(Document):
- if doc.doctype in frappe.get_hooks("advance_payment_payable_doctypes") + frappe.get_hooks(
a/erpnext/accounts/utils.py
@@ -652,4 +652,2 @@ def update_reference_in_journal_entry(d, journal_entry, do_not_save=False):
- "advance_payment_payable_doctypes"
@@ -762,4 +760 @@ def update_reference_in_payment_entry(
- "advance_payment_payable_doctypes"
@@ -2295,0 +2291,13 @@ def get_party_types_from_account_type(account_type):
+ frappe.get_hooks("advance_payment_payable_doctypes") or []
a/erpnext/controllers/accounts_controller.py
@@ -391,4 +394 @@ class AccountsController(TransactionBase):
- "advance_payment_payable_doctypes"
@@ -2380 +2380 @@ class AccountsController(TransactionBase):
- elif self.doctype in frappe.get_hooks("advance_payment_payable_doctypes"):
@@ -3040,4 +3040,2 @@ class AccountsController(TransactionBase):
- "advance_payment_payable_doctypes"
```
Checkout instructions
# Checkout locally
git fetch upstream
git switch ft-pr-48326
# Alternatively, re-take the changes
git switch develop
ft take ft-pr-48326
# Make changes then rebase
git rebase -i develop
# Fix or ignore conflicts
git checkout --theirs .
git rebase --continue
# Force-push changes
git push --force-with-lease