summaryrefslogtreecommitdiff
path: root/addons/l10n_in
diff options
context:
space:
mode:
authoroco-odoo <oco@odoo.com>2019-10-10 07:44:12 +0000
committeroco-odoo <oco@odoo.com>2019-11-29 20:47:29 +0000
commitef0488ef91161eba5267ea29fa5c6b379c483f29 (patch)
tree4412b6403147bb581e285be431a41356fc094fac /addons/l10n_in
parentde6fa6189c85552b4c78f386ca52ad030705e32e (diff)
[IMP] account: support multiple tax reports per country
- Introduce a new account.tax.report object > Tax report lines now refer to a tax report, and the tax report to a country - Tax report lines can share tags accross reports within the same country > To support the cases where some report is a simplified version of another one: some of its lines can be computed in the same way as the 'bigger' report. > This is done by giving the same tag_name to the tax report lines, and the same country_id to their parent report. > Full support for tag name modification, and the way it impacts the shared tags (sometimes, we can overwrite them all, sometimes we must delete them, sometimes, we create new tags to replace them on some report lines). - Support copying tax report (and the lines/tags linked to it), so that it is possible to duplicate them and change the country set on the duplicate for use in another country (coopying is way better as replacing in place, as we don't keep any link to an xmlid, and still allow using the original report in the original country it was created for). - Make all l10n* modules compatible with those changes closes odoo/odoo#38964 Related: odoo/enterprise#6217 Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
Diffstat (limited to 'addons/l10n_in')
-rw-r--r--addons/l10n_in/data/account_tax_template_data.xml23
1 files changed, 14 insertions, 9 deletions
diff --git a/addons/l10n_in/data/account_tax_template_data.xml b/addons/l10n_in/data/account_tax_template_data.xml
index 14276a504a6..1dcd8688047 100644
--- a/addons/l10n_in/data/account_tax_template_data.xml
+++ b/addons/l10n_in/data/account_tax_template_data.xml
@@ -1,64 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
+ <record id="tax_report" model="account.tax.report">
+ <field name="name">Tax Report</field>
+ <field name="country_id" ref="base.in"/>
+ </record>
+
<record id="tax_report_line_gst" model="account.tax.report.line">
<field name="name">GST</field>
- <field name="country_id" ref="base.in"/>
<field name="sequence">1</field>
+ <field name="report_id" ref="tax_report"/>
</record>
<record id="tax_report_line_igst_root" model="account.tax.report.line">
<field name="name">IGST</field>
- <field name="country_id" ref="base.in"/>
<field name="sequence">2</field>
+ <field name="report_id" ref="tax_report"/>
</record>
<record id="tax_report_line_gst_others" model="account.tax.report.line">
<field name="name">Others</field>
- <field name="country_id" ref="base.in"/>
<field name="sequence">3</field>
+ <field name="report_id" ref="tax_report"/>
</record>
<record id="tax_report_line_sgst" model="account.tax.report.line">
<field name="name">SGST</field>
<field name="tag_name">SGST</field>
<field name="parent_id" ref="tax_report_line_gst"/>
- <field name="country_id" ref="base.in"/>
<field name="sequence">1</field>
+ <field name="report_id" ref="tax_report"/>
</record>
<record id="tax_report_line_cgst" model="account.tax.report.line">
<field name="name">CGST</field>
<field name="tag_name">CGST</field>
<field name="parent_id" ref="tax_report_line_gst"/>
- <field name="country_id" ref="base.in"/>
<field name="sequence">2</field>
+ <field name="report_id" ref="tax_report"/>
</record>
<record id="tax_report_line_igst" model="account.tax.report.line">
<field name="name">IGST</field>
<field name="tag_name">IGST</field>
<field name="parent_id" ref="tax_report_line_igst_root"/>
- <field name="country_id" ref="base.in"/>
<field name="sequence">3</field>
+ <field name="report_id" ref="tax_report"/>
</record>
<record id="tax_report_line_cess" model="account.tax.report.line">
<field name="name">CESS</field>
<field name="tag_name">CESS</field>
<field name="parent_id" ref="tax_report_line_gst_others"/>
- <field name="country_id" ref="base.in"/>
<field name="sequence">4</field>
+ <field name="report_id" ref="tax_report"/>
</record>
<record id="tax_report_line_exempt" model="account.tax.report.line">
<field name="name">Exempt</field>
<field name="tag_name">Exempt</field>
<field name="parent_id" ref="tax_report_line_gst_others"/>
- <field name="country_id" ref="base.in"/>
<field name="sequence">5</field>
+ <field name="report_id" ref="tax_report"/>
</record>
<record id="tax_report_line_nil_rated" model="account.tax.report.line">
<field name="name">Nil Rated</field>
<field name="tag_name">Nil Rated</field>
<field name="parent_id" ref="tax_report_line_gst_others"/>
- <field name="country_id" ref="base.in"/>
<field name="sequence">6</field>
+ <field name="report_id" ref="tax_report"/>
</record>