[Fix] Precision issue, not able to submit the stock entry (#15863)
This commit is contained in:
parent
d9a82738d0
commit
3f398d24f3
@ -671,9 +671,11 @@ class SalesInvoice(SellingController):
|
|||||||
self.get_gl_dict({
|
self.get_gl_dict({
|
||||||
"account": tax.account_head,
|
"account": tax.account_head,
|
||||||
"against": self.customer,
|
"against": self.customer,
|
||||||
"credit": flt(tax.base_tax_amount_after_discount_amount),
|
"credit": flt(tax.base_tax_amount_after_discount_amount,
|
||||||
"credit_in_account_currency": flt(tax.base_tax_amount_after_discount_amount) \
|
tax.precision("tax_amount_after_discount_amount")),
|
||||||
if account_currency==self.company_currency else flt(tax.tax_amount_after_discount_amount),
|
"credit_in_account_currency": (flt(tax.base_tax_amount_after_discount_amount,
|
||||||
|
tax.precision("base_tax_amount_after_discount_amount")) if account_currency==self.company_currency else
|
||||||
|
flt(tax.tax_amount_after_discount_amount, tax.precision("tax_amount_after_discount_amount"))),
|
||||||
"cost_center": tax.cost_center
|
"cost_center": tax.cost_center
|
||||||
}, account_currency)
|
}, account_currency)
|
||||||
)
|
)
|
||||||
@ -681,7 +683,7 @@ class SalesInvoice(SellingController):
|
|||||||
def make_item_gl_entries(self, gl_entries):
|
def make_item_gl_entries(self, gl_entries):
|
||||||
# income account gl entries
|
# income account gl entries
|
||||||
for item in self.get("items"):
|
for item in self.get("items"):
|
||||||
if flt(item.base_net_amount):
|
if flt(item.base_net_amount, item.precision("base_net_amount")):
|
||||||
if item.is_fixed_asset:
|
if item.is_fixed_asset:
|
||||||
asset = frappe.get_doc("Asset", item.asset)
|
asset = frappe.get_doc("Asset", item.asset)
|
||||||
|
|
||||||
@ -698,9 +700,10 @@ class SalesInvoice(SellingController):
|
|||||||
self.get_gl_dict({
|
self.get_gl_dict({
|
||||||
"account": item.income_account,
|
"account": item.income_account,
|
||||||
"against": self.customer,
|
"against": self.customer,
|
||||||
"credit": item.base_net_amount,
|
"credit": flt(item.base_net_amount, item.precision("base_net_amount")),
|
||||||
"credit_in_account_currency": item.base_net_amount \
|
"credit_in_account_currency": (flt(item.base_net_amount, item.precision("base_net_amount"))
|
||||||
if account_currency==self.company_currency else item.net_amount,
|
if account_currency==self.company_currency
|
||||||
|
else flt(item.net_amount, item.precision("net_amount"))),
|
||||||
"cost_center": item.cost_center
|
"cost_center": item.cost_center
|
||||||
}, account_currency)
|
}, account_currency)
|
||||||
)
|
)
|
||||||
@ -771,7 +774,7 @@ class SalesInvoice(SellingController):
|
|||||||
|
|
||||||
def make_write_off_gl_entry(self, gl_entries):
|
def make_write_off_gl_entry(self, gl_entries):
|
||||||
# write off entries, applicable if only pos
|
# write off entries, applicable if only pos
|
||||||
if self.write_off_account and self.write_off_amount:
|
if self.write_off_account and flt(self.write_off_amount, self.precision("write_off_amount")):
|
||||||
write_off_account_currency = get_account_currency(self.write_off_account)
|
write_off_account_currency = get_account_currency(self.write_off_account)
|
||||||
default_cost_center = frappe.db.get_value('Company', self.company, 'cost_center')
|
default_cost_center = frappe.db.get_value('Company', self.company, 'cost_center')
|
||||||
|
|
||||||
@ -781,9 +784,10 @@ class SalesInvoice(SellingController):
|
|||||||
"party_type": "Customer",
|
"party_type": "Customer",
|
||||||
"party": self.customer,
|
"party": self.customer,
|
||||||
"against": self.write_off_account,
|
"against": self.write_off_account,
|
||||||
"credit": self.base_write_off_amount,
|
"credit": flt(self.base_write_off_amount, self.precision("base_write_off_amount")),
|
||||||
"credit_in_account_currency": self.base_write_off_amount \
|
"credit_in_account_currency": (flt(self.base_write_off_amount,
|
||||||
if self.party_account_currency==self.company_currency else self.write_off_amount,
|
self.precision("base_write_off_amount")) if self.party_account_currency==self.company_currency
|
||||||
|
else flt(self.write_off_amount, self.precision("write_off_amount"))),
|
||||||
"against_voucher": self.return_against if cint(self.is_return) else self.name,
|
"against_voucher": self.return_against if cint(self.is_return) else self.name,
|
||||||
"against_voucher_type": self.doctype
|
"against_voucher_type": self.doctype
|
||||||
}, self.party_account_currency)
|
}, self.party_account_currency)
|
||||||
@ -792,15 +796,16 @@ class SalesInvoice(SellingController):
|
|||||||
self.get_gl_dict({
|
self.get_gl_dict({
|
||||||
"account": self.write_off_account,
|
"account": self.write_off_account,
|
||||||
"against": self.customer,
|
"against": self.customer,
|
||||||
"debit": self.base_write_off_amount,
|
"debit": flt(self.base_write_off_amount, self.precision("base_write_off_amount")),
|
||||||
"debit_in_account_currency": self.base_write_off_amount \
|
"debit_in_account_currency": (flt(self.base_write_off_amount,
|
||||||
if write_off_account_currency==self.company_currency else self.write_off_amount,
|
self.precision("base_write_off_amount")) if write_off_account_currency==self.company_currency
|
||||||
|
else flt(self.write_off_amount, self.precision("write_off_amount"))),
|
||||||
"cost_center": self.write_off_cost_center or default_cost_center
|
"cost_center": self.write_off_cost_center or default_cost_center
|
||||||
}, write_off_account_currency)
|
}, write_off_account_currency)
|
||||||
)
|
)
|
||||||
|
|
||||||
def make_gle_for_rounding_adjustment(self, gl_entries):
|
def make_gle_for_rounding_adjustment(self, gl_entries):
|
||||||
if self.rounding_adjustment:
|
if flt(self.rounding_adjustment, self.precision("rounding_adjustment")):
|
||||||
round_off_account, round_off_cost_center = \
|
round_off_account, round_off_cost_center = \
|
||||||
get_round_off_account_and_cost_center(self.company)
|
get_round_off_account_and_cost_center(self.company)
|
||||||
|
|
||||||
@ -808,8 +813,10 @@ class SalesInvoice(SellingController):
|
|||||||
self.get_gl_dict({
|
self.get_gl_dict({
|
||||||
"account": round_off_account,
|
"account": round_off_account,
|
||||||
"against": self.customer,
|
"against": self.customer,
|
||||||
"credit_in_account_currency": self.rounding_adjustment,
|
"credit_in_account_currency": flt(self.rounding_adjustment,
|
||||||
"credit": self.base_rounding_adjustment,
|
self.precision("rounding_adjustment")),
|
||||||
|
"credit": flt(self.base_rounding_adjustment,
|
||||||
|
self.precision("base_rounding_adjustment")),
|
||||||
"cost_center": round_off_cost_center,
|
"cost_center": round_off_cost_center,
|
||||||
}
|
}
|
||||||
))
|
))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user