summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorJigar Vaghela <jva@odoo.com>2020-02-26 13:23:48 +0000
committerJigar Vaghela <jva@odoo.com>2020-02-27 09:11:06 +0000
commitd9c116f2b0fe0e1528a401d508cfb5efe886c7b2 (patch)
tree137fb32b3289b72f4ba7340c730d49d4c7ce70a7 /addons
parent6f6fb8266e6fcd87a561f2122c77f21b323c28ef (diff)
[FIX] l10n_in: support 0% tax in report
Add zero rated tax report line so we show 0% tax line in report here problem is when 0% tax is created then no tax line is there so this fix is needed. closes odoo/odoo#46408 Opw: 2200619 X-original-commit: a0e2afd5c552a0703da5f94c2ea342907cd83599 Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/l10n_in/data/account_tax_template_data.xml75
-rw-r--r--addons/l10n_in/report/account_invoice_report.py4
2 files changed, 77 insertions, 2 deletions
diff --git a/addons/l10n_in/data/account_tax_template_data.xml b/addons/l10n_in/data/account_tax_template_data.xml
index 1dcd8688047..fd0cbe185b3 100644
--- a/addons/l10n_in/data/account_tax_template_data.xml
+++ b/addons/l10n_in/data/account_tax_template_data.xml
@@ -65,6 +65,13 @@
<field name="sequence">6</field>
<field name="report_id" ref="tax_report"/>
</record>
+ <record id="tax_report_line_zero_rated" model="account.tax.report.line">
+ <field name="name">Zero Rated</field>
+ <field name="tag_name">Zero Rated</field>
+ <field name="parent_id" ref="tax_report_line_gst_others"/>
+ <field name="country_id" ref="base.in"/>
+ <field name="sequence">7</field>
+ </record>
<!-- GST TAXES-->
@@ -269,6 +276,40 @@ if tax > result:result=tax</field>
<!-- IGST -->
+ <record id="igst_sale_0" model="account.tax.template">
+ <field name="name">IGST 0%</field>
+ <field name="description">IGST 0%</field>
+ <field name="type_tax_use">sale</field>
+ <field name="amount_type">percent</field>
+ <field name="amount">0</field>
+ <field name="chart_template_id" ref="indian_chart_template_standard"/>
+ <field name="tax_group_id" ref="igst_group"/>
+ <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ 'plus_report_line_ids': [ref('tax_report_line_zero_rated')],
+ }),
+
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ }),
+ ]"/>
+ <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ 'minus_report_line_ids': [ref('tax_report_line_zero_rated')],
+ }),
+
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ }),
+ ]"/>
+ </record>
+
<record id="igst_sale_1" model="account.tax.template">
<field name="name">IGST 1%</field>
<field name="description">IGST 1%</field>
@@ -1172,6 +1213,40 @@ if tax > result:result=tax</field>
<!-- IGST -->
+ <record id="igst_purchase_0" model="account.tax.template">
+ <field name="name">IGST 0%</field>
+ <field name="description">IGST 0%</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount_type">percent</field>
+ <field name="amount">0</field>
+ <field name="chart_template_id" ref="indian_chart_template_standard"/>
+ <field name="tax_group_id" ref="igst_group"/>
+ <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ 'minus_report_line_ids': [ref('tax_report_line_zero_rated')],
+ }),
+
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ }),
+ ]"/>
+ <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ 'plus_report_line_ids': [ref('tax_report_line_zero_rated')],
+ }),
+
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ }),
+ ]"/>
+ </record>
+
<record id="igst_purchase_1" model="account.tax.template">
<field name="name">IGST 1%</field>
<field name="description">IGST 1%</field>
diff --git a/addons/l10n_in/report/account_invoice_report.py b/addons/l10n_in/report/account_invoice_report.py
index fc8de7c7cfa..5853d298343 100644
--- a/addons/l10n_in/report/account_invoice_report.py
+++ b/addons/l10n_in/report/account_invoice_report.py
@@ -246,7 +246,7 @@ class L10nInAccountInvoiceReport(models.Model):
JOIN account_move am ON am.id = aml.move_id
JOIN account_journal aj ON aj.id = am.journal_id
JOIN res_company c ON c.id = aj.company_id
- JOIN account_tax at ON at.id = aml.tax_line_id
+ LEFT JOIN account_tax at ON at.id = aml.tax_line_id
JOIN account_account_tag_account_move_line_rel aat_aml_rel ON aat_aml_rel.account_move_line_id = aml.id
JOIN account_account_tag aat ON aat.id = aat_aml_rel.account_account_tag_id
JOIN account_tax_report_line_tags_rel tag_rep_ln ON aat.id = tag_rep_ln.account_account_tag_id
@@ -264,7 +264,7 @@ class L10nInAccountInvoiceReport(models.Model):
def _where(self):
return """
WHERE am.state = 'posted'
- AND tag_rep_ln.account_tax_report_line_id in (SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name in ('tax_report_line_igst','tax_report_line_cgst','tax_report_line_sgst'))
+ AND tag_rep_ln.account_tax_report_line_id in (SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name in ('tax_report_line_igst','tax_report_line_cgst','tax_report_line_sgst','tax_report_line_zero_rated'))
"""
def _group_by(self):