[itemwise tax details] store tax rate as well as tax amount for that item tax combination
This commit is contained in:
parent
f41ce11e91
commit
53b7342b09
@ -190,9 +190,6 @@ class AccountsController(TransactionBase):
|
||||
# accumulate tax amount into tax.tax_amount
|
||||
tax.tax_amount += current_tax_amount
|
||||
|
||||
# store tax breakup for each item
|
||||
tax.item_wise_tax_detail[item.item_code] = current_tax_amount
|
||||
|
||||
if tax.category:
|
||||
# if just for valuation, do not add the tax amount in total
|
||||
# hence, setting it as 0 for further steps
|
||||
@ -234,7 +231,12 @@ class AccountsController(TransactionBase):
|
||||
current_tax_amount = (tax_rate / 100.0) * \
|
||||
self.tax_doclist[cint(tax.row_id) - 1].grand_total_for_current_item
|
||||
|
||||
return flt(current_tax_amount, self.precision("tax_amount", tax))
|
||||
current_tax_amount = flt(current_tax_amount, self.precision("tax_amount", tax))
|
||||
|
||||
# store tax breakup for each item
|
||||
tax.item_wise_tax_detail[item.item_code or item.item_name] = [tax_rate, current_tax_amount]
|
||||
|
||||
return current_tax_amount
|
||||
|
||||
def _load_item_tax_rate(self, item_tax_rate):
|
||||
return json.loads(item_tax_rate) if item_tax_rate else {}
|
||||
|
@ -259,10 +259,18 @@ erpnext.TransactionController = wn.ui.form.Controller.extend({
|
||||
|
||||
$.each(this.get_tax_doclist(), function(i, tax) {
|
||||
var tax_amount_precision = precision("tax_amount", tax);
|
||||
var tax_rate_precision = precision("rate", tax);
|
||||
$.each(JSON.parse(tax.item_wise_tax_detail || '{}'),
|
||||
function(item_code, tax_amount) {
|
||||
function(item_code, tax_data) {
|
||||
if(!item_tax[item_code]) item_tax[item_code] = {};
|
||||
item_tax[item_code][tax.account_head] = flt(tax_amount, tax_amount_precision);
|
||||
if($.isArray(tax_data)) {
|
||||
var tax_rate = tax_data[0] == null ? "" : (flt(tax_data[0], tax_rate_precision) + "%"),
|
||||
tax_amount = format_currency(flt(tax_data[1], tax_amount_precision), company_currency);
|
||||
|
||||
item_tax[item_code][tax.account_head] = [tax_rate, tax_amount];
|
||||
} else {
|
||||
item_tax[item_code][tax.account_head] = [flt(tax_data, tax_rate_precision) + "%", ""];
|
||||
}
|
||||
});
|
||||
tax_accounts.push(tax.account_head);
|
||||
});
|
||||
@ -272,14 +280,16 @@ erpnext.TransactionController = wn.ui.form.Controller.extend({
|
||||
|
||||
var rows = $.map(this.get_item_doclist(), function(item) {
|
||||
var item_tax_record = item_tax[item.item_code || item.item_name];
|
||||
if(!item_tax_record) { return null; }
|
||||
return repl("<tr><td>%(item_name)s</td>%(taxes)s</tr>", {
|
||||
item_name: item.item_name,
|
||||
taxes: $.map(tax_accounts, function(head) {
|
||||
return "<td>" + format_currency(item_tax_record[head], company_currency) + "</td>"
|
||||
return "<td>(" + item_tax_record[head][0] + ") " + item_tax_record[head][1] + "</td>"
|
||||
}).join("\n")
|
||||
});
|
||||
}).join("\n");
|
||||
|
||||
if(!rows) return "";
|
||||
return '<div style="overflow-x: scroll;"><table class="table table-bordered table-hover">\
|
||||
<thead><tr>' + headings + '</tr></thead> \
|
||||
<tbody>' + rows + '</tbody> \
|
||||
@ -411,9 +421,6 @@ erpnext.TransactionController = wn.ui.form.Controller.extend({
|
||||
// accumulate tax amount into tax.tax_amount
|
||||
tax.tax_amount += current_tax_amount;
|
||||
|
||||
// store tax breakup for each item
|
||||
tax.item_wise_tax_detail[item.item_code || item.item_name] = current_tax_amount;
|
||||
|
||||
// for buying
|
||||
if(tax.category) {
|
||||
// if just for valuation, do not add the tax amount in total
|
||||
@ -465,7 +472,12 @@ erpnext.TransactionController = wn.ui.form.Controller.extend({
|
||||
|
||||
}
|
||||
|
||||
return flt(current_tax_amount, precision("tax_amount", tax));
|
||||
current_tax_amount = flt(current_tax_amount, precision("tax_amount", tax));
|
||||
|
||||
// store tax breakup for each item
|
||||
tax.item_wise_tax_detail[item.item_code || item.item_name] = [tax_rate, current_tax_amount];
|
||||
|
||||
return current_tax_amount;
|
||||
},
|
||||
|
||||
_cleanup: function() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user