[ADD] l10n_in : ADD Reverse Charge Tax
Reverse charge is a mechanism under which the recipient of the goods or services is liable to pay the tax instead of the provider of the goods and services.
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
"p10051","SGST Receivable","10051","account.data_account_type_current_assets","l10n_in.indian_chart_template_standard","l10n_in.sgst_tag_account","False"
|
||||
"p10052","CGST Receivable","10052","account.data_account_type_current_assets","l10n_in.indian_chart_template_standard","l10n_in.cgst_tag_account","False"
|
||||
"p10053","IGST Receivable","10053","account.data_account_type_current_assets","l10n_in.indian_chart_template_standard","l10n_in.igst_tag_account","False"
|
||||
"p10057","Reverse Charge Tax Receivable","10057","account.data_account_type_current_assets","l10n_in.indian_chart_template_standard","","False"
|
||||
"p10054","TDS Receivable","10058","account.data_account_type_current_assets","l10n_in.indian_chart_template_standard","","False"
|
||||
"p10061","Deposit Account","10061","account.data_account_type_current_assets","l10n_in.indian_chart_template_standard","","False"
|
||||
"p10071","Prepaid Insurance","10071","account.data_account_type_current_assets","l10n_in.indian_chart_template_standard","","False"
|
||||
|
||||
|
@@ -137,4 +137,75 @@
|
||||
<field name="tax_dest_id" ref="igst_purchase_28"/>
|
||||
</record>
|
||||
|
||||
<record model="account.fiscal.position.template" id="fiscal_position_in_reverse_charge_intra">
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
<field name="name">Reverse charge Intra State</field>
|
||||
</record>
|
||||
|
||||
<record id="account_fiscal_position_tax_in_purchase_1_intra_rc" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_reverse_charge_intra"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_1"/>
|
||||
<field name="tax_dest_id" ref="sgst_purchase_1_rc"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_2_intra_rc" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_reverse_charge_intra"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_2"/>
|
||||
<field name="tax_dest_id" ref="sgst_purchase_2_rc"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_5_intra_rc" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_reverse_charge_intra"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_5"/>
|
||||
<field name="tax_dest_id" ref="sgst_purchase_5_rc"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_12_intra_rc" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_reverse_charge_intra"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_12"/>
|
||||
<field name="tax_dest_id" ref="sgst_purchase_12_rc"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_18_intra_rc" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_reverse_charge_intra"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_18"/>
|
||||
<field name="tax_dest_id" ref="sgst_purchase_18_rc"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_28_intra_rc" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_reverse_charge_intra"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_28"/>
|
||||
<field name="tax_dest_id" ref="sgst_purchase_28_rc"/>
|
||||
</record>
|
||||
|
||||
<record model="account.fiscal.position.template" id="fiscal_position_in_reverse_charge_inter">
|
||||
<field name="chart_template_id" ref="indian_chart_template_standard"/>
|
||||
<field name="name">Reverse charge Inter State</field>
|
||||
</record>
|
||||
|
||||
<record id="account_fiscal_position_tax_in_purchase_1_rc_inter_rc" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_reverse_charge_inter"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_1"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_1_rc"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_2_rc_inter_rc" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_reverse_charge_inter"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_2"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_2_rc"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_5_rc_inter_rc" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_reverse_charge_inter"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_5"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_5_rc"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_12_rc_inter_rc" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_reverse_charge_inter"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_12"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_12_rc"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_18_rc_inter_rc" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_reverse_charge_inter"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_18"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_18_rc"/>
|
||||
</record>
|
||||
<record id="account_fiscal_position_tax_in_purchase_28_rc_inter_rc" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_in_reverse_charge_inter"/>
|
||||
<field name="tax_src_id" ref="sgst_purchase_28"/>
|
||||
<field name="tax_dest_id" ref="igst_purchase_28_rc"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -207,17 +207,17 @@ class L10nInAccountInvoiceReport(models.Model):
|
||||
ELSE ''
|
||||
END) as gst_format_shipping_bill_date,
|
||||
CASE WHEN tag_rep_ln.account_tax_report_line_id IN
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name='tax_report_line_igst')
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name in ('tax_report_line_igst', 'tax_report_line_igst_rc'))
|
||||
THEN aml.balance
|
||||
ELSE 0
|
||||
END AS igst_amount,
|
||||
CASE WHEN tag_rep_ln.account_tax_report_line_id IN
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name='tax_report_line_cgst')
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name in ('tax_report_line_cgst', 'tax_report_line_cgst_rc'))
|
||||
THEN aml.balance
|
||||
ELSE 0
|
||||
END AS cgst_amount,
|
||||
CASE WHEN tag_rep_ln.account_tax_report_line_id IN
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name='tax_report_line_sgst')
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name in ('tax_report_line_sgst', 'tax_report_line_sgst_rc'))
|
||||
THEN aml.balance
|
||||
ELSE 0
|
||||
END AS sgst_amount,
|
||||
@@ -226,14 +226,14 @@ class L10nInAccountInvoiceReport(models.Model):
|
||||
JOIN account_account_tag aat_temp ON aat_temp.id = aat_aml_rel_temp.account_account_tag_id
|
||||
JOIN account_tax_report_line_tags_rel tag_rep_ln_temp ON aat_temp.id = tag_rep_ln_temp.account_account_tag_id
|
||||
where temp_aml.move_id = aml.move_id and temp_aml.product_id = aml.product_id
|
||||
and tag_rep_ln_temp.account_tax_report_line_id IN (SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name='tax_report_line_cess')
|
||||
and tag_rep_ln_temp.account_tax_report_line_id IN (SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name in ('tax_report_line_cess', 'tax_report_line_cess_rc'))
|
||||
) AS cess_amount,
|
||||
CASE WHEN tag_rep_ln.account_tax_report_line_id IN
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name='tax_report_line_sgst') OR at.l10n_in_reverse_charge = True
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name in ('tax_report_line_sgst', 'tax_report_line_sgst_rc'))
|
||||
THEN NULL
|
||||
ELSE (CASE WHEN aml.tax_base_amount <> 0 THEN aml.tax_base_amount ELSE NULL END)
|
||||
END AS price_total,
|
||||
(CASE WHEN aj.type = 'sale' AND (am.move_type IS NULL OR am.move_type != 'out_refund') THEN -1 ELSE 1 END) AS amount_sign,
|
||||
(CASE WHEN (aj.type = 'sale' AND am.move_type != 'out_refund') or (aj.type = 'purchase' AND at.l10n_in_reverse_charge AND am.move_type != 'in_refund') THEN -1 ELSE 1 END) AS amount_sign,
|
||||
(CASE WHEN atr.parent_tax IS NOT NULL THEN atr.parent_tax
|
||||
ELSE at.id END) AS tax_id,
|
||||
(CASE WHEN atr.parent_tax IS NOT NULL THEN parent_at.amount
|
||||
@@ -265,7 +265,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','tax_report_line_zero_rated'))
|
||||
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', 'tax_report_line_igst_rc', 'tax_report_line_cgst_rc', 'tax_report_line_sgst_rc'))
|
||||
"""
|
||||
|
||||
def _group_by(self):
|
||||
|
||||
@@ -43,37 +43,37 @@ class L10nInProductHsnReport(models.Model):
|
||||
CASE WHEN pt.l10n_in_hsn_description IS NULL THEN '' ELSE pt.l10n_in_hsn_description END AS hsn_description,
|
||||
CASE WHEN uom.l10n_in_code IS NULL THEN '' ELSE uom.l10n_in_code END AS l10n_in_uom_code,
|
||||
CASE WHEN tag_rep_ln.account_tax_report_line_id IN
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name='tax_report_line_sgst') OR at.l10n_in_reverse_charge = True
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name in ('tax_report_line_sgst', 'tax_report_line_sgst_rc')) OR at.l10n_in_reverse_charge = True
|
||||
THEN 0
|
||||
ELSE aml.quantity
|
||||
END AS quantity,
|
||||
CASE WHEN tag_rep_ln.account_tax_report_line_id IN
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name='tax_report_line_igst')
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name in ('tax_report_line_igst', 'tax_report_line_igst_rc'))
|
||||
THEN aml.balance * (CASE WHEN aj.type = 'sale' THEN -1 ELSE 1 END)
|
||||
ELSE 0
|
||||
END AS igst_amount,
|
||||
CASE WHEN tag_rep_ln.account_tax_report_line_id IN
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name='tax_report_line_cgst')
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name in ('tax_report_line_cgst', 'tax_report_line_cgst_rc'))
|
||||
THEN aml.balance * (CASE WHEN aj.type = 'sale' THEN -1 ELSE 1 END)
|
||||
ELSE 0
|
||||
END AS cgst_amount,
|
||||
CASE WHEN tag_rep_ln.account_tax_report_line_id IN
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name='tax_report_line_sgst')
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name in ('tax_report_line_sgst', 'tax_report_line_sgst_rc'))
|
||||
THEN aml.balance * (CASE WHEN aj.type = 'sale' THEN -1 ELSE 1 END)
|
||||
ELSE 0
|
||||
END AS sgst_amount,
|
||||
CASE WHEN tag_rep_ln.account_tax_report_line_id IN
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name='tax_report_line_cess')
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name in ('tax_report_line_cess', 'tax_report_line_cess_rc'))
|
||||
THEN aml.balance * (CASE WHEN aj.type = 'sale' THEN -1 ELSE 1 END)
|
||||
ELSE 0
|
||||
END AS cess_amount,
|
||||
CASE WHEN tag_rep_ln.account_tax_report_line_id IN
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name='tax_report_line_sgst')
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name in ('tax_report_line_sgst', 'tax_report_line_sgst_rc'))
|
||||
THEN 0
|
||||
ELSE (CASE WHEN aml.tax_line_id IS NOT NULL THEN aml.tax_base_amount ELSE aml.balance * (CASE WHEN aj.type = 'sale' THEN -1 ELSE 1 END) END)
|
||||
END AS price_total,
|
||||
(CASE WHEN tag_rep_ln.account_tax_report_line_id IN
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name='tax_report_line_sgst')
|
||||
(SELECT res_id FROM ir_model_data WHERE module='l10n_in' AND name in ('tax_report_line_sgst', 'tax_report_line_sgst_rc'))
|
||||
THEN 0
|
||||
ELSE (CASE WHEN aml.tax_line_id IS NOT NULL THEN aml.tax_base_amount ELSE 1 END)
|
||||
END) + (aml.balance * (CASE WHEN aj.type = 'sale' THEN -1 ELSE 1 END)) AS total
|
||||
|
||||
Reference in New Issue
Block a user