Merge pull request #2694 from nabinhait/fix1
divisional loss adjustment while doing gl entry for purchase receipt
This commit is contained in:
commit
94365fa035
@ -138,10 +138,11 @@ class PurchaseReceipt(BuyingController):
|
||||
pr_qty = flt(d.qty) * flt(d.conversion_factor)
|
||||
|
||||
if pr_qty:
|
||||
val_rate_db_precision = 6 if cint(self.precision("valuation_rate")) <= 6 else 9
|
||||
sl_entries.append(self.get_sl_entries(d, {
|
||||
"actual_qty": flt(pr_qty),
|
||||
"serial_no": cstr(d.serial_no).strip(),
|
||||
"incoming_rate": d.valuation_rate
|
||||
"incoming_rate": flt(d.valuation_rate, val_rate_db_precision)
|
||||
}))
|
||||
|
||||
if flt(d.rejected_qty) > 0:
|
||||
@ -288,14 +289,16 @@ class PurchaseReceipt(BuyingController):
|
||||
if d.item_code in stock_items and flt(d.valuation_rate) and flt(d.qty):
|
||||
if warehouse_account.get(d.warehouse):
|
||||
|
||||
val_rate_db_precision = 6 if cint(self.precision("valuation_rate")) <= 6 else 9
|
||||
|
||||
# warehouse account
|
||||
gl_entries.append(self.get_gl_dict({
|
||||
"account": warehouse_account[d.warehouse],
|
||||
"against": stock_rbnb,
|
||||
"cost_center": d.cost_center,
|
||||
"remarks": self.get("remarks") or _("Accounting Entry for Stock"),
|
||||
"debit": flt(flt(d.valuation_rate) * flt(d.qty) * flt(d.conversion_factor),
|
||||
self.precision("valuation_rate", d))
|
||||
"debit": flt(flt(d.valuation_rate, val_rate_db_precision) * flt(d.qty) * flt(d.conversion_factor),
|
||||
self.precision("base_amount", d))
|
||||
}))
|
||||
|
||||
# stock received but not billed
|
||||
@ -329,6 +332,24 @@ class PurchaseReceipt(BuyingController):
|
||||
"credit": flt(d.rm_supp_cost)
|
||||
}))
|
||||
|
||||
# divisional loss adjustment
|
||||
if not self.get("other_charges"):
|
||||
sle_valuation_amount = flt(flt(d.valuation_rate, val_rate_db_precision) * flt(d.qty) * flt(d.conversion_factor),
|
||||
self.precision("base_amount", d))
|
||||
|
||||
distributed_amount = flt(flt(d.base_amount, self.precision("base_amount", d))) + \
|
||||
flt(d.landed_cost_voucher_amount) + flt(d.rm_supp_cost)
|
||||
|
||||
divisional_loss = flt(distributed_amount - sle_valuation_amount, self.precision("base_amount", d))
|
||||
if divisional_loss:
|
||||
gl_entries.append(self.get_gl_dict({
|
||||
"account": stock_rbnb,
|
||||
"against": warehouse_account[d.warehouse],
|
||||
"cost_center": d.cost_center,
|
||||
"remarks": self.get("remarks") or _("Accounting Entry for Stock"),
|
||||
"debit": divisional_loss
|
||||
}))
|
||||
|
||||
elif d.warehouse not in warehouse_with_no_account or \
|
||||
d.rejected_warehouse not in warehouse_with_no_account:
|
||||
warehouse_with_no_account.append(d.warehouse)
|
||||
|
Loading…
x
Reference in New Issue
Block a user