fix(India): Taxable value for invoices with additional discount
This commit is contained in:
parent
04dfaf3b2a
commit
c6dcc9d94a
@ -188,11 +188,6 @@ def get_item_list(invoice):
|
|||||||
|
|
||||||
item.qty = abs(item.qty)
|
item.qty = abs(item.qty)
|
||||||
|
|
||||||
if invoice.apply_discount_on == 'Net Total' and invoice.discount_amount:
|
|
||||||
item.discount_amount = abs(item.base_amount - item.base_net_amount)
|
|
||||||
else:
|
|
||||||
item.discount_amount = 0
|
|
||||||
|
|
||||||
item.unit_rate = abs((abs(item.taxable_value) - item.discount_amount)/ item.qty)
|
item.unit_rate = abs((abs(item.taxable_value) - item.discount_amount)/ item.qty)
|
||||||
item.gross_amount = abs(item.taxable_value) + item.discount_amount
|
item.gross_amount = abs(item.taxable_value) + item.discount_amount
|
||||||
item.taxable_value = abs(item.taxable_value)
|
item.taxable_value = abs(item.taxable_value)
|
||||||
@ -254,18 +249,8 @@ def update_item_taxes(invoice, item):
|
|||||||
|
|
||||||
def get_invoice_value_details(invoice):
|
def get_invoice_value_details(invoice):
|
||||||
invoice_value_details = frappe._dict(dict())
|
invoice_value_details = frappe._dict(dict())
|
||||||
|
|
||||||
if invoice.apply_discount_on == 'Net Total' and invoice.discount_amount:
|
|
||||||
# Discount already applied on net total which means on items
|
|
||||||
invoice_value_details.base_total = abs(sum([i.taxable_value for i in invoice.get('items')]))
|
invoice_value_details.base_total = abs(sum([i.taxable_value for i in invoice.get('items')]))
|
||||||
invoice_value_details.invoice_discount_amt = 0
|
invoice_value_details.invoice_discount_amt = 0
|
||||||
elif invoice.apply_discount_on == 'Grand Total' and invoice.discount_amount:
|
|
||||||
invoice_value_details.invoice_discount_amt = invoice.base_discount_amount
|
|
||||||
invoice_value_details.base_total = abs(sum([i.taxable_value for i in invoice.get('items')]))
|
|
||||||
else:
|
|
||||||
invoice_value_details.base_total = abs(sum([i.taxable_value for i in invoice.get('items')]))
|
|
||||||
# since tax already considers discount amount
|
|
||||||
invoice_value_details.invoice_discount_amt = 0
|
|
||||||
|
|
||||||
invoice_value_details.round_off = invoice.base_rounding_adjustment
|
invoice_value_details.round_off = invoice.base_rounding_adjustment
|
||||||
invoice_value_details.base_grand_total = abs(invoice.base_rounded_total) or abs(invoice.base_grand_total)
|
invoice_value_details.base_grand_total = abs(invoice.base_rounded_total) or abs(invoice.base_grand_total)
|
||||||
@ -287,8 +272,7 @@ def update_invoice_taxes(invoice, invoice_value_details):
|
|||||||
considered_rows = []
|
considered_rows = []
|
||||||
|
|
||||||
for t in invoice.taxes:
|
for t in invoice.taxes:
|
||||||
tax_amount = t.base_tax_amount if (invoice.apply_discount_on == 'Grand Total' and invoice.discount_amount) \
|
tax_amount = t.base_tax_amount_after_discount_amount
|
||||||
else t.base_tax_amount_after_discount_amount
|
|
||||||
if t.account_head in gst_accounts_list:
|
if t.account_head in gst_accounts_list:
|
||||||
if t.account_head in gst_accounts.cess_account:
|
if t.account_head in gst_accounts.cess_account:
|
||||||
# using after discount amt since item also uses after discount amt for cess calc
|
# using after discount amt since item also uses after discount amt for cess calc
|
||||||
|
|||||||
@ -817,10 +817,6 @@ def update_taxable_values(doc, method):
|
|||||||
considered_rows.append(prev_row_id)
|
considered_rows.append(prev_row_id)
|
||||||
|
|
||||||
for item in doc.get('items'):
|
for item in doc.get('items'):
|
||||||
if doc.apply_discount_on == 'Grand Total' and doc.discount_amount:
|
|
||||||
proportionate_value = item.base_amount if doc.base_total else item.qty
|
|
||||||
total_value = doc.base_total if doc.base_total else doc.total_qty
|
|
||||||
else:
|
|
||||||
proportionate_value = item.base_net_amount if doc.base_net_total else item.qty
|
proportionate_value = item.base_net_amount if doc.base_net_total else item.qty
|
||||||
total_value = doc.base_net_total if doc.base_net_total else doc.total_qty
|
total_value = doc.base_net_total if doc.base_net_total else doc.total_qty
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user