summaryrefslogtreecommitdiff
path: root/addons/l10n_sg
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_sg
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_sg')
-rw-r--r--addons/l10n_sg/data/account_tax_report_data.xml236
1 files changed, 120 insertions, 116 deletions
diff --git a/addons/l10n_sg/data/account_tax_report_data.xml b/addons/l10n_sg/data/account_tax_report_data.xml
index 26e8509b486..453387ea6e0 100644
--- a/addons/l10n_sg/data/account_tax_report_data.xml
+++ b/addons/l10n_sg/data/account_tax_report_data.xml
@@ -1,119 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
- <data>
- <record id="account_tax_report_line_supplies" model="account.tax.report.line">
- <field name="name">Supplies</field>
- <field name="sequence" eval="1"/>
- <field name="country_id" ref="base.sg"/>
- </record>
-
- <record id="account_tax_report_line_std_rated_supplies" model="account.tax.report.line">
- <field name="name">Box 1 - Total value of standard-rated supplies</field>
- <field name="tag_name">Box 1</field>
- <field name="code">BOX1</field>
- <field name="sequence" eval="1"/>
- <field name="parent_id" ref='account_tax_report_line_supplies'/>
- <field name="country_id" ref="base.sg"/>
- </record>
-
- <record id="account_tax_report_line_zero_rated_supplies" model="account.tax.report.line">
- <field name="name">Box 2 - Total value of zero-rated supplies</field>
- <field name="tag_name">Box 2</field>
- <field name="code">BOX2</field>
- <field name="sequence" eval="2"/>
- <field name="parent_id" ref='account_tax_report_line_supplies'/>
- <field name="country_id" ref="base.sg"/>
- </record>
-
- <record id="account_tax_report_line_exempt_supplies" model="account.tax.report.line">
- <field name="name">Box 3 - Total value of exempt supplies</field>
- <field name="tag_name">Box 3</field>
- <field name="code">BOX3</field>
- <field name="sequence" eval="3"/>
- <field name="parent_id" ref='account_tax_report_line_supplies'/>
- <field name="country_id" ref="base.sg"/>
- </record>
-
- <record id="account_tax_report_line_total_supplies" model="account.tax.report.line">
- <field name="name">Box 4 - Total value of (1) + (2) + (3)</field>
- <field name="sequence" eval="4"/>
- <field name="formula">BOX1 + BOX2 + BOX3</field>
- <field name="parent_id" ref='account_tax_report_line_supplies'/>
- <field name="country_id" ref="base.sg"/>
- </record>
-
- <record id="account_tax_report_line_purchases" model="account.tax.report.line">
- <field name="name">Purchases</field>
- <field name="sequence" eval="2"/>
- <field name="country_id" ref="base.sg"/>
- </record>
-
- <record id="account_tax_report_line_total_taxable_purchases" model="account.tax.report.line">
- <field name="name">Box 5 - Total value of taxable purchases</field>
- <field name="tag_name">Box 5</field>
- <field name="sequence" eval="1"/>
- <field name="parent_id" ref='account_tax_report_line_purchases'/>
- <field name="country_id" ref="base.sg"/>
- </record>
-
- <record id="account_tax_report_line_taxes" model="account.tax.report.line">
- <field name="name">Taxes</field>
- <field name="sequence" eval="3"/>
- <field name="country_id" ref="base.sg"/>
- </record>
-
- <record id="account_tax_report_line_output_tax_due" model="account.tax.report.line">
- <field name="name">Box 6 - Output tax due</field>
- <field name="tag_name">Box 6</field>
- <field name="code">BOX6</field>
- <field name="sequence" eval="1"/>
- <field name="parent_id" ref='account_tax_report_line_taxes'/>
- <field name="country_id" ref="base.sg"/>
- </record>
-
- <record id="account_tax_report_line_inp_tax_refund_claim" model="account.tax.report.line">
- <field name="name">Box 7 - Less : Input tax and refunds claimed</field>
- <field name="tag_name">Box 7</field>
- <field name="code">BOX7</field>
- <field name="parent_id" ref='account_tax_report_line_taxes'/>
- <field name="sequence" eval="2"/>
- <field name="country_id" ref="base.sg"/>
- </record>
-
- <record id="account_tax_report_line_total_gst_paid_iras" model="account.tax.report.line">
- <field name="name">Box 8 - Equals : Net GST to be paid to IRAS</field>
- <field name="sequence" eval="3"/>
- <field name="formula">BOX6 - BOX7</field>
- <field name="parent_id" ref='account_tax_report_line_taxes'/>
- <field name="country_id" ref="base.sg"/>
- </record>
-
- <record id="account_tax_report_line_applicable" model="account.tax.report.line">
- <field name="name">Applicable to Taxable Persons under Major Exported Scheme / Approved 3rd Party Logistics Company / Other Approved Schemes Only</field>
- <field name="sequence" eval="4"/>
- <field name="country_id" ref="base.sg"/>
- </record>
-
- <record id="account_tax_report_line_applicable_goods_imported_value" model="account.tax.report.line">
- <field name="name">Box 9 - Total value of goods imported under this scheme</field>
- <field name="tag_name">Box 9</field>
- <field name="sequence" eval="1"/>
- <field name="parent_id" ref="account_tax_report_line_applicable"/>
- <field name="country_id" ref="base.sg"/>
- </record>
-
- <record id="account_tax_report_line_revenues" model="account.tax.report.line">
- <field name="name">Revenue</field>
- <field name="sequence" eval="6"/>
- <field name="country_id" ref="base.sg"/>
- </record>
-
- <record id="account_tax_report_line_revenues_accounting_period" model="account.tax.report.line">
- <field name="name">Box 13 - Revenue for the accounting period</field>
- <field name="sequence" eval="1"/>
- <field name="formula">net_profit</field>
- <field name="parent_id" ref="account_tax_report_line_revenues"/>
- <field name="country_id" ref="base.sg"/>
- </record>
- </data>
+
+ <record id="tax_report" model="account.tax.report">
+ <field name="name">Tax Report</field>
+ <field name="country_id" ref="base.sg"/>
+ </record>
+
+ <record id="account_tax_report_line_supplies" model="account.tax.report.line">
+ <field name="name">Supplies</field>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="1"/>
+ </record>
+
+ <record id="account_tax_report_line_std_rated_supplies" model="account.tax.report.line">
+ <field name="name">Box 1 - Total value of standard-rated supplies</field>
+ <field name="tag_name">Box 1</field>
+ <field name="code">BOX1</field>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="1"/>
+ <field name="parent_id" ref='account_tax_report_line_supplies'/>
+ </record>
+
+ <record id="account_tax_report_line_zero_rated_supplies" model="account.tax.report.line">
+ <field name="name">Box 2 - Total value of zero-rated supplies</field>
+ <field name="tag_name">Box 2</field>
+ <field name="code">BOX2</field>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="2"/>
+ <field name="parent_id" ref='account_tax_report_line_supplies'/>
+ </record>
+
+ <record id="account_tax_report_line_exempt_supplies" model="account.tax.report.line">
+ <field name="name">Box 3 - Total value of exempt supplies</field>
+ <field name="tag_name">Box 3</field>
+ <field name="code">BOX3</field>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="3"/>
+ <field name="parent_id" ref='account_tax_report_line_supplies'/>
+ </record>
+
+ <record id="account_tax_report_line_total_supplies" model="account.tax.report.line">
+ <field name="name">Box 4 - Total value of (1) + (2) + (3)</field>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="4"/>
+ <field name="formula">BOX1 + BOX2 + BOX3</field>
+ <field name="parent_id" ref='account_tax_report_line_supplies'/>
+ </record>
+
+ <record id="account_tax_report_line_purchases" model="account.tax.report.line">
+ <field name="name">Purchases</field>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="2"/>
+ </record>
+
+ <record id="account_tax_report_line_total_taxable_purchases" model="account.tax.report.line">
+ <field name="name">Box 5 - Total value of taxable purchases</field>
+ <field name="tag_name">Box 5</field>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="1"/>
+ <field name="parent_id" ref='account_tax_report_line_purchases'/>
+ </record>
+
+ <record id="account_tax_report_line_taxes" model="account.tax.report.line">
+ <field name="name">Taxes</field>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="3"/>
+ </record>
+
+ <record id="account_tax_report_line_output_tax_due" model="account.tax.report.line">
+ <field name="name">Box 6 - Output tax due</field>
+ <field name="tag_name">Box 6</field>
+ <field name="code">BOX6</field>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="1"/>
+ <field name="parent_id" ref='account_tax_report_line_taxes'/>
+ </record>
+
+ <record id="account_tax_report_line_inp_tax_refund_claim" model="account.tax.report.line">
+ <field name="name">Box 7 - Less : Input tax and refunds claimed</field>
+ <field name="tag_name">Box 7</field>
+ <field name="code">BOX7</field>
+ <field name="parent_id" ref='account_tax_report_line_taxes'/>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="2"/>
+ </record>
+
+ <record id="account_tax_report_line_total_gst_paid_iras" model="account.tax.report.line">
+ <field name="name">Box 8 - Equals : Net GST to be paid to IRAS</field>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="3"/>
+ <field name="formula">BOX6 - BOX7</field>
+ <field name="parent_id" ref='account_tax_report_line_taxes'/>
+ </record>
+
+ <record id="account_tax_report_line_applicable" model="account.tax.report.line">
+ <field name="name">Applicable to Taxable Persons under Major Exported Scheme / Approved 3rd Party Logistics Company / Other Approved Schemes Only</field>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="4"/>
+ </record>
+
+ <record id="account_tax_report_line_applicable_goods_imported_value" model="account.tax.report.line">
+ <field name="name">Box 9 - Total value of goods imported under this scheme</field>
+ <field name="tag_name">Box 9</field>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="1"/>
+ <field name="parent_id" ref="account_tax_report_line_applicable"/>
+ </record>
+
+ <record id="account_tax_report_line_revenues" model="account.tax.report.line">
+ <field name="name">Revenue</field>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="6"/>
+ </record>
+
+ <record id="account_tax_report_line_revenues_accounting_period" model="account.tax.report.line">
+ <field name="name">Box 13 - Revenue for the accounting period</field>
+ <field name="report_id" ref="tax_report"/>
+ <field name="sequence" eval="1"/>
+ <field name="formula">net_profit</field>
+ <field name="parent_id" ref="account_tax_report_line_revenues"/>
+ </record>
</odoo>