mirror of
https://github.com/frappe/erpnext.git
synced 2026-03-29 17:11:33 +02:00
fix: allow sale of asset for internal transfer
(cherry picked from commit 972329cc16)
This commit is contained in:
@@ -1316,6 +1316,10 @@ class SalesInvoice(SellingController):
|
|||||||
|
|
||||||
for item in self.get("items"):
|
for item in self.get("items"):
|
||||||
if flt(item.base_net_amount, item.precision("base_net_amount")):
|
if flt(item.base_net_amount, item.precision("base_net_amount")):
|
||||||
|
# Do not book income for transfer within same company
|
||||||
|
if self.is_internal_transfer():
|
||||||
|
continue
|
||||||
|
|
||||||
if item.is_fixed_asset:
|
if item.is_fixed_asset:
|
||||||
asset = self.get_asset(item)
|
asset = self.get_asset(item)
|
||||||
|
|
||||||
@@ -1374,37 +1378,33 @@ class SalesInvoice(SellingController):
|
|||||||
self.set_asset_status(asset)
|
self.set_asset_status(asset)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
# Do not book income for transfer within same company
|
income_account = (
|
||||||
if not self.is_internal_transfer():
|
item.income_account
|
||||||
income_account = (
|
if (not item.enable_deferred_revenue or self.is_return)
|
||||||
item.income_account
|
else item.deferred_revenue_account
|
||||||
if (not item.enable_deferred_revenue or self.is_return)
|
)
|
||||||
else item.deferred_revenue_account
|
|
||||||
)
|
|
||||||
|
|
||||||
amount, base_amount = self.get_amount_and_base_amount(
|
amount, base_amount = self.get_amount_and_base_amount(item, enable_discount_accounting)
|
||||||
item, enable_discount_accounting
|
|
||||||
)
|
|
||||||
|
|
||||||
account_currency = get_account_currency(income_account)
|
account_currency = get_account_currency(income_account)
|
||||||
gl_entries.append(
|
gl_entries.append(
|
||||||
self.get_gl_dict(
|
self.get_gl_dict(
|
||||||
{
|
{
|
||||||
"account": income_account,
|
"account": income_account,
|
||||||
"against": self.customer,
|
"against": self.customer,
|
||||||
"credit": flt(base_amount, item.precision("base_net_amount")),
|
"credit": flt(base_amount, item.precision("base_net_amount")),
|
||||||
"credit_in_account_currency": (
|
"credit_in_account_currency": (
|
||||||
flt(base_amount, item.precision("base_net_amount"))
|
flt(base_amount, item.precision("base_net_amount"))
|
||||||
if account_currency == self.company_currency
|
if account_currency == self.company_currency
|
||||||
else flt(amount, item.precision("net_amount"))
|
else flt(amount, item.precision("net_amount"))
|
||||||
),
|
),
|
||||||
"cost_center": item.cost_center,
|
"cost_center": item.cost_center,
|
||||||
"project": item.project or self.project,
|
"project": item.project or self.project,
|
||||||
},
|
},
|
||||||
account_currency,
|
account_currency,
|
||||||
item=item,
|
item=item,
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
)
|
||||||
|
|
||||||
# expense account gl entries
|
# expense account gl entries
|
||||||
if cint(self.update_stock) and erpnext.is_perpetual_inventory_enabled(self.company):
|
if cint(self.update_stock) and erpnext.is_perpetual_inventory_enabled(self.company):
|
||||||
|
|||||||
Reference in New Issue
Block a user