Added tax table in stock entry
diff --git a/erpnext/accounts/general_ledger.py b/erpnext/accounts/general_ledger.py
index 17fe922..8081459 100644
--- a/erpnext/accounts/general_ledger.py
+++ b/erpnext/accounts/general_ledger.py
@@ -11,8 +11,7 @@
class StockAccountInvalidTransaction(frappe.ValidationError): pass
-def make_gl_entries(gl_map, cancel=False, adv_adj=False, merge_entries=True,
- update_outstanding='Yes'):
+def make_gl_entries(gl_map, cancel=False, adv_adj=False, merge_entries=True, update_outstanding='Yes'):
if gl_map:
if not cancel:
gl_map = process_gl_map(gl_map, merge_entries)
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index 051d9fc..61ef4cd 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -367,6 +367,8 @@
def update_stock_ledger(self):
sl_entries = []
for d in self.get('items'):
+ tax_amount_per_qty = flt(flt(d.tax_amount) / flt(d.qty), d.precision("tax_amount"))
+
if cstr(d.s_warehouse) and self.docstatus == 1:
sl_entries.append(self.get_sl_entries(d, {
"warehouse": cstr(d.s_warehouse),
@@ -378,7 +380,7 @@
sl_entries.append(self.get_sl_entries(d, {
"warehouse": cstr(d.t_warehouse),
"actual_qty": flt(d.transfer_qty),
- "incoming_rate": flt(d.incoming_rate)
+ "incoming_rate": flt(d.incoming_rate) + tax_amount_per_qty
}))
# On cancellation, make stock ledger entry for
@@ -392,6 +394,31 @@
}))
self.make_sl_entries(sl_entries, self.amended_from and 'Yes' or 'No')
+
+ def get_gl_entries(self, warehouse_account):
+ expenses_included_in_valuation = self.get_company_default("expenses_included_in_valuation")
+
+ gl_entries = super(StockEntry, self).get_gl_entries(warehouse_account)
+
+ for d in self.get("items"):
+ tax_amount = flt(d.tax_amount, d.precision("tax_amount"))
+ gl_entries.append(self.get_gl_dict({
+ "account": d.expense_account,
+ "against": expenses_included_in_valuation,
+ "cost_center": d.cost_center,
+ "remarks": self.get("remarks") or _("Accounting Entry for Stock"),
+ "debit": tax_amount
+ }))
+
+ gl_entries.append(self.get_gl_dict({
+ "account": expenses_included_in_valuation,
+ "against": warehouse_account[d.warehouse],
+ "cost_center": d.cost_center,
+ "remarks": self.get("remarks") or _("Accounting Entry for Stock"),
+ "credit": tax_amount
+ }))
+
+ return gl_entries
def update_production_order(self):
def _validate_production_order(pro_doc):