mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-02 13:08:27 +00:00
fix: debit credit not equal in purchase transactions for multi currency (#54456)
(cherry picked from commit 601581d6f8)
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com>
This commit is contained in:
@@ -461,7 +461,17 @@ class BuyingController(SubcontractingController):
|
|||||||
get_conversion_factor(item.item_code, item.uom).get("conversion_factor") or 1.0
|
get_conversion_factor(item.item_code, item.uom).get("conversion_factor") or 1.0
|
||||||
)
|
)
|
||||||
|
|
||||||
net_rate = item.qty * item.base_net_rate
|
net_rate = (
|
||||||
|
flt(
|
||||||
|
(item.base_net_amount / item.received_qty) * item.qty,
|
||||||
|
item.precision("base_net_amount"),
|
||||||
|
)
|
||||||
|
if item.received_qty
|
||||||
|
and frappe.get_single_value(
|
||||||
|
"Buying Settings", "bill_for_rejected_quantity_in_purchase_invoice"
|
||||||
|
)
|
||||||
|
else item.base_net_amount
|
||||||
|
)
|
||||||
if item.sales_incoming_rate: # for internal transfer
|
if item.sales_incoming_rate: # for internal transfer
|
||||||
net_rate = item.qty * item.sales_incoming_rate
|
net_rate = item.qty * item.sales_incoming_rate
|
||||||
|
|
||||||
|
|||||||
@@ -560,7 +560,14 @@ class PurchaseReceipt(BuyingController):
|
|||||||
else flt(item.net_amount, item.precision("net_amount"))
|
else flt(item.net_amount, item.precision("net_amount"))
|
||||||
)
|
)
|
||||||
|
|
||||||
outgoing_amount = item.qty * item.base_net_rate
|
outgoing_amount = (
|
||||||
|
flt((item.base_net_amount / item.received_qty) * item.qty, item.precision("base_net_amount"))
|
||||||
|
if item.received_qty
|
||||||
|
and frappe.get_single_value(
|
||||||
|
"Buying Settings", "bill_for_rejected_quantity_in_purchase_invoice"
|
||||||
|
)
|
||||||
|
else item.base_net_amount
|
||||||
|
)
|
||||||
if self.is_internal_transfer() and item.valuation_rate:
|
if self.is_internal_transfer() and item.valuation_rate:
|
||||||
outgoing_amount = abs(get_stock_value_difference(self.name, item.name, item.from_warehouse))
|
outgoing_amount = abs(get_stock_value_difference(self.name, item.name, item.from_warehouse))
|
||||||
credit_amount = outgoing_amount
|
credit_amount = outgoing_amount
|
||||||
|
|||||||
Reference in New Issue
Block a user