mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-05 22:48:27 +00:00
Merge pull request #42965 from frappe/mergify/bp/version-14-hotfix/pr-41845
fix: resolve gl entries duplication in asset purchase workflow (backport #41845)
This commit is contained in:
@@ -369,6 +369,21 @@ class PurchaseInvoice(BuyingController):
|
|||||||
item.expense_account = stock_not_billed_account
|
item.expense_account = stock_not_billed_account
|
||||||
elif item.is_fixed_asset:
|
elif item.is_fixed_asset:
|
||||||
account = None
|
account = None
|
||||||
|
if not item.pr_detail and item.po_detail:
|
||||||
|
receipt_item = frappe.get_cached_value(
|
||||||
|
"Purchase Receipt Item",
|
||||||
|
{
|
||||||
|
"purchase_order": item.purchase_order,
|
||||||
|
"purchase_order_item": item.po_detail,
|
||||||
|
"docstatus": 1,
|
||||||
|
},
|
||||||
|
["name", "parent"],
|
||||||
|
as_dict=1,
|
||||||
|
)
|
||||||
|
if receipt_item:
|
||||||
|
item.pr_detail = receipt_item.name
|
||||||
|
item.purchase_receipt = receipt_item.parent
|
||||||
|
|
||||||
if item.pr_detail:
|
if item.pr_detail:
|
||||||
if not self.asset_received_but_not_billed:
|
if not self.asset_received_but_not_billed:
|
||||||
self.asset_received_but_not_billed = self.get_company_default(
|
self.asset_received_but_not_billed = self.get_company_default(
|
||||||
|
|||||||
@@ -10,7 +10,10 @@ import erpnext
|
|||||||
from erpnext.accounts.doctype.account.test_account import create_account, get_inventory_account
|
from erpnext.accounts.doctype.account.test_account import create_account, get_inventory_account
|
||||||
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
|
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
|
||||||
from erpnext.buying.doctype.purchase_order.purchase_order import get_mapped_purchase_invoice
|
from erpnext.buying.doctype.purchase_order.purchase_order import get_mapped_purchase_invoice
|
||||||
from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
|
from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_invoice as make_pi_from_po
|
||||||
|
from erpnext.buying.doctype.purchase_order.test_purchase_order import (
|
||||||
|
create_purchase_order,
|
||||||
|
)
|
||||||
from erpnext.buying.doctype.supplier.test_supplier import create_supplier
|
from erpnext.buying.doctype.supplier.test_supplier import create_supplier
|
||||||
from erpnext.controllers.accounts_controller import get_payment_terms
|
from erpnext.controllers.accounts_controller import get_payment_terms
|
||||||
from erpnext.controllers.buying_controller import QtyMismatchError
|
from erpnext.controllers.buying_controller import QtyMismatchError
|
||||||
|
|||||||
@@ -546,7 +546,7 @@ class PurchaseReceipt(BuyingController):
|
|||||||
|
|
||||||
if not (
|
if not (
|
||||||
(erpnext.is_perpetual_inventory_enabled(self.company) and d.item_code in stock_items)
|
(erpnext.is_perpetual_inventory_enabled(self.company) and d.item_code in stock_items)
|
||||||
or d.is_fixed_asset
|
or (d.is_fixed_asset and not d.purchase_invoice)
|
||||||
):
|
):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user