Patch: taxes and totals in party currency
This commit is contained in:
parent
82e3e25cdb
commit
6dfbc2465b
@ -112,7 +112,6 @@ erpnext.patches.v5_0.remove_birthday_events
|
||||
erpnext.patches.v5_0.update_item_name_in_bom
|
||||
erpnext.patches.v5_0.rename_customer_issue
|
||||
erpnext.patches.v5_0.rename_total_fields
|
||||
erpnext.patches.v5_0.replace_renamed_fields_in_custom_script_and_print_formats
|
||||
erpnext.patches.v5_0.new_crm_module
|
||||
erpnext.patches.v5_0.rename_customer_issue
|
||||
erpnext.patches.v5_0.update_material_transfer_for_manufacture
|
||||
@ -124,3 +123,5 @@ erpnext.patches.v5_0.convert_stock_reconciliation
|
||||
erpnext.patches.v5_0.update_projects
|
||||
erpnext.patches.v5_0.item_patches
|
||||
erpnext.patches.v5_0.update_journal_entry_title
|
||||
erpnext.patches.v5_0.taxes_and_totals_in_party_currency
|
||||
erpnext.patches.v5_0.replace_renamed_fields_in_custom_scripts_and_print_formats
|
||||
|
@ -21,9 +21,10 @@ def get_all_renamed_fields():
|
||||
from erpnext.patches.v5_0.rename_table_fieldnames import rename_map
|
||||
|
||||
renamed_fields = (
|
||||
("base_amount", "base_net_amount"),
|
||||
("net_total", "base_net_total"),
|
||||
("net_total_export", "net_total"),
|
||||
("net_total_import", "net_total"),
|
||||
("net_total_export", "total"),
|
||||
("net_total_import", "total"),
|
||||
("other_charges_total", "base_total_taxes_and_charges"),
|
||||
("other_charges_total_export", "total_taxes_and_charges"),
|
||||
("other_charges_added", "base_taxes_and_charges_added"),
|
||||
@ -39,7 +40,9 @@ def get_all_renamed_fields():
|
||||
("rounded_total_import", "rounded_total"),
|
||||
("in_words", "base_in_words"),
|
||||
("in_words_export", "in_words"),
|
||||
("in_words_import", "in_words")
|
||||
("in_words_import", "in_words"),
|
||||
("tax_amount", "base_tax_amount"),
|
||||
("tax_amount_after_discount_amount", "base_tax_amount_after_discount_amount"),
|
||||
)
|
||||
|
||||
for fields in rename_map.values():
|
66
erpnext/patches/v5_0/taxes_and_totals_in_party_currency.py
Normal file
66
erpnext/patches/v5_0/taxes_and_totals_in_party_currency.py
Normal file
@ -0,0 +1,66 @@
|
||||
|
||||
# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
|
||||
# License: GNU General Public License v3. See license.txt
|
||||
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
selling_doctypes = ["Quotation", "Sales Order", "Delivery Note", "Sales Invoice"]
|
||||
buying_doctypes = ["Supplier Quotation", "Purchase Order", "Purchase Receipt", "Purchase Invoice"]
|
||||
|
||||
for dt in selling_doctypes:
|
||||
update_values(dt, "Sales Taxes and Charges")
|
||||
|
||||
for dt in buying_doctypes:
|
||||
update_values(dt, "Purchase Taxes and Charges")
|
||||
|
||||
def update_values(dt, tax_table):
|
||||
frappe.reload_doctype(dt)
|
||||
frappe.reload_doctype(dt + " Item")
|
||||
frappe.reload_doctype(tax_table)
|
||||
|
||||
# update net_total, discount_on
|
||||
frappe.db.sql("""
|
||||
UPDATE
|
||||
`tab{0}`
|
||||
SET
|
||||
total = net_total,
|
||||
base_total = net_total*conversion_rate,
|
||||
net_total = base_net_total / conversion_rate,
|
||||
apply_discount_on = "Grand Total"
|
||||
WHERE
|
||||
docstatus < 2
|
||||
""".format(dt))
|
||||
|
||||
|
||||
# update net_amount
|
||||
frappe.db.sql("""
|
||||
UPDATE
|
||||
`tab{0}` par, `tab{1}` item
|
||||
SET
|
||||
item.base_net_amount = item.base_amount,
|
||||
item.base_net_rate = item.base_rate,
|
||||
item.net_amount = item.base_net_amount / par.conversion_rate,
|
||||
item.net_rate = item.base_net_rate / par.conversion_rate,
|
||||
item.base_amount = item.amount * par.conversion_rate,
|
||||
item.base_rate = item.rate * par.conversion_rate
|
||||
WHERE
|
||||
par.name = item.parent
|
||||
and par.docstatus < 2
|
||||
""".format(dt, dt + " Item"))
|
||||
|
||||
# update tax in party currency
|
||||
frappe.db.sql("""
|
||||
UPDATE
|
||||
`tab{0}` par, `tab{1}` tax
|
||||
SET
|
||||
tax.base_tax_amount = tax.tax_amount,
|
||||
tax.tax_amount = tax.base_tax_amount / par.conversion_rate,
|
||||
tax.base_total = tax.total,
|
||||
tax.total = tax.base_total / conversion_rate,
|
||||
tax.base_tax_amount_after_discount_amount = tax.tax_amount_after_discount_amount,
|
||||
tax.tax_amount_after_discount_amount = tax.base_tax_amount_after_discount_amount / conversion_rate
|
||||
WHERE
|
||||
par.name = tax.parent
|
||||
and par.docstatus < 2
|
||||
""".format(dt, tax_table))
|
Loading…
x
Reference in New Issue
Block a user