[IMP] l10n_in: GST introduced as new legal requirements.
aka 'Indian localization out of the box'.
Details:
GST introduced, module refactored.
Update GST chart of account, tags and SGST, CGST & IGST taxes.
Replace vat label with GSTIN in reports & views.
Added HSN Code field and display it on invoice form view & report.
Added pin number field in res_country_state.
Show the total amount in words based on Indian numbering system on form view of customer/supplier invoice/refund.
Arrange address format of India country.
l10n_in_schedule6: Introduce new GST taxes, chart of accounts & account tags.
l10n_in_sale, l10n_in_purchase, l10n_in_stock: added modules to add hsn code and replace vat with gstin in sale, purchase & stock reports
Was task: 33241. Was PR #18952
This commit is contained in:
committed by
qdp-odoo
parent
194c38f09d
commit
2b3c8e6ca9
@@ -1,2 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import models
|
||||
|
||||
@@ -18,12 +18,19 @@ Sheet, now only Vertical format has been permitted Which is Supported By Odoo.
|
||||
""",
|
||||
'category': 'Localization',
|
||||
'depends': [
|
||||
'account',
|
||||
'account_tax_python',
|
||||
],
|
||||
'data': [
|
||||
'data/account_data.xml',
|
||||
'data/l10n_in_chart_data.xml',
|
||||
'data/account_tax_template_data.xml',
|
||||
'data/account_fiscal_position_data.xml',
|
||||
'data/res_country_state_data.xml',
|
||||
'data/account_chart_template_data.yml',
|
||||
'views/product_template_view.xml',
|
||||
'views/report_invoice.xml',
|
||||
'views/res_company_view.xml',
|
||||
'views/res_country_state_view.xml',
|
||||
'views/res_partner_views.xml',
|
||||
],
|
||||
}
|
||||
|
||||
@@ -3,26 +3,17 @@
|
||||
<data noupdate="1">
|
||||
|
||||
<!-- Account Tax Group -->
|
||||
<record id="tax_group_1" model="account.tax.group">
|
||||
<field name="name">VAT 1%</field>
|
||||
<record id="sgst_group" model="account.tax.group">
|
||||
<field name="name">SGST</field>
|
||||
</record>
|
||||
<record id="tax_group_25" model="account.tax.group">
|
||||
<field name="name">VAT 2.5%</field>
|
||||
<record id="cgst_group" model="account.tax.group">
|
||||
<field name="name">CGST</field>
|
||||
</record>
|
||||
<record id="tax_group_4" model="account.tax.group">
|
||||
<field name="name">VAT 4%</field>
|
||||
<record id="igst_group" model="account.tax.group">
|
||||
<field name="name">IGST</field>
|
||||
</record>
|
||||
<record id="tax_group_12" model="account.tax.group">
|
||||
<field name="name">VAT 12%</field>
|
||||
</record>
|
||||
<record id="tax_group_125" model="account.tax.group">
|
||||
<field name="name">VAT 12.5%</field>
|
||||
</record>
|
||||
<record id="tax_group_14" model="account.tax.group">
|
||||
<field name="name">VAT 14%</field>
|
||||
</record>
|
||||
<record id="tax_group_15" model="account.tax.group">
|
||||
<field name="name">VAT 15%</field>
|
||||
<record id="cess_group" model="account.tax.group">
|
||||
<field name="name">Cess</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<!-- Fiscal Position Templates -->
|
||||
<record model="account.fiscal.position.template" id="fiscal_position_in_inter_state">
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
<field name="name">Inter State</field>
|
||||
</record>
|
||||
|
||||
<record model="account.fiscal.position.template" id="fiscal_position_in_export">
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
<field name="name">Export</field>
|
||||
</record>
|
||||
|
||||
<!-- Fiscal Position Tax Templates -->
|
||||
<record id="account_fiscal_position_tax_in_sale_1_inter" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_inter_state"/>
|
||||
<field name="tax_src_id" ref="sgst_sale_1"/>
|
||||
<field name="tax_dest_id" ref="igst_sale_1"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_sale_2_inter" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_inter_state"/>
|
||||
<field name="tax_src_id" ref="sgst_sale_2"/>
|
||||
<field name="tax_dest_id" ref="igst_sale_2"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_sale_5_inter" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_inter_state"/>
|
||||
<field name="tax_src_id" ref="sgst_sale_5"/>
|
||||
<field name="tax_dest_id" ref="igst_sale_5"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_sale_12_inter" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_inter_state"/>
|
||||
<field name="tax_src_id" ref="sgst_sale_12"/>
|
||||
<field name="tax_dest_id" ref="igst_sale_12"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_sale_18_inter" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_inter_state"/>
|
||||
<field name="tax_src_id" ref="sgst_sale_18"/>
|
||||
<field name="tax_dest_id" ref="igst_sale_18"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_sale_28_inter" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_inter_state"/>
|
||||
<field name="tax_src_id" ref="sgst_sale_28"/>
|
||||
<field name="tax_dest_id" ref="igst_sale_28"/>
|
||||
</record>
|
||||
|
||||
<record id="account_fiscal_position_tax_in_purchase_1_inter" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_inter_state"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_1"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_1"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_2_inter" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_inter_state"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_2"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_2"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_5_inter" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_inter_state"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_5"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_5"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_12_inter" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_inter_state"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_12"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_12"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_18_inter" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_inter_state"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_18"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_18"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_28_inter" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_inter_state"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_28"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_28"/>
|
||||
</record>
|
||||
|
||||
<record id="account_fiscal_position_tax_in_sale_1_exp" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_export"/>
|
||||
<field name="tax_src_id" ref="sgst_sale_1"/>
|
||||
<field name="tax_dest_id" ref="igst_sale_1"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_sale_2_exp" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_export"/>
|
||||
<field name="tax_src_id" ref="sgst_sale_2"/>
|
||||
<field name="tax_dest_id" ref="igst_sale_2"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_sale_5_exp" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_export"/>
|
||||
<field name="tax_src_id" ref="sgst_sale_5"/>
|
||||
<field name="tax_dest_id" ref="igst_sale_5"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_sale_12_exp" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_export"/>
|
||||
<field name="tax_src_id" ref="sgst_sale_12"/>
|
||||
<field name="tax_dest_id" ref="igst_sale_12"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_sale_18_exp" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_export"/>
|
||||
<field name="tax_src_id" ref="sgst_sale_18"/>
|
||||
<field name="tax_dest_id" ref="igst_sale_18"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_sale_28_exp" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_export"/>
|
||||
<field name="tax_src_id" ref="sgst_sale_28"/>
|
||||
<field name="tax_dest_id" ref="igst_sale_28"/>
|
||||
</record>
|
||||
|
||||
<record id="account_fiscal_position_tax_in_purchase_1_exp" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_export"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_1"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_1"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_2_exp" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_export"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_2"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_2"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_5_exp" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_export"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_5"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_5"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_12_exp" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_export"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_12"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_12"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_18_exp" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_export"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_18"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_18"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_28_exp" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_export"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_28"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_28"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -20,6 +20,19 @@
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
</record>
|
||||
|
||||
<record id="sgst_tag_account" model="account.account.tag">
|
||||
<field name="name">SGST</field>
|
||||
<field name="applicability">accounts</field>
|
||||
</record>
|
||||
<record id="cgst_tag_account" model="account.account.tag">
|
||||
<field name="name">CGST</field>
|
||||
<field name="applicability">accounts</field>
|
||||
</record>
|
||||
<record id="igst_tag_account" model="account.account.tag">
|
||||
<field name="name">IGST</field>
|
||||
<field name="applicability">accounts</field>
|
||||
</record>
|
||||
|
||||
<record model="account.account.template" id="p10031">
|
||||
<field name="name">Inventories</field>
|
||||
<field name="code">10031</field>
|
||||
@@ -34,47 +47,31 @@
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="p10050">
|
||||
<field name="name">Sales Tax Receivable</field>
|
||||
<field name="code">10050</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="p10051">
|
||||
<field name="name">VAT Receivable</field>
|
||||
<field name="name">SGST Receivable</field>
|
||||
<field name="code">10051</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
<field name="tag_ids" eval="[(6,0,[ref('sgst_tag_account'),])]"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="p100521">
|
||||
<field name="name">Excise Duty Receivable</field>
|
||||
<field name="code">100521</field>
|
||||
|
||||
<record model="account.account.template" id="p10052">
|
||||
<field name="name">CGST Receivable</field>
|
||||
<field name="code">10052</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
<field name="tag_ids" eval="[(6,0,[ref('cgst_tag_account'),])]"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="p100531">
|
||||
<field name="name">Service Tax Receivable</field>
|
||||
<field name="code">100531</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="p100532">
|
||||
<field name="name">Swachh Bharat Cess Receivable On Service</field>
|
||||
<field name="code">100532</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="p100533">
|
||||
<field name="name">Krishi Kalyan Cess Receivable On Service</field>
|
||||
<field name="code">100533</field>
|
||||
|
||||
<record model="account.account.template" id="p10053">
|
||||
<field name="name">IGST Receivable</field>
|
||||
<field name="code">10053</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
<field name="tag_ids" eval="[(6,0,[ref('igst_tag_account'),])]"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="p10054">
|
||||
<field name="name">TDS Receivable</field>
|
||||
@@ -207,46 +204,30 @@
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="p11232">
|
||||
<field name="name">VAT Payable</field>
|
||||
<field name="name">SGST Payable</field>
|
||||
<field name="code">11232</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_liabilities"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
<field name="tag_ids" eval="[(6,0,[ref('sgst_tag_account'),])]"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="p112331">
|
||||
<field name="name">Excise Duty Payable</field>
|
||||
<field name="code">112331</field>
|
||||
|
||||
<record model="account.account.template" id="p11233">
|
||||
<field name="name">CGST Payable</field>
|
||||
<field name="code">11233</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_liabilities"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
<field name="tag_ids" eval="[(6,0,[ref('cgst_tag_account'),])]"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="p112341">
|
||||
<field name="name">Service Tax Payable</field>
|
||||
<field name="code">112341</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_liabilities"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="p112342">
|
||||
<field name="name">Swachh Bharat Cess Payable On Service</field>
|
||||
<field name="code">112342</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_liabilities"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="p112343">
|
||||
<field name="name">Krishi Kalyan Cess Payable On Service</field>
|
||||
<field name="code">112343</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_liabilities"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="p11235">
|
||||
<field name="name">Sales Tax Payable</field>
|
||||
<field name="code">11235</field>
|
||||
|
||||
<record model="account.account.template" id="p11234">
|
||||
<field name="name">IGST Payable</field>
|
||||
<field name="code">11234</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_liabilities"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
<field name="tag_ids" eval="[(6,0,[ref('igst_tag_account'),])]"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="p11241">
|
||||
<field name="name">Wages Payable</field>
|
||||
@@ -528,4 +509,5 @@
|
||||
<field name="income_currency_exchange_account_id" ref="p2013"/>
|
||||
<field name="expense_currency_exchange_account_id" ref="p2117"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="base.state_in_an" model="res.country.state">
|
||||
<field name="l10n_in_tin">35</field>
|
||||
</record>
|
||||
<record id="base.state_in_ap" model="res.country.state">
|
||||
<field name="l10n_in_tin">28</field>
|
||||
</record>
|
||||
<record id="base.state_in_ar" model="res.country.state">
|
||||
<field name="l10n_in_tin">12</field>
|
||||
</record>
|
||||
<record id="base.state_in_as" model="res.country.state">
|
||||
<field name="l10n_in_tin">18</field>
|
||||
</record>
|
||||
<record id="base.state_in_br" model="res.country.state">
|
||||
<field name="l10n_in_tin">10</field>
|
||||
</record>
|
||||
<record id="base.state_in_ch" model="res.country.state">
|
||||
<field name="l10n_in_tin">04</field>
|
||||
</record>
|
||||
<record id="base.state_in_cg" model="res.country.state">
|
||||
<field name="l10n_in_tin">22</field>
|
||||
</record>
|
||||
<record id="base.state_in_dn" model="res.country.state">
|
||||
<field name="l10n_in_tin">26</field>
|
||||
</record>
|
||||
<record id="base.state_in_dd" model="res.country.state">
|
||||
<field name="l10n_in_tin">25</field>
|
||||
</record>
|
||||
<record id="base.state_in_dl" model="res.country.state">
|
||||
<field name="l10n_in_tin">07</field>
|
||||
</record>
|
||||
<record id="base.state_in_ga" model="res.country.state">
|
||||
<field name="l10n_in_tin">30</field>
|
||||
</record>
|
||||
<record id="base.state_in_gj" model="res.country.state">
|
||||
<field name="l10n_in_tin">24</field>
|
||||
</record>
|
||||
<record id="base.state_in_hr" model="res.country.state">
|
||||
<field name="l10n_in_tin">06</field>
|
||||
</record>
|
||||
<record id="base.state_in_hp" model="res.country.state">
|
||||
<field name="l10n_in_tin">02</field>
|
||||
</record>
|
||||
<record id="base.state_in_jk" model="res.country.state">
|
||||
<field name="l10n_in_tin">01</field>
|
||||
</record>
|
||||
<record id="base.state_in_jh" model="res.country.state">
|
||||
<field name="l10n_in_tin">20</field>
|
||||
</record>
|
||||
<record id="base.state_in_ka" model="res.country.state">
|
||||
<field name="l10n_in_tin">29</field>
|
||||
</record>
|
||||
<record id="base.state_in_kl" model="res.country.state">
|
||||
<field name="l10n_in_tin">32</field>
|
||||
</record>
|
||||
<record id="base.state_in_ld" model="res.country.state">
|
||||
<field name="l10n_in_tin">31</field>
|
||||
</record>
|
||||
<record id="base.state_in_mp" model="res.country.state">
|
||||
<field name="l10n_in_tin">23</field>
|
||||
</record>
|
||||
<record id="base.state_in_mh" model="res.country.state">
|
||||
<field name="l10n_in_tin">27</field>
|
||||
</record>
|
||||
<record id="base.state_in_mn" model="res.country.state">
|
||||
<field name="l10n_in_tin">14</field>
|
||||
</record>
|
||||
<record id="base.state_in_ml" model="res.country.state">
|
||||
<field name="l10n_in_tin">17</field>
|
||||
</record>
|
||||
<record id="base.state_in_mz" model="res.country.state">
|
||||
<field name="l10n_in_tin">15</field>
|
||||
</record>
|
||||
<record id="base.state_in_nl" model="res.country.state">
|
||||
<field name="l10n_in_tin">13</field>
|
||||
</record>
|
||||
<record id="base.state_in_or" model="res.country.state">
|
||||
<field name="l10n_in_tin">21</field>
|
||||
</record>
|
||||
<record id="base.state_in_py" model="res.country.state">
|
||||
<field name="l10n_in_tin">34</field>
|
||||
</record>
|
||||
<record id="base.state_in_pb" model="res.country.state">
|
||||
<field name="l10n_in_tin">03</field>
|
||||
</record>
|
||||
<record id="base.state_in_rj" model="res.country.state">
|
||||
<field name="l10n_in_tin">08</field>
|
||||
</record>
|
||||
<record id="base.state_in_sk" model="res.country.state">
|
||||
<field name="l10n_in_tin">11</field>
|
||||
</record>
|
||||
<record id="base.state_in_tn" model="res.country.state">
|
||||
<field name="l10n_in_tin">33</field>
|
||||
</record>
|
||||
<record id="base.state_in_ts" model="res.country.state">
|
||||
<field name="l10n_in_tin">36</field>
|
||||
</record>
|
||||
<record id="base.state_in_tr" model="res.country.state">
|
||||
<field name="l10n_in_tin">16</field>
|
||||
</record>
|
||||
<record id="base.state_in_up" model="res.country.state">
|
||||
<field name="l10n_in_tin">09</field>
|
||||
</record>
|
||||
<record id="base.state_in_uk" model="res.country.state">
|
||||
<field name="l10n_in_tin">05</field>
|
||||
</record>
|
||||
<record id="base.state_in_wb" model="res.country.state">
|
||||
<field name="l10n_in_tin">19</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -0,0 +1,7 @@
|
||||
# -*- coding:utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import account_invoice
|
||||
from . import chart_template
|
||||
from . import product_template
|
||||
from . import res_country_state
|
||||
@@ -0,0 +1,43 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
|
||||
|
||||
class AccountInvoice(models.Model):
|
||||
|
||||
_inherit = "account.invoice"
|
||||
|
||||
@api.depends('amount_total')
|
||||
def _compute_amount_total_words(self):
|
||||
for invoice in self:
|
||||
invoice.amount_total_words = invoice.currency_id.amount_to_text(invoice.amount_total)
|
||||
|
||||
amount_total_words = fields.Char("Total (In Words)", compute="_compute_amount_total_words")
|
||||
|
||||
def _get_printed_report_name(self):
|
||||
self.ensure_one()
|
||||
if self.company_id.country_id.code != 'IN':
|
||||
return super(AccountInvoice, self)._get_printed_report_name()
|
||||
return self.type == 'out_invoice' and self.state == 'draft' and _('Draft %s') % (self.journal_id.name) or \
|
||||
self.type == 'out_invoice' and self.state in ('open','paid') and '%s - %s' % (self.journal_id.name, self.number) or \
|
||||
self.type == 'out_refund' and self.state == 'draft' and _('Credit Note') or \
|
||||
self.type == 'out_refund' and _('Credit Note - %s') % (self.number) or \
|
||||
self.type == 'in_invoice' and self.state == 'draft' and _('Vendor Bill') or \
|
||||
self.type == 'in_invoice' and self.state in ('open','paid') and _('Vendor Bill - %s') % (self.number) or \
|
||||
self.type == 'in_refund' and self.state == 'draft' and _('Vendor Credit Note') or \
|
||||
self.type == 'in_refund' and _('Vendor Credit Note - %s') % (self.number)
|
||||
|
||||
@api.multi
|
||||
def _invoice_line_tax_values(self):
|
||||
self.ensure_one()
|
||||
tax_datas = {}
|
||||
TAX = self.env['account.tax']
|
||||
|
||||
for line in self.mapped('invoice_line_ids'):
|
||||
price_unit = line.price_unit * (1 - (line.discount or 0.0) / 100.0)
|
||||
tax_lines = line.invoice_line_tax_ids.compute_all(price_unit, line.invoice_id.currency_id, line.quantity, line.product_id, line.invoice_id.partner_id)['taxes']
|
||||
for tax_line in tax_lines:
|
||||
tax_line['tag_ids'] = TAX.browse(tax_line['id']).tag_ids.ids
|
||||
tax_datas[line.id] = tax_lines
|
||||
return tax_datas
|
||||
@@ -0,0 +1,23 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import api, models, _
|
||||
|
||||
|
||||
class AccountChartTemplate(models.Model):
|
||||
_inherit = 'account.chart.template'
|
||||
|
||||
|
||||
@api.multi
|
||||
def _prepare_all_journals(self, acc_template_ref, company, journals_dict=None):
|
||||
res = super(AccountChartTemplate, self)._prepare_all_journals(
|
||||
acc_template_ref, company, journals_dict=journals_dict)
|
||||
if not self == self.env.ref('l10n_in.indian_chart_template_standard'):
|
||||
return res
|
||||
for journal in res:
|
||||
if journal['code'] == 'INV':
|
||||
journal['name'] = _('Tax Invoices')
|
||||
|
||||
res += [{'type': 'sale', 'name': _('Retail Invoices'), 'code': 'RETINV', 'company_id': company.id, 'show_on_dashboard': True,},
|
||||
{'type': 'sale', 'name': _('Export Invoices'), 'code': 'EXPINV', 'company_id': company.id, 'show_on_dashboard': True,},]
|
||||
return res
|
||||
@@ -0,0 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import models, fields
|
||||
|
||||
|
||||
class ProductTemplate(models.Model):
|
||||
_inherit = 'product.template'
|
||||
|
||||
l10n_in_hsn_code = fields.Char(string="HSN/SAC Code", help="Harmonized System Nomenclature/Services Accounting Code")
|
||||
@@ -0,0 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class CountryState(models.Model):
|
||||
_inherit = 'res.country.state'
|
||||
|
||||
l10n_in_tin = fields.Char('TIN Number', size=2, help="TIN number-first two digits")
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record model="ir.ui.view" id="l10n_in.product_template_hs_code">
|
||||
<field name="name">l10n_in.product.template.form.hs_code</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="inherit_id" ref="product.product_template_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="categ_id" position="after">
|
||||
<field name="l10n_in_hsn_code"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -0,0 +1,130 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<template id="l10n_in_report_invoice_document_inherit" inherit_id="account.report_invoice_document">
|
||||
|
||||
<xpath expr="//table[@name='invoice_line_table']" position="before">
|
||||
<t t-if="o.company_id.country_id.code == 'IN'">
|
||||
<!-- Tag wise Tax Calculation -->
|
||||
<t t-set="tag_cgst_id" t-value="env.ref('l10n_in.cgst_tag_tax').id"/>
|
||||
<t t-set="tag_sgst_id" t-value="env.ref('l10n_in.sgst_tag_tax').id"/>
|
||||
<t t-set="tag_igst_id" t-value="env.ref('l10n_in.igst_tag_tax').id"/>
|
||||
<t t-set="tag_cess_id" t-value="env.ref('l10n_in.cess_tag_tax').id"/>
|
||||
<t t-set="tax_map" t-value="o.tax_line_ids.mapped('tax_id.tag_ids.id')"/>
|
||||
<t t-set="is_igst" t-value="tag_igst_id in tax_map"/>
|
||||
<t t-set="is_cgst" t-value="tag_cgst_id in tax_map"/>
|
||||
<t t-set="is_cess" t-value="tag_cess_id in tax_map"/>
|
||||
<t t-set="tax_datas" t-value="o._invoice_line_tax_values()"/>
|
||||
</t>
|
||||
</xpath>
|
||||
<xpath expr="//p[@t-if='o.comment']" position="before">
|
||||
<t t-if="o.company_id.country_id.code == 'IN'">
|
||||
<p id="total_in_words" class="mb16">
|
||||
<strong>Total (In Words): </strong>
|
||||
<span t-field="o.amount_total_words"/>
|
||||
</p>
|
||||
</t>
|
||||
</xpath>
|
||||
<xpath expr="//table[@name='invoice_line_table']" position="replace">
|
||||
<table class="table table-condensed" name="invoice_line_table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Description</th>
|
||||
<th class="hidden">Source Document</th>
|
||||
<th class="text-right">Quantity</th>
|
||||
<th class="text-right">Unit Price</th>
|
||||
<th t-if="display_discount" class="text-right">Disc.(%)</th>
|
||||
<t t-if="len(o.tax_line_ids) > 0">
|
||||
<th class="text-right">Taxes</th>
|
||||
</t>
|
||||
<th class="text-right">Amount</th>
|
||||
<t t-if="o.company_id.country_id.code == 'IN'">
|
||||
<th class="text-right" t-if="is_cgst">CGST</th>
|
||||
<th class="text-right" t-if="is_cgst">SGST</th>
|
||||
<th class="text-right" t-if="is_igst">IGST</th>
|
||||
<th class="text-right" t-if="is_cess">CESS</th>
|
||||
</t>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="invoice_tbody">
|
||||
<tr t-foreach="o.invoice_line_ids" t-as="l">
|
||||
<td><span t-field="l.name"/><t t-if="l.product_id.l10n_in_hsn_code"><h6><strong class="ml16">HSN/SAC Code:</strong> <span t-field="l.product_id.l10n_in_hsn_code"/></h6></t></td>
|
||||
<td class="hidden"><span t-field="l.origin"/></td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.quantity"/>
|
||||
<span t-field="l.uom_id" groups="product.group_uom"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_unit"/>
|
||||
</td>
|
||||
<td t-if="display_discount" class="text-right">
|
||||
<span t-field="l.discount"/>
|
||||
</td>
|
||||
<t t-if="len(o.tax_line_ids) > 0">
|
||||
<td class="text-right">
|
||||
<span t-esc="', '.join(map(lambda x: (x.description or x.name), l.invoice_line_tax_ids))"/>
|
||||
</td>
|
||||
</t>
|
||||
<td class="text-right" id="subtotal">
|
||||
<span t-field="l.price_subtotal"
|
||||
t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
|
||||
</td>
|
||||
<t t-if="o.company_id.country_id.code == 'IN'">
|
||||
<td class="text-right" t-if="is_cgst">
|
||||
<t t-foreach="tax_datas[l.id]" t-as="tax_data">
|
||||
<t t-if="tag_cgst_id in tax_data['tag_ids']">
|
||||
<t t-esc="tax_data['amount']"/>
|
||||
</t>
|
||||
</t>
|
||||
</td>
|
||||
<td class="text-right" t-if="is_cgst">
|
||||
<t t-foreach="tax_datas[l.id]" t-as="tax_data">
|
||||
<t t-if="tag_sgst_id in tax_data['tag_ids']">
|
||||
<t t-esc="tax_data['amount']"/>
|
||||
</t>
|
||||
</t>
|
||||
</td>
|
||||
<td class="text-right" t-if="is_igst">
|
||||
<t t-foreach="tax_datas[l.id]" t-as="tax_data">
|
||||
<t t-if="tag_igst_id in tax_data['tag_ids']">
|
||||
<t t-esc="tax_data['amount']"/>
|
||||
</t>
|
||||
</t>
|
||||
</td>
|
||||
<t t-set="total_cess" t-value="0.0"/>
|
||||
<td class="text-right" t-if="is_cess">
|
||||
<t t-foreach="tax_datas[l.id]" t-as="tax_data">
|
||||
<t t-if="tag_cess_id in tax_data['tag_ids']">
|
||||
<t t-set="total_cess" t-value="total_cess + tax_data['amount']"/>
|
||||
</t>
|
||||
</t>
|
||||
<t t-esc="total_cess"/>
|
||||
</td>
|
||||
</t>
|
||||
</tr>
|
||||
<tr t-foreach="range(max(5-len(o.invoice_line_ids),0))" t-as="l">
|
||||
<td>&nbsp;</td>
|
||||
<td class="hidden"></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td t-if="display_discount" groups="sale.group_discount_per_so_line"></td>
|
||||
<td t-att-colspan="o.company_id.country_id.code == 'IN' and 5 or 1"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//h2" position="replace">
|
||||
<h2>
|
||||
<span t-if="o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')" t-field="o.journal_id.name"/>
|
||||
<span t-if="o.type == 'out_invoice' and o.state == 'draft'">Draft <span t-field="o.journal_id.name"/></span>
|
||||
<span t-if="o.type == 'out_invoice' and o.state == 'cancel'">Cancelled <span t-field="o.journal_id.name"/></span>
|
||||
<span t-if="o.type == 'out_refund'">Credit Note</span>
|
||||
<span t-if="o.type == 'in_refund'">Vendor Credit Note</span>
|
||||
<span t-if="o.type == 'in_invoice'">Vendor Bill</span>
|
||||
<span t-field="o.number"/>
|
||||
</h2>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
</odoo>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="l10n_in_view_company_form" model="ir.ui.view">
|
||||
<field name="name">l10n.in.view.company.form</field>
|
||||
<field name="model">res.company</field>
|
||||
<field name="priority" eval="100"/>
|
||||
<field name="inherit_id" ref="base.view_company_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='vat']" position="attributes">
|
||||
<attribute name="string">GSTIN</attribute>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="l10n_in_view_country_state_form_inherit" model="ir.ui.view">
|
||||
<field name="name">l10n.in.res.country.state.form.inhert</field>
|
||||
<field name="model">res.country.state</field>
|
||||
<field name="inherit_id" ref="base.view_country_state_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="code" position="after">
|
||||
<field name="l10n_in_tin"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="l10n_in_view_partner_form" model="ir.ui.view">
|
||||
<field name="name">l10n.in.res.partner.vat.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="priority" eval="100"/>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='vat']" position="attributes">
|
||||
<attribute name="string">GSTIN</attribute>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -0,0 +1,2 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
@@ -0,0 +1,19 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
{
|
||||
'name': 'Indian - Purchase Report(GST)',
|
||||
'version': '1.0',
|
||||
'description': """GST Purchase Report""",
|
||||
'category': 'Localization',
|
||||
'depends': [
|
||||
'l10n_in',
|
||||
'purchase',
|
||||
],
|
||||
'data': [
|
||||
'views/report_purchase_order.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'application': False,
|
||||
'auto_install': True,
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<template id="gst_report_purchaseorder_document_inherit" inherit_id="purchase.report_purchaseorder_document">
|
||||
<xpath expr="//tr[@t-foreach='o.order_line']/td[1]" position="replace">
|
||||
|
||||
<td><span t-field="line.name"/><t t-if="line.product_id.l10n_in_hsn_code and o.company_id.country_id.code == 'IN'"><h6><strong class="ml16">HSN/SAC Code:</strong> <span t-field="line.product_id.l10n_in_hsn_code"/></h6></t></td>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<template id="gst_report_purchasequotation_document_inherit" inherit_id="purchase.report_purchasequotation_document">
|
||||
<xpath expr="//tr[@t-foreach='o.order_line']/td[1]" position="replace">
|
||||
<td><span t-field="order_line.name"/><t t-if="order_line.product_id.l10n_in_hsn_code and o.company_id.country_id.code == 'IN'"><h6><strong class="ml16">HSN/SAC Code:</strong> <span t-field="order_line.product_id.l10n_in_hsn_code"/></h6></t></td>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
</odoo>
|
||||
@@ -0,0 +1,2 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
@@ -0,0 +1,20 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
{
|
||||
'name': 'Indian - Sale Report(GST)',
|
||||
'version': '1.0',
|
||||
'description': """GST Sale Report""",
|
||||
'category': 'Localization',
|
||||
'depends': [
|
||||
'l10n_in',
|
||||
'sale',
|
||||
],
|
||||
'data': [
|
||||
'views/report_sale_order.xml',
|
||||
'views/report_invoice_view.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'application': False,
|
||||
'auto_install': True,
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<template id="gst_report_invoice_layouted_inherit" inherit_id="sale.report_invoice_layouted">
|
||||
<xpath expr="//t[@name='lines_layouted']" position="replace">
|
||||
<t groups="sale.group_sale_layout" t-foreach="o.order_lines_layouted()" t-as="page" name="lines_layouted">
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<th>Description</th>
|
||||
<th class="text-right">Quantity</th>
|
||||
<th class="text-right">Unit Price</th>
|
||||
<th t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line">Disc.(%)</th>
|
||||
<th class="text-right" t-if="len(o.tax_line_ids) > 0">Tax</th>
|
||||
<th class="text-right">Price</th>
|
||||
<t t-if="o.company_id.country_id.code == 'IN'">
|
||||
<th class="text-right" t-if="is_cgst">CGST</th>
|
||||
<th class="text-right" t-if="is_cgst">SGST</th>
|
||||
<th class="text-right" t-if="is_igst">IGST</th>
|
||||
<th class="text-right" t-if="is_cess">CESS</th>
|
||||
</t>
|
||||
</thead>
|
||||
<tbody class="invoice_tbody">
|
||||
<t t-foreach="page" t-as="layout_category">
|
||||
|
||||
<t t-if="layout_category_size > 1 or page_size > 1" groups="sale.group_sale_layout">
|
||||
<tr class="active">
|
||||
<td colspan="7" style="font-weight: bold; border-bottom: 1px solid black;">&bull;
|
||||
<t t-esc="layout_category['name']"/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
|
||||
<!-- Lines associated -->
|
||||
<t t-foreach="layout_category['lines']" t-as="l">
|
||||
<tr>
|
||||
<td><span t-field="l.name"/>
|
||||
<t t-if="l.product_id.l10n_in_hsn_code"><h6><strong class="ml16">HSN/SAC Code:</strong> <span t-field="l.product_id.l10n_in_hsn_code"/></h6></t></td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.quantity"/>
|
||||
<span t-field="l.uom_id" groups="product.group_uom"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_unit"/>
|
||||
</td>
|
||||
<td t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line">
|
||||
<span t-field="l.discount"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-esc="', '.join(map(lambda x: x.description or x.name, l.invoice_line_tax_ids))"/>
|
||||
</td>
|
||||
<td class="text-right" groups="sale.group_show_price_subtotal">
|
||||
<span t-field="l.price_subtotal"
|
||||
t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
|
||||
</td>
|
||||
<td class="text-right" groups="sale.group_show_price_total">
|
||||
<span t-field="l.price_total"
|
||||
t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
|
||||
</td>
|
||||
<t t-if="o.company_id.country_id.code == 'IN'">
|
||||
<td class="text-right" t-if="is_cgst">
|
||||
<t t-foreach="tax_datas[l.id]" t-as="tax_data">
|
||||
<t t-if="tag_cgst_id in tax_data['tag_ids']">
|
||||
<t t-esc="tax_data['amount']"/>
|
||||
</t>
|
||||
</t>
|
||||
</td>
|
||||
<td class="text-right" t-if="is_cgst">
|
||||
<t t-foreach="tax_datas[l.id]" t-as="tax_data">
|
||||
<t t-if="tag_sgst_id in tax_data['tag_ids']">
|
||||
<t t-esc="tax_data['amount']"/>
|
||||
</t>
|
||||
</t>
|
||||
</td>
|
||||
<td class="text-right" t-if="is_igst">
|
||||
<t t-foreach="tax_datas[l.id]" t-as="tax_data">
|
||||
<t t-if="tag_igst_id in tax_data['tag_ids']">
|
||||
<t t-esc="tax_data['amount']"/>
|
||||
</t>
|
||||
</t>
|
||||
</td>
|
||||
<t t-set="total_cess" t-value="0.0"/>
|
||||
<td class="text-right" t-if="is_cess">
|
||||
<t t-foreach="tax_datas[l.id]" t-as="tax_data">
|
||||
<t t-if="tag_cess_id in tax_data['tag_ids']">
|
||||
<t t-set="total_cess" t-value="total_cess + tax_data['amount']"/>
|
||||
</t>
|
||||
</t>
|
||||
<t t-esc="total_cess"/>
|
||||
</td>
|
||||
</t>
|
||||
</tr>
|
||||
</t>
|
||||
|
||||
<t t-if="(layout_category_size > 1 or page_size > 1) and layout_category['subtotal']" groups="sale.group_sale_layout">
|
||||
<tr class="text-right">
|
||||
<td t-att-colspan="o.company_id.country_id.code == 'IN' and 9 or 6">
|
||||
<strong>Subtotal: </strong>
|
||||
<t t-set="subtotal" t-value="sum(line.price_subtotal for line in layout_category['lines'])"/>
|
||||
<span t-esc="subtotal" t-options="{'widget': 'monetary', 'display_currency': o.currency_id}"/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<t t-if="page_index < page_size - 1" groups="sale.group_sale_layout">
|
||||
<p style="page-break-before:always;"> </p>
|
||||
</t>
|
||||
</t>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
</odoo>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<template id="gst_report_saleorder_document_inherit" inherit_id="sale.report_saleorder_document">
|
||||
<xpath expr="//span[@t-field='l.name']" position="after">
|
||||
<t t-if="l.product_id.l10n_in_hsn_code"><h6><strong class="ml16">HSN/SAC Code:</strong> <span t-field="l.product_id.l10n_in_hsn_code"/></h6></t>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
</odoo>
|
||||
@@ -18,7 +18,7 @@ Sheet, now only Vertical format has been permitted Which is Supported By OpenERP
|
||||
""",
|
||||
'category': 'Localization',
|
||||
'depends': [
|
||||
'account',
|
||||
'account_tax_python',
|
||||
],
|
||||
'demo': [],
|
||||
'data': [
|
||||
|
||||
@@ -3,41 +3,17 @@
|
||||
<data noupdate="1">
|
||||
|
||||
<!-- Account Tax Group -->
|
||||
<record id="tax_group_024" model="account.tax.group">
|
||||
<field name="name">VAT 0.24%</field>
|
||||
<record id="schedule6_sgst_group" model="account.tax.group">
|
||||
<field name="name">SGST</field>
|
||||
</record>
|
||||
<record id="tax_group_01224" model="account.tax.group">
|
||||
<field name="name">VAT 0.1224%</field>
|
||||
<record id="schedule6_cgst_group" model="account.tax.group">
|
||||
<field name="name">CGST</field>
|
||||
</record>
|
||||
<record id="tax_group_1" model="account.tax.group">
|
||||
<field name="name">VAT 1%</field>
|
||||
<record id="schedule6_igst_group" model="account.tax.group">
|
||||
<field name="name">IGST</field>
|
||||
</record>
|
||||
<record id="tax_group_2" model="account.tax.group">
|
||||
<field name="name">VAT 2%</field>
|
||||
</record>
|
||||
<record id="tax_group_25" model="account.tax.group">
|
||||
<field name="name">VAT 2.5%</field>
|
||||
</record>
|
||||
<record id="tax_group_4" model="account.tax.group">
|
||||
<field name="name">VAT 4%</field>
|
||||
</record>
|
||||
<record id="tax_group_8" model="account.tax.group">
|
||||
<field name="name">VAT 8%</field>
|
||||
</record>
|
||||
<record id="tax_group_10" model="account.tax.group">
|
||||
<field name="name">VAT 10%</field>
|
||||
</record>
|
||||
<record id="tax_group_12" model="account.tax.group">
|
||||
<field name="name">VAT 12%</field>
|
||||
</record>
|
||||
<record id="tax_group_125" model="account.tax.group">
|
||||
<field name="name">VAT 12.5%</field>
|
||||
</record>
|
||||
<record id="tax_group_1236" model="account.tax.group">
|
||||
<field name="name">VAT 12.36%</field>
|
||||
</record>
|
||||
<record id="tax_group_15" model="account.tax.group">
|
||||
<field name="name">VAT 15%</field>
|
||||
<record id="schedule6_cess_group" model="account.tax.group">
|
||||
<field name="name">Cess</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<odoo>
|
||||
<!-- India - Standard Accounting Chart -->
|
||||
<record id="standard_transfer_account_id" model="account.account.template">
|
||||
<field name="code">1206</field>
|
||||
@@ -190,44 +189,23 @@
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<!-- Other current liabilities -->
|
||||
<record model="account.account.template" id="c1142111">
|
||||
<field name="name">Excise Duty Payable</field>
|
||||
<field name="code">1142111</field>
|
||||
<record model="account.account.template" id="c114210">
|
||||
<field name="name">(schedule6)SGST Payable</field>
|
||||
<field name="code">114210</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_liabilities"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c1142112">
|
||||
<field name="name">Education Cess Payable On Excise Duty</field>
|
||||
<field name="code">1142112</field>
|
||||
<record model="account.account.template" id="c114211">
|
||||
<field name="name">(schedule6)CGST Payable</field>
|
||||
<field name="code">114211</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_liabilities"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c1142113">
|
||||
<field name="name">Higher Education Cess Payable On Excise Duty</field>
|
||||
<field name="code">1142113</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_liabilities"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c1142121">
|
||||
<field name="name">Service Tax Payable</field>
|
||||
<field name="code">1142121</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_liabilities"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c1142122">
|
||||
<field name="name">Education Cess Payable On Service Tax</field>
|
||||
<field name="code">1142122</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_liabilities"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c1142123">
|
||||
<field name="name">Higher Education Cess Payable On Service Tax</field>
|
||||
<field name="code">1142123</field>
|
||||
<record model="account.account.template" id="c114212">
|
||||
<field name="name">(schedule6)IGST Payable</field>
|
||||
<field name="code">114212</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_liabilities"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
@@ -239,20 +217,6 @@
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c114214">
|
||||
<field name="name">Central Sales Tax Payable</field>
|
||||
<field name="code">114214</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_liabilities"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c114215">
|
||||
<field name="name">VAT Payable</field>
|
||||
<field name="code">114215</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_liabilities"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c11422">
|
||||
<field name="name">Out Standing Cheques for Clearance</field>
|
||||
<field name="code">11422</field>
|
||||
@@ -810,58 +774,23 @@
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<!-- Other current assets -->
|
||||
<record model="account.account.template" id="c121610">
|
||||
<field name="name">Sales Tax Receivable</field>
|
||||
<field name="code">121610</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c121611">
|
||||
<field name="name">VAT Receivable</field>
|
||||
<field name="name">(schedule6)SGST Receivable</field>
|
||||
<field name="code">121611</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c1216121">
|
||||
<field name="name">Excise Duty Receivable</field>
|
||||
<field name="code">1216121</field>
|
||||
<record model="account.account.template" id="c121612">
|
||||
<field name="name">(schedule6)CGST Receivable</field>
|
||||
<field name="code">121612</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c1216122">
|
||||
<field name="name">Education Cess Receivable On Excise Duty</field>
|
||||
<field name="code">1216122</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c1216123">
|
||||
<field name="name">Higher Education Cess Receivable On Excise Duty</field>
|
||||
<field name="code">1216123</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c1216131">
|
||||
<field name="name">Service Tax Receivable</field>
|
||||
<field name="code">1216131</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c1216132">
|
||||
<field name="name">Education Cess Receivable On Service Tax</field>
|
||||
<field name="code">1216132</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="c1216133">
|
||||
<field name="name">Higher Education Cess Receivable On Service Tax</field>
|
||||
<field name="code">1216133</field>
|
||||
<record model="account.account.template" id="c121613">
|
||||
<field name="name">(schedule6)IGST Receivable</field>
|
||||
<field name="code">121613</field>
|
||||
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
|
||||
<field name="reconcile" eval="False"/>
|
||||
<field name="chart_template_id" ref="indian_chart_template_schedule6"/>
|
||||
@@ -1429,5 +1358,4 @@
|
||||
<field name="expense_currency_exchange_account_id" ref="c2170"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,2 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
@@ -0,0 +1,19 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
{
|
||||
'name': 'Indian - Stock Report(GST)',
|
||||
'version': '1.0',
|
||||
'description': """GST Stock Report""",
|
||||
'category': 'Localization',
|
||||
'depends': [
|
||||
'l10n_in',
|
||||
'stock',
|
||||
],
|
||||
'data': [
|
||||
'views/report_stockpicking_operations.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'application': False,
|
||||
'auto_install': True,
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<template id="gst_report_picking_inherit" inherit_id="stock.report_picking">
|
||||
<xpath expr="//span[@t-field='pack_operation.product_id.description_picking']" position="after">
|
||||
<t t-if="pack_operation.product_id and pack_operation.product_id.l10n_in_hsn_code and o.company_id.country_id.code == 'IN'"><h6><strong class="ml16">HSN/SAC Code:</strong> <span t-field="pack_operation.product_id.l10n_in_hsn_code"/></h6></t>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
</odoo>
|
||||
@@ -747,9 +747,10 @@
|
||||
<field name="name">India</field>
|
||||
<field name="code">in</field>
|
||||
<field file="base/static/img/country_flags/in.png" name="image" type="base64" />
|
||||
<field eval="'%(street)s\n%(street2)s\n%(city)s %(zip)s\n%(state_name)s\n%(country_name)s'" name="address_format" />
|
||||
<field eval="'%(street)s\n%(street2)s\n%(city)s %(zip)s\n%(state_name)s %(state_code)s\n%(country_name)s'" name="address_format" />
|
||||
<field name="currency_id" ref="INR" />
|
||||
<field eval="91" name="phone_code" />
|
||||
<field name="vat_label">GSTIN</field>
|
||||
</record>
|
||||
<record id="io" model="res.country">
|
||||
<field name="name">British Indian Ocean Territory</field>
|
||||
|
||||
Reference in New Issue
Block a user