summaryrefslogtreecommitdiff
path: root/addons/l10n_th
diff options
context:
space:
mode:
authorOlivier Colson <oco@odoo.com>2019-04-19 10:06:07 +0000
committerOlivier Colson <oco@odoo.com>2019-05-10 11:52:58 +0000
commit3936d655c4bfd845b6ead724cecdc8e7c62816eb (patch)
tree402e137e0fa09b06c1b237ab6a346670dea480c2 /addons/l10n_th
parent574295df57d8da78ca6109f277a5a2332bf38101 (diff)
[IMP] account, l10n_*: v13 taxes
- Add repartition lines on taxes - Link account tags directly to account.move.line; remove the tag_ids field from account.tag - Add a new report engine dedicated to tax reports, directly generating account tags. It is called as an alternate mode of generic tax report, with a dedicated "Use tax grids" toggle. >> The biggest change lies in the way the new tax report computes its values. Everything is now aggregated directly using the tags set on the account move lines. Thanks to that, modifying the configuration of a tax today will not impact the report for the previous periods anymore. This is a big improvement, as it means the report will keep on reflecting the values that were submitted to the state before, whatever the configuration change. - Add an audit char field to account.move.line telling with tax grids are impacted by the line, with the corresponding amount - Modify the behavior of cash basis taxes: the cash basis account is now used as the transition account, while the regular account given in tax declaration is used to store the final entry (it was the opposite before) - Modify every l10n_* module in order to keep them consistent with these changes closes odoo/odoo#32833 Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
Diffstat (limited to 'addons/l10n_th')
-rw-r--r--addons/l10n_th/__manifest__.py1
-rw-r--r--addons/l10n_th/data/account_tax_report_data.xml173
-rw-r--r--addons/l10n_th/data/account_tax_template_data.xml401
-rw-r--r--addons/l10n_th/data/l10n_th_chart_data.xml91
4 files changed, 537 insertions, 129 deletions
diff --git a/addons/l10n_th/__manifest__.py b/addons/l10n_th/__manifest__.py
index d4c32b2c57f..f755714cb30 100644
--- a/addons/l10n_th/__manifest__.py
+++ b/addons/l10n_th/__manifest__.py
@@ -19,6 +19,7 @@ Thai accounting chart and localization.
'data/l10n_th_chart_data.xml',
'data/account.account.template.csv',
'data/l10n_th_chart_post_data.xml',
+ 'data/account_tax_report_data.xml',
'data/account_tax_template_data.xml',
'data/account_chart_template_data.xml',
],
diff --git a/addons/l10n_th/data/account_tax_report_data.xml b/addons/l10n_th/data/account_tax_report_data.xml
new file mode 100644
index 00000000000..4977a0d8da6
--- /dev/null
+++ b/addons/l10n_th/data/account_tax_report_data.xml
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <record id="tax_report_tp" model="account.tax.report.line">
+ <field name="name">Taxes to be paid</field>
+ <field name="sequence" eval="5"/>
+ <field name="formula">-tax_th_1_1</field>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_tp_wht" model="account.tax.report.line">
+ <field name="name">Withholding Tax</field>
+ <field name="code">tax_th_1_1</field>
+ <field name="sequence" eval="1"/>
+ <field name="parent_id" ref="tax_report_tp"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_tp_wht_per" model="account.tax.report.line">
+ <field name="name">Personal Withholding Tax</field>
+ <field name="sequence" eval="1"/>
+ <field name="parent_id" ref="tax_report_tp_wht"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_tp_wht_per_service" model="account.tax.report.line">
+ <field name="name">Personal Withholding Tax (Service)</field>
+ <field name="tag_name">Personal Withholding Tax (Service)</field>
+ <field name="sequence" eval="1"/>
+ <field name="parent_id" ref="tax_report_tp_wht_per"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_tp_wht_per_other" model="account.tax.report.line">
+ <field name="name">Personal Withholding Tax (Other)</field>
+ <field name="tag_name">Personal Withholding Tax (Other)</field>
+ <field name="sequence" eval="2"/>
+ <field name="parent_id" ref="tax_report_tp_wht_per"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_tp_wht_cmp" model="account.tax.report.line">
+ <field name="name">Company Withholding Tax</field>
+ <field name="sequence" eval="2"/>
+ <field name="parent_id" ref="tax_report_tp_wht"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_tp_wht_cmp_service" model="account.tax.report.line">
+ <field name="name">Company Withholding Tax (Service)</field>
+ <field name="tag_name">Company Withholding Tax (Service)</field>
+ <field name="sequence" eval="1"/>
+ <field name="parent_id" ref="tax_report_tp_wht_cmp"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_tp_wht_cmp_other" model="account.tax.report.line">
+ <field name="name">Company Withholding Tax (Other)</field>
+ <field name="tag_name">Company Withholding Tax (Other)</field>
+ <field name="sequence" eval="2"/>
+ <field name="parent_id" ref="tax_report_tp_wht_cmp"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_tp_vat" model="account.tax.report.line">
+ <field name="name">Value Added Tax</field>
+ <field name="sequence" eval="2"/>
+ <field name="formula">tax_th_PP30_5-tax_th_PP30_7</field>
+ <field name="parent_id" ref="tax_report_tp"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_tp_vat_out" model="account.tax.report.line">
+ <field name="name">Output VAT</field>
+ <field name="tag_name">Output VAT</field>
+ <field name="code">tax_th_PP30_5</field>
+ <field name="sequence" eval="3"/>
+ <field name="parent_id" ref="tax_report_tp_vat"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_tp_vat_in" model="account.tax.report.line">
+ <field name="name">Input VAT</field>
+ <field name="tag_name">Input VAT</field>
+ <field name="code">tax_th_PP30_7</field>
+ <field name="sequence" eval="4"/>
+ <field name="parent_id" ref="tax_report_tp_vat"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+
+ <record id="tax_report_ta" model="account.tax.report.line">
+ <field name="name">Taxable amounts</field>
+ <field name="sequence" eval="6"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_ta_wht" model="account.tax.report.line">
+ <field name="name">Withholding Tax</field>
+ <field name="sequence" eval="1"/>
+ <field name="parent_id" ref="tax_report_ta"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_ta_wht_per" model="account.tax.report.line">
+ <field name="name">Personal Withholding Tax</field>
+ <field name="sequence" eval="1"/>
+ <field name="parent_id" ref="tax_report_ta_wht"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_ta_wht_per_service" model="account.tax.report.line">
+ <field name="name">Personal Withholding Tax (Service)</field>
+ <field name="tag_name">Personal Withholding Tax (Service)</field>
+ <field name="sequence" eval="1"/>
+ <field name="parent_id" ref="tax_report_ta_wht_per"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_ta_wht_per_other" model="account.tax.report.line">
+ <field name="name">Personal Withholding Tax (Other)</field>
+ <field name="sequence" eval="2"/>
+ <field name="parent_id" ref="tax_report_ta_wht_per"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_ta_wht_cmp" model="account.tax.report.line">
+ <field name="name">Company Withholding Tax</field>
+ <field name="sequence" eval="2"/>
+ <field name="parent_id" ref="tax_report_ta_wht"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_ta_wht_cmp_service" model="account.tax.report.line">
+ <field name="name">Company Withholding Tax (Service)</field>
+ <field name="tag_name">Company Withholding Tax (Service)</field>
+ <field name="sequence" eval="1"/>
+ <field name="parent_id" ref="tax_report_ta_wht_cmp"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_ta_wht_cmp_other" model="account.tax.report.line">
+ <field name="name">Company Withholding Tax (Other)</field>
+ <field name="tag_name">Company Withholding Tax (Other)</field>
+ <field name="sequence" eval="2"/>
+ <field name="parent_id" ref="tax_report_ta_wht_cmp"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_ta_vat" model="account.tax.report.line">
+ <field name="name">Value Added Tax</field>
+ <field name="sequence" eval="2"/>
+ <field name="parent_id" ref="tax_report_ta"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_ta_vat_out" model="account.tax.report.line">
+ <field name="name">Output VAT</field>
+ <field name="tag_name">Output VAT</field>
+ <field name="sequence" eval="1"/>
+ <field name="parent_id" ref="tax_report_ta_vat"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+ <record id="tax_report_ta_vat_in" model="account.tax.report.line">
+ <field name="name">Input VAT</field>
+ <field name="tag_name">Input VAT</field>
+ <field name="sequence" eval="2"/>
+ <field name="parent_id" ref="tax_report_ta_vat"/>
+ <field name="country_id" ref="base.th"/>
+ </record>
+
+</odoo>
diff --git a/addons/l10n_th/data/account_tax_template_data.xml b/addons/l10n_th/data/account_tax_template_data.xml
index 59dc0b7c14d..67c3ba846e3 100644
--- a/addons/l10n_th/data/account_tax_template_data.xml
+++ b/addons/l10n_th/data/account_tax_template_data.xml
@@ -1,153 +1,478 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
+
<record id="tax_input_vat" model="account.tax.template">
<field name="chart_template_id" ref="chart"/>
<field name="name">Input VAT</field>
<field name="amount_type">percent</field>
<field name="amount" eval="7"/>
- <field name="account_id" ref="a_input_vat"/>
- <field name="refund_account_id" ref="a_input_vat"/>
<field name="type_tax_use">purchase</field>
- <field name="tag_ids" eval="[(6,0,[ref('tag_th_22'), ref('tag_th_11')])]"/>
<field name="tax_group_id" ref="tax_group_vat_7"/>
+ <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_ta_vat_in')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_input_vat'),
+ 'plus_report_line_ids': [ref('tax_report_tp_vat_in')],
+ }),
+ ]"/>
+ <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_ta_vat_in')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_input_vat'),
+ 'minus_report_line_ids': [ref('tax_report_tp_vat_in')],
+ }),
+ ]"/>
</record>
+
<record id="tax_output_vat" model="account.tax.template">
<field name="chart_template_id" ref="chart"/>
<field name="name">Output VAT</field>
<field name="amount_type">percent</field>
<field name="amount" eval="7"/>
- <field name="account_id" ref="a_output_vat"/>
- <field name="refund_account_id" ref="a_output_vat"/>
<field name="type_tax_use">sale</field>
- <field name="tag_ids" eval="[(6,0,[ref('tag_th_21'), ref('tag_th_10')])]"/>
<field name="tax_group_id" ref="tax_group_vat_7"/>
+ <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_ta_vat_out')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_output_vat'),
+ 'plus_report_line_ids': [ref('tax_report_tp_vat_out')],
+ }),
+ ]"/>
+ <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_ta_vat_out')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_output_vat'),
+ 'minus_report_line_ids': [ref('tax_report_tp_vat_out')],
+ }),
+ ]"/>
</record>
+
<record id="tax_wht_co_1" model="account.tax.template">
<field name="chart_template_id" ref="chart"/>
<field name="name">Company Withholding Tax 1% (Transportation)</field>
<field name="amount_type">percent</field>
<field name="amount" eval="-1"/>
- <field name="account_id" ref="a_wht"/>
- <field name="refund_account_id" ref="a_wht"/>
<field name="type_tax_use">purchase</field>
- <field name="tag_ids" eval="[(6,0,[ref('tag_th_19'),ref('tag_th_08')])]"/>
<field name="tax_group_id" ref="tax_group_1"/>
+ <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_ta_wht_cmp_other')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'plus_report_line_ids': [ref('tax_report_tp_wht_cmp_other')],
+ }),
+ ]"/>
+ <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_ta_wht_cmp_other')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'minus_report_line_ids': [ref('tax_report_tp_wht_cmp_other')],
+ }),
+ ]"/>
</record>
+
<record id="tax_wht_co_2" model="account.tax.template">
<field name="chart_template_id" ref="chart"/>
<field name="name">Company Withholding Tax 2% (Advertising)</field>
<field name="amount_type">percent</field>
<field name="amount" eval="-2"/>
- <field name="account_id" ref="a_wht"/>
- <field name="refund_account_id" ref="a_wht"/>
<field name="type_tax_use">purchase</field>
- <field name="tag_ids" eval="[(6,0,[ref('tag_th_19'),ref('tag_th_08')])]"/>
<field name="tax_group_id" ref="tax_group_2"/>
+ <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_ta_wht_cmp_other')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'plus_report_line_ids': [ref('tax_report_tp_wht_cmp_other')],
+ }),
+ ]"/>
+ <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_ta_wht_cmp_other')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'minus_report_line_ids': [ref('tax_report_tp_wht_cmp_other')],
+ }),
+ ]"/>
</record>
+
<record id="tax_wht_co_3" model="account.tax.template">
<field name="chart_template_id" ref="chart"/>
<field name="name">Company Withholding Tax 3% (Service)</field>
<field name="amount_type">percent</field>
<field name="amount" eval="-3"/>
- <field name="account_id" ref="a_wht"/>
- <field name="refund_account_id" ref="a_wht"/>
<field name="type_tax_use">purchase</field>
- <field name="tag_ids" eval="[(6,0,[ref('tag_th_18'),ref('tag_th_07')])]"/>
<field name="tax_group_id" ref="tax_group_3"/>
+ <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_ta_wht_cmp_service')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'plus_report_line_ids': [ref('tax_report_tp_wht_cmp_service')],
+ }),
+ ]"/>
+ <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_ta_wht_cmp_service')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'minus_report_line_ids': [ref('tax_report_tp_wht_cmp_service')],
+ }),
+ ]"/>
</record>
+
<record id="tax_wht_co_5" model="account.tax.template">
<field name="chart_template_id" ref="chart"/>
<field name="name">Company Withholding Tax 5% (Rental)</field>
<field name="amount_type">percent</field>
<field name="amount" eval="-5"/>
- <field name="account_id" ref="a_wht"/>
- <field name="refund_account_id" ref="a_wht"/>
<field name="type_tax_use">purchase</field>
- <field name="tag_ids" eval="[(6,0,[ref('tag_th_19'),ref('tag_th_08')])]"/>
<field name="tax_group_id" ref="tax_group_5"/>
+ <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_ta_wht_cmp_other')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'plus_report_line_ids': [ref('tax_report_tp_wht_cmp_other')],
+ }),
+ ]"/>
+ <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_ta_wht_cmp_other')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'minus_report_line_ids': [ref('tax_report_tp_wht_cmp_other')],
+ }),
+ ]"/>
</record>
+
<record id="tax_wht_pers_1" model="account.tax.template">
<field name="chart_template_id" ref="chart"/>
<field name="name">Personal Withholding Tax 1% (Transportation)</field>
<field name="amount_type">percent</field>
<field name="amount" eval="-1"/>
- <field name="account_id" ref="a_wht"/>
- <field name="refund_account_id" ref="a_wht"/>
<field name="type_tax_use">purchase</field>
- <field name="tag_ids" eval="[(6,0,[ref('tag_th_05'),ref('tag_th_19')])]"/>
<field name="tax_group_id" ref="tax_group_1"/>
+ <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_ta_wht_cmp_other')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'plus_report_line_ids': [ref('tax_report_tp_wht_per_other')],
+ }),
+ ]"/>
+ <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_ta_wht_cmp_other')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'minus_report_line_ids': [ref('tax_report_tp_wht_per_other')],
+ }),
+ ]"/>
</record>
+
<record id="tax_wht_pers_2" model="account.tax.template">
<field name="chart_template_id" ref="chart"/>
<field name="name">Personal Withholding Tax 2% (Advertising)</field>
<field name="amount_type">percent</field>
<field name="amount" eval="-2"/>
- <field name="account_id" ref="a_wht"/>
- <field name="refund_account_id" ref="a_wht"/>
<field name="type_tax_use">purchase</field>
- <field name="tag_ids" eval="[(6,0,[ref('tag_th_05'),ref('tag_th_19')])]"/>
<field name="tax_group_id" ref="tax_group_2"/>
+ <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_ta_wht_cmp_other')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'plus_report_line_ids': [ref('tax_report_tp_wht_per_other')],
+ }),
+ ]"/>
+ <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_ta_wht_cmp_other')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'minus_report_line_ids': [ref('tax_report_tp_wht_per_other')],
+ }),
+ ]"/>
</record>
+
<record id="tax_wht_pers_3" model="account.tax.template">
<field name="chart_template_id" ref="chart"/>
<field name="name">Personal Withholding Tax 3% (Service)</field>
<field name="amount_type">percent</field>
<field name="amount" eval="-3"/>
- <field name="account_id" ref="a_wht"/>
- <field name="refund_account_id" ref="a_wht"/>
<field name="type_tax_use">purchase</field>
- <field name="tag_ids" eval="[(6,0,[ref('tag_th_15'),ref('tag_th_04')])]"/>
<field name="tax_group_id" ref="tax_group_3"/>
+ <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_ta_wht_per_service')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'plus_report_line_ids': [ref('tax_report_tp_wht_per_service')],
+ }),
+ ]"/>
+ <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_ta_wht_per_service')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'minus_report_line_ids': [ref('tax_report_tp_wht_per_service')],
+ }),
+ ]"/>
</record>
+
<record id="tax_wht_pers_5" model="account.tax.template">
<field name="chart_template_id" ref="chart"/>
<field name="name">Personal Withholding Tax 5% (Rental)</field>
<field name="amount_type">percent</field>
<field name="amount" eval="-5"/>
- <field name="account_id" ref="a_wht"/>
- <field name="refund_account_id" ref="a_wht"/>
<field name="type_tax_use">purchase</field>
- <field name="tag_ids" eval="[(6,0,[ref('tag_th_05'),ref('tag_th_19')])]"/>
<field name="tax_group_id" ref="tax_group_5"/>
+ <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_ta_wht_cmp_other')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'plus_report_line_ids': [ref('tax_report_tp_wht_per_other')],
+ }),
+ ]"/>
+ <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_ta_wht_cmp_other')],
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht'),
+ 'minus_report_line_ids': [ref('tax_report_tp_wht_per_other')],
+ }),
+ ]"/>
</record>
+
<record id="tax_wht_income_1" model="account.tax.template">
<field name="chart_template_id" ref="chart"/>
<field name="name">Withholding Income Tax 1% (Transportation)</field>
<field name="amount_type">percent</field>
<field name="amount" eval="-1"/>
- <field name="account_id" ref="a_wht_income"/>
- <field name="refund_account_id" ref="a_wht_income"/>
<field name="type_tax_use">sale</field>
<field name="tax_group_id" ref="tax_group_1"/>
+ <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht_income'),
+ }),
+ ]"/>
+ <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht_income'),
+ }),
+ ]"/>
</record>
+
<record id="tax_wht_income_2" model="account.tax.template">
<field name="chart_template_id" ref="chart"/>
<field name="name">Withholding Income Tax 2% (Advertising)</field>
<field name="amount_type">percent</field>
<field name="amount" eval="-2"/>
- <field name="account_id" ref="a_wht_income"/>
- <field name="refund_account_id" ref="a_wht_income"/>
<field name="type_tax_use">sale</field>
<field name="tax_group_id" ref="tax_group_2"/>
+ <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht_income'),
+ }),
+ ]"/>
+ <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht_income'),
+ }),
+ ]"/>
</record>
+
<record id="tax_wht_income_3" model="account.tax.template">
<field name="chart_template_id" ref="chart"/>
<field name="name">Withholding Income Tax 3% (Service)</field>
<field name="amount_type">percent</field>
<field name="amount" eval="-3"/>
- <field name="account_id" ref="a_wht_income"/>
- <field name="refund_account_id" ref="a_wht_income"/>
<field name="type_tax_use">sale</field>
<field name="tax_group_id" ref="tax_group_3"/>
+ <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht_income'),
+ }),
+ ]"/>
+ <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht_income'),
+ }),
+ ]"/>
</record>
+
<record id="tax_wht_income_5" model="account.tax.template">
<field name="chart_template_id" ref="chart"/>
<field name="name">Withholding Income Tax 5% (Rental)</field>
<field name="amount_type">percent</field>
<field name="amount" eval="-5"/>
- <field name="account_id" ref="a_wht_income"/>
- <field name="refund_account_id" ref="a_wht_income"/>
<field name="type_tax_use">sale</field>
<field name="tax_group_id" ref="tax_group_5"/>
+ <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht_income'),
+ }),
+ ]"/>
+ <field name="refund_repartition_line_ids" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ }),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': ref('a_wht_income'),
+ }),
+ ]"/>
</record>
+
</odoo>
diff --git a/addons/l10n_th/data/l10n_th_chart_data.xml b/addons/l10n_th/data/l10n_th_chart_data.xml
index 30e9f8b8706..2d0cae99d8b 100644
--- a/addons/l10n_th/data/l10n_th_chart_data.xml
+++ b/addons/l10n_th/data/l10n_th_chart_data.xml
@@ -20,95 +20,4 @@
<field name="transfer_account_code_prefix">16</field>
<field name="currency_id" ref="base.THB"/>
</record>
-
-<!-- Account Tax Tags -->
-
- <record id="tag_th_01" model="account.account.tag">
- <field name="name">Taxes to be paid</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_02" model="account.account.tag">
- <field name="name">Withholding Tax</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_03" model="account.account.tag">
- <field name="name">Personal Withholding Tax</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_04" model="account.account.tag">
- <field name="name">Personal Withholding Tax (Service)</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_05" model="account.account.tag">
- <field name="name">Personal Withholding Tax (Other)</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_06" model="account.account.tag">
- <field name="name">Company Withholding Tax</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_07" model="account.account.tag">
- <field name="name">Company Withholding Tax (Service)</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_08" model="account.account.tag">
- <field name="name">Company Withholding Tax (Other)</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_09" model="account.account.tag">
- <field name="name">Value Added Tax</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_10" model="account.account.tag">
- <field name="name">Output VAT</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_11" model="account.account.tag">
- <field name="name">Input VAT</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_12" model="account.account.tag">
- <field name="name">Taxable amounts</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_13" model="account.account.tag">
- <field name="name">Withholding Tax</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_14" model="account.account.tag">
- <field name="name">Personal Withholding Tax</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_15" model="account.account.tag">
- <field name="name">Personal Withholding Tax (Service)</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_16" model="account.account.tag">
- <field name="name">Personal Withholding Tax (Other)</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_17" model="account.account.tag">
- <field name="name">Company Withholding Tax</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_18" model="account.account.tag">
- <field name="name">Company Withholding Tax (Service)</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_19" model="account.account.tag">
- <field name="name">Company Withholding Tax (Other)</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_20" model="account.account.tag">
- <field name="name">Value Added Tax</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_21" model="account.account.tag">
- <field name="name">Output VAT</field>
- <field name="applicability">taxes</field>
- </record>
- <record id="tag_th_22" model="account.account.tag">
- <field name="name">Input VAT</field>
- <field name="applicability">taxes</field>
- </record>
</odoo>