From 29b1abbe04b5e98d891d08a76c093dd6778fc871 Mon Sep 17 00:00:00 2001 From: "Jagdish Panchal (Open ERP)" Date: Sat, 2 Jun 2012 17:36:56 +0530 Subject: [PATCH] [IMP] l10n_in: Improve code for Create template tax from Install chart of account wizard added new tax template xml file bzr revid: jap@tinyerp.com-20120602120656-4a2itir1joo10x3d --- addons/l10n_in/account_multi_chart_wizard.py | 91 ++++--- addons/l10n_in/installer.py | 25 +- .../l10n_in_private_firm_tax_template.xml | 224 +++++++++++++++++ .../l10n_in_public_firm_tax_template.xml | 231 ++++++++++++++++++ addons/l10n_in/tax/private_exice_duty.xml | 60 ----- addons/l10n_in/tax/private_service.xml | 57 ----- addons/l10n_in/tax/private_vat.xml | 101 -------- addons/l10n_in/tax/privete_sale_tax.xml | 58 ----- .../l10n_in/tax/public_firm_excise_duty.xml | 57 ----- addons/l10n_in/tax/public_firm_sales_tax.xml | 48 ---- addons/l10n_in/tax/public_firm_service.xml | 58 ----- addons/l10n_in/tax/public_firm_vat.xml | 99 -------- 12 files changed, 523 insertions(+), 586 deletions(-) create mode 100644 addons/l10n_in/l10n_in_private_firm_tax_template.xml create mode 100644 addons/l10n_in/l10n_in_public_firm_tax_template.xml delete mode 100644 addons/l10n_in/tax/private_exice_duty.xml delete mode 100644 addons/l10n_in/tax/private_service.xml delete mode 100644 addons/l10n_in/tax/private_vat.xml delete mode 100644 addons/l10n_in/tax/privete_sale_tax.xml delete mode 100644 addons/l10n_in/tax/public_firm_excise_duty.xml delete mode 100644 addons/l10n_in/tax/public_firm_sales_tax.xml delete mode 100644 addons/l10n_in/tax/public_firm_service.xml delete mode 100644 addons/l10n_in/tax/public_firm_vat.xml diff --git a/addons/l10n_in/account_multi_chart_wizard.py b/addons/l10n_in/account_multi_chart_wizard.py index 058c2a41617..b9c242312a6 100644 --- a/addons/l10n_in/account_multi_chart_wizard.py +++ b/addons/l10n_in/account_multi_chart_wizard.py @@ -18,7 +18,7 @@ # along with this program. If not, see . # ############################################################################## - +from tools.translate import _ from osv import fields, osv from os.path import join as opj import tools @@ -45,45 +45,56 @@ class account_multi_charts_wizard(osv.osv_memory): elif data.name == 'India - Chart of Accounts for Partnership/Private Firm': res['value'].update({'sales_tax': True,'vat':True}) return res - - def execute(self, cr, uid, ids, context=None): - multichart_data = self.browse(cr, uid, ids[0], context=context) - if multichart_data.chart_template_id.name == 'India - Chart of Accounts for Public Firm': - if multichart_data.sales_tax: - path = tools.file_open(opj('l10n_in', 'tax', 'public_firm_sales_tax.xml')) - tools.convert_xml_import(cr, 'l10n_in', path, {}, 'init', True, None) - path.close() - if multichart_data.vat: - path = tools.file_open(opj('l10n_in', 'tax', 'public_firm_vat.xml')) - tools.convert_xml_import(cr, 'l10n_in', path, {}, 'init', True, None) - path.close() - if multichart_data.service_tax: - path = tools.file_open(opj('l10n_in', 'tax', 'public_firm_service.xml')) - tools.convert_xml_import(cr, 'l10n_in', path, {}, 'init', True, None) - path.close() - if multichart_data.excise_duty: - path = tools.file_open(opj('l10n_in', 'tax', 'public_firm_excise_duty.xml')) - tools.convert_xml_import(cr, 'l10n_in', path, {}, 'init', True, None) - path.close() - elif multichart_data.chart_template_id.name == 'India - Chart of Accounts for Partnership/Private Firm': - if multichart_data.sales_tax: - path = tools.file_open(opj('l10n_in', 'tax', 'privete_sale_tax.xml')) - tools.convert_xml_import(cr, 'l10n_in', path, {}, 'init', True, None) - path.close() - if multichart_data.vat: - path = tools.file_open(opj('l10n_in', 'tax', 'private_vat.xml')) - tools.convert_xml_import(cr, 'l10n_in', path, {}, 'init', True, None) - path.close() - if multichart_data.service_tax: - path = tools.file_open(opj('l10n_in', 'tax', 'private_service.xml')) - tools.convert_xml_import(cr, 'l10n_in', path, {}, 'init', True, None) - path.close() - if multichart_data.excise_duty: - path = tools.file_open(opj('l10n_in', 'tax', 'private_exice_duty.xml')) - tools.convert_xml_import(cr, 'l10n_in', path, {}, 'init', True, None) - path.close() - res = super(account_multi_charts_wizard, self).execute(cr, uid, ids, context=context) - return res + + def _load_template(self, cr, uid, template_id, company_id, code_digits=None, obj_wizard=None, account_ref={}, taxes_ref={}, tax_code_ref={}, context=None): + res = super(account_multi_charts_wizard, self)._load_template(cr, uid, template_id, company_id, code_digits, obj_wizard, account_ref, taxes_ref, tax_code_ref, context=context) + template = self.pool.get('account.chart.template').browse(cr, uid, template_id, context=context) + obj_tax_code_template = self.pool.get('account.tax.code.template') + obj_tax_temp = self.pool.get('account.tax.template') + obj_tax = self.pool.get('account.tax') + tax_code_ref.update(obj_tax_code_template.generate_tax_code(cr, uid, template.tax_code_root_id.id, company_id, context=context)) + if obj_wizard.sales_tax == False and obj_wizard.excise_duty == False and obj_wizard.vat == False and obj_wizard.service_tax == False: + raise osv.except_osv(_('Error !'), _('Select Tax to Install')) + # Unlink the Tax for current company + tax_ids = obj_tax.search(cr, uid, [('company_id','=',company_id)], context=context) + obj_tax.unlink(cr, uid, tax_ids, context=context) + #Create new Tax as per selected from wizard + if obj_wizard.chart_template_id.name == 'India - Chart of Accounts for Public Firm': + if obj_wizard.sales_tax: + tax_temp_ids = obj_tax_temp.search(cr, uid, [('name','in',['Sale Tax - 15%','Sale Tax - 12%']),('chart_template_id','=',obj_wizard.chart_template_id.id)], context=context) + tax_temp_data = obj_tax_temp.browse(cr, uid, tax_temp_ids, context=context) + taxes_ref = obj_tax_temp._generate_tax(cr, uid, tax_temp_data, tax_code_ref, company_id, context=context) + if obj_wizard.vat: + tax_temp_ids = obj_tax_temp.search(cr, uid, [('name','in',['VAT - 5%','VAT - 15%','VAT - 8%']),('chart_template_id','=',obj_wizard.chart_template_id.id)], context=context) + tax_temp_data = obj_tax_temp.browse(cr, uid, tax_temp_ids, context=context) + taxes_ref = obj_tax_temp._generate_tax(cr, uid, tax_temp_data, tax_code_ref, company_id, context=context) + if obj_wizard.service_tax: + tax_temp_ids = obj_tax_temp.search(cr, uid, [('name','in',['Service Tax','Service Tax - %2','Service Tax - %1']),('chart_template_id','=',obj_wizard.chart_template_id.id)], context=context) + tax_temp_data = obj_tax_temp.browse(cr, uid, tax_temp_ids, context=context) + taxes_ref = obj_tax_temp._generate_tax(cr, uid, tax_temp_data, tax_code_ref, company_id, context=context) + if obj_wizard.excise_duty: + tax_temp_ids = obj_tax_temp.search(cr, uid, [('name','in',['Excise Duty','Excise Duty - %2','Excise Duty - 1%']),('chart_template_id','=',obj_wizard.chart_template_id.id)], context=context) + tax_temp_data = obj_tax_temp.browse(cr, uid, tax_temp_ids, context=context) + taxes_ref = obj_tax_temp._generate_tax(cr, uid, tax_temp_data, tax_code_ref, company_id, context=context) + + elif obj_wizard.chart_template_id.name == 'India - Chart of Accounts for Partnership/Private Firm': + if obj_wizard.sales_tax: + tax_temp_ids = obj_tax_temp.search(cr, uid, [('name','in',['Sale Tax - 15%','Sale Tax - 12%']),('chart_template_id','=',obj_wizard.chart_template_id.id)], context=context) + tax_temp_data = obj_tax_temp.browse(cr, uid, tax_temp_ids, context=context) + taxes_ref = obj_tax_temp._generate_tax(cr, uid, tax_temp_data, tax_code_ref, company_id, context=context) + if obj_wizard.vat: + tax_temp_ids = obj_tax_temp.search(cr, uid, [('name','in',['VAT - 5%','VAT - 15%','VAT - 8%']),('chart_template_id','=',obj_wizard.chart_template_id.id)], context=context) + tax_temp_data = obj_tax_temp.browse(cr, uid, tax_temp_ids, context=context) + taxes_ref = obj_tax_temp._generate_tax(cr, uid, tax_temp_data, tax_code_ref, company_id, context=context) + if obj_wizard.service_tax: + tax_temp_ids = obj_tax_temp.search(cr, uid, [('name','in',['Service Tax', 'Service Tax - %2', 'Service Tax - %1']),('chart_template_id','=',obj_wizard.chart_template_id.id)], context=context) + tax_temp_data = obj_tax_temp.browse(cr, uid, tax_temp_ids, context=context) + taxes_ref = obj_tax_temp._generate_tax(cr, uid, tax_temp_data, tax_code_ref, company_id, context=context) + if obj_wizard.excise_duty: + tax_temp_ids = obj_tax_temp.search(cr, uid, [('name','in',['Excise Duty', 'Excise Duty - %2', 'Excise Duty - 1%']),('chart_template_id','=',obj_wizard.chart_template_id.id)], context=context) + tax_temp_data = obj_tax_temp.browse(cr, uid, tax_temp_ids, context=context) + taxes_ref = obj_tax_temp._generate_tax(cr, uid, tax_temp_data, tax_code_ref, company_id, context=context) + return account_ref, taxes_ref, tax_code_ref account_multi_charts_wizard() diff --git a/addons/l10n_in/installer.py b/addons/l10n_in/installer.py index e9e4157a23f..2d9a2a3d39b 100644 --- a/addons/l10n_in/installer.py +++ b/addons/l10n_in/installer.py @@ -27,9 +27,9 @@ class l10n_installer(osv.osv_memory): _inherit = 'account.installer' _columns = { 'company_type':fields.selection([('partnership_private_company', 'Partnership/Private Firm'), - ('public_company', 'Public Firm')], 'Company Type', required=True), + ('public_company', 'Public Firm')], 'Company Type', required=True, + help='Select your company Type according to your need to install account chart'), } - _defaults = { 'company_type': 'public_company', } @@ -40,13 +40,22 @@ class l10n_installer(osv.osv_memory): context = {} for res in self.read(cr, uid, ids, context=context): if res['charts'] =='l10n_in' and res['company_type']=='public_company': - path = tools.file_open(opj('l10n_in', 'l10n_in_public_firm_chart.xml')) - tools.convert_xml_import(cr, 'l10n_in', path, {}, 'init', True, None) - path.close() + acc_file_path = tools.file_open(opj('l10n_in', 'l10n_in_public_firm_chart.xml')) + tools.convert_xml_import(cr, 'l10n_in', acc_file_path, {}, 'init', True, None) + acc_file_path.close() + + tax_file_path = tools.file_open(opj('l10n_in', 'l10n_in_public_firm_tax_template.xml')) + tools.convert_xml_import(cr, 'l10n_in', tax_file_path, {}, 'init', True, None) + tax_file_path.close() + if res['charts'] =='l10n_in' and res['company_type']=='partnership_private_company': - path = tools.file_open(opj('l10n_in', 'l10n_in_partnership_private_chart.xml')) - tools.convert_xml_import(cr, 'l10n_in', path, {}, 'init', True, None) - path.close() + acc_file_path = tools.file_open(opj('l10n_in', 'l10n_in_partnership_private_chart.xml')) + tools.convert_xml_import(cr, 'l10n_in', acc_file_path, {}, 'init', True, None) + acc_file_path.close() + + tax_file_path = tools.file_open(opj('l10n_in', 'l10n_in_private_firm_tax_template.xml')) + tools.convert_xml_import(cr, 'l10n_in', tax_file_path, {}, 'init', True, None) + tax_file_path.close() return res # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_in/l10n_in_private_firm_tax_template.xml b/addons/l10n_in/l10n_in_private_firm_tax_template.xml new file mode 100644 index 00000000000..564eb41fdfd --- /dev/null +++ b/addons/l10n_in/l10n_in_private_firm_tax_template.xml @@ -0,0 +1,224 @@ + + + + + + + + Sales Tax Payable + 216 + payable + + + + + + + VAT Payable + 217 + payable + + + + + + + Service Tax Payable + 218 + payable + + + + + + + Exice Duty Payable + 219 + payable + + + + + + + + + Sale Tax - 15% + Sale Tax - 15% + + 0.15 + percent + sale + + + + + + + + + + + + Sale Tax -12% + Sale Tax - 12% + + 0.12 + percent + sale + + + + + + + + + + + + + + VAT - 5% + VAT - 5% + + 0.05 + percent + all + + + + 1 + + 1 + + 1 + + 1 + + + + + + VAT - 15% + VAT - 15% + + 0.15 + percent + all + + + + 1 + + 1 + + 1 + + 1 + + + + + + VAT - 8% + VAT - 8% + + 0.8 + percent + all + + + + + + + + + + + + + + Exice Duty - 10.30% + Excise Duty + + 0.10 + percent + sale + + + + 1 + + 1 + + 1 + + 1 + + + + + + Excise duty -10% -%2 + Excise Duty - %2 + 0.02 + percent + sale + + + + + + Excise duty - 10% - %1 + Excise Duty - 1% + 0.01 + percent + sale + + + + + + + + all + Service - 12% + Service Tax + + 0.12 + percent + + + + + + + + + + + + Service - 12% - %2 + Service Tax - %2 + 0.02 + percent + all + + + + + + Service - 12% - 1% + Service Tax - %1 + 0.01 + percent + all + + + + + + \ No newline at end of file diff --git a/addons/l10n_in/l10n_in_public_firm_tax_template.xml b/addons/l10n_in/l10n_in_public_firm_tax_template.xml new file mode 100644 index 00000000000..6dd08be944b --- /dev/null +++ b/addons/l10n_in/l10n_in_public_firm_tax_template.xml @@ -0,0 +1,231 @@ + + + + + + + + + Sales Tax Payable + 24600 + payable + + + + + + + VAT Payable + 24800 + payable + + + + + + + Exice Duty Payable + 24900 + payable + + + + + + + Service Tax Payable + 24700 + payable + + + + + + + + + + Sale Tax - 15% + Sale Tax - 15% + + + + 0.15 + percent + sale + + + + + + + + + Sale Tax - 12% + Sale Tax - 12% + + + + 0.12 + percent + sale + + + + + + + + + + + VAT - 5% + VAT - 5% + + + + 0.05 + percent + all + + 1 + + 1 + + 1 + + 1 + + + + + + VAT - 15% + VAT - 15% + + + + 0.15 + percent + all + + 1 + + 1 + + 1 + + 1 + + + + + + VAT - 8% + VAT - 8% + + + + 0.08 + percent + all + + 1 + + 1 + + 1 + + 1 + + + + + + + + Service - 12% + Service Tax + + + + 0.12 + percent + all + + 1 + + 1 + + 1 + + 1 + + + + + + Service - 12% - 2% + Service Tax - %2 + 0.02 + percent + all + + + + + + Service - 12% - 1% + Service Tax - %1 + 0.01 + percent + all + + + + + + + + Excise duty - 10% + Excise Duty + + + + 0.10 + percent + sale + + 1 + + 1 + + 1 + + 1 + + + + + + Excise duty - 10% - 2% + Excise Duty - %2 + 0.02 + percent + sale + + + + + + Excise duty - 10% - 1% + Excise Duty - 1% + 0.01 + percent + sale + + + + + + \ No newline at end of file diff --git a/addons/l10n_in/tax/private_exice_duty.xml b/addons/l10n_in/tax/private_exice_duty.xml deleted file mode 100644 index 14f4636cf32..00000000000 --- a/addons/l10n_in/tax/private_exice_duty.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - Exice Duty Payable - 219 - payable - - - - - - - Exice Duty - 10.30% - 10 - Exice Duty - - 0.10 - percent - sale - - - - 1 - - 1 - - 1 - - 1 - - - - - - 11 - Excise duty -10% -%2 - Excise duty - 2% - 0.02 - percent - sale - - - - - - 11 - Excise duty - 10% - %1 - Excise duty - 1% - 0.01 - percent - sale - - - - - - \ No newline at end of file diff --git a/addons/l10n_in/tax/private_service.xml b/addons/l10n_in/tax/private_service.xml deleted file mode 100644 index 1a36cf4cc0f..00000000000 --- a/addons/l10n_in/tax/private_service.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - Service Tax Payable - 218 - payable - - - - - - - all - Service - 12% - Service - - 0.12 - percent - - - - 1 - - 1 - - 1 - - 1 - - - - - - Service - 12% - %2 - Service - 2% - 0.02 - percent - all - - - - - - Service - 12% - 1% - Service - 1% - 0.01 - percent - all - - - - - - \ No newline at end of file diff --git a/addons/l10n_in/tax/private_vat.xml b/addons/l10n_in/tax/private_vat.xml deleted file mode 100644 index 9f917a329f0..00000000000 --- a/addons/l10n_in/tax/private_vat.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - VAT Payable - 217 - payable - - - - - - - 30 - VAT - 4% - VAT - - 0.04 - percent - all - - - - 1 - - 1 - - 1 - - 1 - - - - - - VAT - 4% - %1 - VAT - %1 - 0.01 - percent - all - - - - - - VAT - 12.5% - VAT - 12.5% - - 0.125 - percent - all - - - - 1 - - 1 - - 1 - - 1 - - - - - - VAT - 12.5%- %2.5 - VAT (%2.5) - 0.025 - percent - sale - - - - - - VAT - 8% - VAT - 8% - - 0.8 - percent - all - - - - 1 - - 1 - - 1 - - 1 - - - - - - - \ No newline at end of file diff --git a/addons/l10n_in/tax/privete_sale_tax.xml b/addons/l10n_in/tax/privete_sale_tax.xml deleted file mode 100644 index a221ff1317b..00000000000 --- a/addons/l10n_in/tax/privete_sale_tax.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - Sales Tax Payable - 216 - payable - - - - - - - Sale Tax - 15% - Sale Tax - 15% - - 0.15 - percent - sale - - - - 1 - - 1 - - 1 - - 1 - - - - - - Sale Tax -12% - Sale Tax - 12% - - 0.12 - percent - sale - - - - 1 - - 1 - - 1 - - 1 - - - - - - \ No newline at end of file diff --git a/addons/l10n_in/tax/public_firm_excise_duty.xml b/addons/l10n_in/tax/public_firm_excise_duty.xml deleted file mode 100644 index 031c92307fd..00000000000 --- a/addons/l10n_in/tax/public_firm_excise_duty.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - Exice Duty Payable - 24900 - payable - - - - - - - Excise duty - 10% - Excise duty - - - - 0.10 - percent - sale - - 1 - - 1 - - 1 - - 1 - - - - - - Excise duty - 10% - 2% - Excise duty - %2 - 0.02 - percent - sale - - - - - - Excise duty - 10% - 1% - Excise duty - 1% - 0.01 - percent - sale - - - - - - \ No newline at end of file diff --git a/addons/l10n_in/tax/public_firm_sales_tax.xml b/addons/l10n_in/tax/public_firm_sales_tax.xml deleted file mode 100644 index 27d768aba7a..00000000000 --- a/addons/l10n_in/tax/public_firm_sales_tax.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - Sales Tax Payable - 24600 - payable - - - - - - - Sale Tax - 15% - Sale Tax - 15% - - - - 0.15 - percent - sale - - - - - - - - - Sale Tax - 12% - Sale Tax - 12% - - - - 0.12 - percent - sale - - - - - - - - - \ No newline at end of file diff --git a/addons/l10n_in/tax/public_firm_service.xml b/addons/l10n_in/tax/public_firm_service.xml deleted file mode 100644 index f57eee6796b..00000000000 --- a/addons/l10n_in/tax/public_firm_service.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - Service Tax Payable - 24700 - payable - - - - - - - Service - 12% - Service - - - - 0.12 - percent - all - - 1 - - 1 - - 1 - - 1 - - - - - - Service - 12% - 2% - Service (%2) - 0.02 - percent - all - - - - - - Service - 12% - 1% - Service (%1) - 0.01 - percent - all - - - - - - - \ No newline at end of file diff --git a/addons/l10n_in/tax/public_firm_vat.xml b/addons/l10n_in/tax/public_firm_vat.xml deleted file mode 100644 index 9ffe2b9d9ca..00000000000 --- a/addons/l10n_in/tax/public_firm_vat.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - VAT Payable - 24800 - payable - - - - - - - VAT - 4% - VAT - 4% - - - - 0.04 - percent - all - - 1 - - 1 - - 1 - - 1 - - - - - - VAT - 4% -1% - VAT - 1% - 0.01 - percent - all - - - - - - VAT - 12.5% - VAT - 12.5% - - - - 0.125 - percent - all - - 1 - - 1 - - 1 - - 1 - - - - - - VAT - 12.5% - %2.5 - VAT - 12.5% - %2.5 - 0.025 - percent - all - - - - - - VAT - 8% - VAT - 8% - - - - 0.08 - percent - all - - 1 - - 1 - - 1 - - 1 - - - - - - \ No newline at end of file