mirror of
https://github.com/bringout/oca-ocb-l10n_asia-pacific.git
synced 2026-04-26 19:22:02 +02:00
19.0 vanilla
This commit is contained in:
parent
7dc55599c6
commit
7f43bbbfcc
650 changed files with 45260 additions and 33436 deletions
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="account_account_tds_tcs_view_form_inherit" model="ir.ui.view">
|
||||
<field name="name">account.account.tds.tcs.view.form.inherit</field>
|
||||
<field name="model">account.account</field>
|
||||
<field name="inherit_id" ref="account.view_account_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='tax_ids']" position="after">
|
||||
<field name="l10n_in_tds_tcs_section_id" invisible="company_fiscal_country_code != 'IN' or (not l10n_in_tds_feature_enabled and not l10n_in_tcs_feature_enabled)"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="account_account_tds_tcs_view_tree_inherit" model="ir.ui.view">
|
||||
<field name="name">account.account.tds.tcs.view.list.inherit</field>
|
||||
<field name="model">account.account</field>
|
||||
<field name="inherit_id" ref="account.view_account_list"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='account_type']" position="after">
|
||||
<field name="l10n_in_tds_tcs_section_id" optional="hide"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -5,32 +5,116 @@
|
|||
<field name="model">account.move</field>
|
||||
<field name="inherit_id" ref="account.view_move_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//sheet" position="before">
|
||||
<div class="alert alert-warning mt-1 mb-1" role="alert" invisible="not l10n_in_warning">
|
||||
<div>
|
||||
<field name="l10n_in_warning" widget="actionable_errors"/>
|
||||
</div>
|
||||
</div>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='ref']" position="after">
|
||||
<field name="country_code" invisible="1"/>
|
||||
<field name="l10n_in_journal_type" invisible="1"/>
|
||||
<field name="l10n_in_state_id" domain="[('country_id.code', '=', 'IN')]" options="{'no_create': True, 'no_open': True}"
|
||||
attrs="{'invisible': ['|', ('country_code', '!=', 'IN'), ('move_type', '=', 'entry')], 'required': [('country_code', '=', 'IN'), ('move_type', '!=', 'entry'), ('l10n_in_journal_type', 'in', ('sale', 'purchase'))], 'readonly': [('state', '!=', 'draft')]}"/>
|
||||
<field name="l10n_in_state_id" domain="[('country_id.code', '=', 'IN')]"
|
||||
options="{'no_create': True, 'no_open': True}"
|
||||
invisible="country_code != 'IN' or not l10n_in_is_gst_registered_enabled or move_type == 'entry'"
|
||||
readonly="state != 'draft'"
|
||||
required="country_code == 'IN' and l10n_in_is_gst_registered_enabled and state == 'draft' and move_type != 'entry' and l10n_in_journal_type in ('sale', 'purchase')"/>
|
||||
<field name="l10n_in_gst_treatment"
|
||||
attrs="{'invisible': ['|', ('country_code', '!=', 'IN'), ('move_type', '=', 'entry')], 'required': [('country_code', '=', 'IN'), ('move_type', '!=', 'entry')], 'readonly': [('state', '!=', 'draft')]}"/>
|
||||
invisible="country_code != 'IN' or not l10n_in_is_gst_registered_enabled or move_type == 'entry'"
|
||||
readonly="state != 'draft'"
|
||||
required="country_code == 'IN' and l10n_in_is_gst_registered_enabled and state == 'draft' and move_type != 'entry'"/>
|
||||
<label for="l10n_in_partner_gstin_status"
|
||||
invisible="not l10n_in_show_gstin_status"/>
|
||||
<div name="status_date_container"
|
||||
invisible="not l10n_in_show_gstin_status">
|
||||
<field name="l10n_in_partner_gstin_status" class="d-none"/>
|
||||
<span class="text-nowrap" readonly="1">
|
||||
<span invisible="not l10n_in_partner_gstin_status"
|
||||
class="oe_inline text-success">Active</span>
|
||||
<span invisible="not l10n_in_gstin_verified_date or l10n_in_partner_gstin_status"
|
||||
class="oe_inline text-danger">Inactive</span>
|
||||
<span class="text-muted oe_inline">
|
||||
<span invisible="l10n_in_gstin_verified_date">Not Checked</span>
|
||||
<span invisible="not l10n_in_gstin_verified_date" class="ps-3">Checked: </span>
|
||||
<field name="l10n_in_gstin_verified_date" class="oe_inline" widget="remaining_days"/>
|
||||
<button name="l10n_in_verify_partner_gstin_status"
|
||||
type="object" icon="fa-refresh"
|
||||
class="oe_link p-0 ps-3" title="Verify GSTIN status" />
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<field name="reversed_entry_id" domain="[('move_type', '=', 'out_invoice'), ('commercial_partner_id', '=', commercial_partner_id)]" readonly="state != 'draft'" invisible="move_type != 'out_refund' or country_code != 'IN'"/>
|
||||
</xpath>
|
||||
<xpath expr="//page[@id='other_tab']/group[@id='other_tab_group']" position="after">
|
||||
<group string="Export India" attrs="{'invisible': ['|', ('l10n_in_gst_treatment', 'not in', ['overseas', 'deemed_export']), ('move_type', 'not in', ['out_invoice', 'out_refund'])]}">
|
||||
<field name="l10n_in_shipping_bill_number"/>
|
||||
<field name="l10n_in_shipping_bill_date"/>
|
||||
<field name="l10n_in_shipping_port_code_id"/>
|
||||
<group string="Export India" invisible="l10n_in_gst_treatment not in ['overseas', 'deemed_export'] or move_type not in ['out_invoice', 'out_refund']">
|
||||
<field name="l10n_in_shipping_bill_number" readonly="state != 'draft'"/>
|
||||
<field name="l10n_in_shipping_bill_date" readonly="state != 'draft'"/>
|
||||
<field name="l10n_in_shipping_port_code_id" readonly="state != 'draft'"/>
|
||||
</group>
|
||||
<group string="Import India" attrs="{'invisible': ['|', ('l10n_in_gst_treatment', 'not in', ['overseas', 'special_economic_zone']), ('move_type', 'not in', ['in_invoice', 'in_refund'])]}">
|
||||
<field name="l10n_in_shipping_bill_number" string="Bill of Entry Number"/>
|
||||
<field name="l10n_in_shipping_bill_date" string="Bill of Entry Date"/>
|
||||
<field name="l10n_in_shipping_port_code_id"/>
|
||||
<group string="Import India" invisible="l10n_in_gst_treatment not in ['overseas', 'special_economic_zone'] or move_type not in ['in_invoice', 'in_refund']">
|
||||
<field name="l10n_in_shipping_bill_number" string="Bill of Entry Number" readonly="state != 'draft'"/>
|
||||
<field name="l10n_in_shipping_bill_date" string="Bill of Entry Date" readonly="state != 'draft'"/>
|
||||
<field name="l10n_in_shipping_port_code_id" readonly="state != 'draft'"/>
|
||||
</group>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='partner_id']" position="after">
|
||||
<xpath expr="//field[@name='partner_shipping_id']" position="before">
|
||||
<field name="l10n_in_reseller_partner_id"
|
||||
groups="l10n_in.group_l10n_in_reseller"
|
||||
attrs="{'invisible': ['|', '|',('move_type', 'not in', ('out_invoice', 'out_refund')), ('country_code', '!=', 'IN'), ('move_type', '=', 'entry')]}"
|
||||
/>
|
||||
invisible="move_type not in ('out_invoice', 'out_refund') or country_code != 'IN' or move_type == 'entry'"
|
||||
readonly="state != 'draft'"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='invoice_line_ids']/list//field[@name='product_id']" position="after">
|
||||
<field name="l10n_in_hsn_code" optional="hide" column_invisible="parent.country_code != 'IN'"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='journal_line_ids' or @name='line_ids']/list//field[@name='name']" position="after">
|
||||
<field name="l10n_in_hsn_code" optional="hide" column_invisible="parent.country_code != 'IN'"/>
|
||||
</xpath>
|
||||
<xpath expr="//header" position="inside">
|
||||
<button name="%(l10n_in_withholding_entry_form_action)d" string="TDS Entry" type="action" class="btn btn-secondary float-end"
|
||||
invisible="country_code != 'IN' or l10n_in_tds_deduction == 'no' or not l10n_in_tds_feature_enabled or move_type not in ('out_invoice', 'in_invoice', 'out_refund', 'in_refund') or state != 'posted'"/>
|
||||
<button name="action_l10n_in_apply_higher_tax" string="Apply Higher TCS" type="object" class="btn btn-secondary float-end"
|
||||
invisible="not l10n_in_display_higher_tcs_button or not l10n_in_tcs_feature_enabled"/>
|
||||
</xpath>
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button name="action_l10n_in_withholding_entries"
|
||||
class="oe_stat_button"
|
||||
type="object"
|
||||
icon="fa-list-alt"
|
||||
invisible="not l10n_in_tds_feature_enabled or not l10n_in_withhold_move_ids">
|
||||
<div class="o_field_widget o_stat_info">
|
||||
<span class="o_stat_text">TDS</span>
|
||||
<span class="o_stat_value"><field name="l10n_in_total_withholding_amount"/></span>
|
||||
</div>
|
||||
</button>
|
||||
</xpath>
|
||||
<xpath expr="//notebook/page[@id='aml_tab']" position="before">
|
||||
<page name="withholding_tab" string="TDS Information" invisible="not l10n_in_tds_feature_enabled or not l10n_in_withholding_line_ids">
|
||||
<field name="l10n_in_withholding_line_ids" nolabel="1" colspan="4">
|
||||
<list editable="bottom" string="TDS Information">
|
||||
<field name="tax_ids" string="Tax" widget="many2many_tax_tags"/>
|
||||
<field name="price_subtotal" string="Base Amount" sum="Total"/>
|
||||
<field name="l10n_in_withhold_tax_amount" string="TDS Amount" sum="Total"/>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_move_line_list_l10n_in_withholding" model="ir.ui.view">
|
||||
<field name="name">account.move.line.list.l10n.in.withholding</field>
|
||||
<field name="model">account.move.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Journal items" editable="top" create="0" default_group_by="l10n_in_tds_tcs_section_id">
|
||||
<field name="product_id" readonly="1"/>
|
||||
<field name="name" widget="section_and_note_text"/>
|
||||
<field name="account_id"/>
|
||||
<field name="tax_ids"
|
||||
widget="many2many_tax_tags"
|
||||
domain="[('type_tax_use', '=', context.get('default_tax_type_use'))]"
|
||||
column_invisible="context.get('move_type')"/>
|
||||
<field name="l10n_in_tds_tcs_section_id" string="Suggested Section"/>
|
||||
<field name="price_total"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
|
|||
|
|
@ -5,14 +5,11 @@
|
|||
<field name="model">account.journal</field>
|
||||
<field name="inherit_id" ref="account.view_account_journal_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name='profit_account_id' position="attributes">
|
||||
<attribute name="attrs">{'invisible': ['|', '&', ('country_code', '!=', 'IN'), ('type', '!=', 'cash'), '&', ('country_code', '=', 'IN'), ('type', 'not in', ['bank', 'cash', 'sale', 'purchase'])]}</attribute>
|
||||
<field name="profit_account_id" position="attributes">
|
||||
<attribute name="invisible">country_code != 'IN' and type != 'cash' or country_code == 'IN' and type not in ['bank', 'cash', 'sale', 'purchase']</attribute>
|
||||
</field>
|
||||
<field name='loss_account_id' position="attributes">
|
||||
<attribute name="attrs">{'invisible': ['|', '&', ('country_code', '!=', 'IN'), ('type', '!=', 'cash'), '&', ('country_code', '=', 'IN'), ('type', 'not in', ['bank', 'cash', 'sale', 'purchase'])]}</attribute>
|
||||
</field>
|
||||
<field name="company_id" position="after">
|
||||
<field name="l10n_in_gstin_partner_id" context="{'show_vat':True}" options='{"no_create": True,"always_reload": True}' attrs="{'invisible': [('country_code', '!=', 'IN')]}"/>
|
||||
<field name="loss_account_id" position="attributes">
|
||||
<attribute name="invisible">country_code != 'IN' and type != 'cash' or country_code == 'IN' and type not in ['bank', 'cash', 'sale', 'purchase']</attribute>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_move_line_tree_hsn_l10n_in" model="ir.ui.view">
|
||||
<field name="name">account.move.line.list.l10n_in</field>
|
||||
<field name="model">account.move.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Products" editable="top" create="0">
|
||||
<field name="move_id"
|
||||
optional="show"
|
||||
column_invisible="not context.get('send_and_print')"/>
|
||||
<field name="product_id" readonly="1"/>
|
||||
<field name="name" widget="section_and_note_text"/>
|
||||
<field name="l10n_in_hsn_code"
|
||||
optional="show"
|
||||
column_invisible="context.get('tax_validation') or context.get('restrict_negative_discount_line')"/>
|
||||
<field name="tax_ids"
|
||||
optional="show"
|
||||
widget="many2many_tax_tags" domain="[('type_tax_use', '=', 'sale')]"
|
||||
column_invisible="not context.get('tax_validation', False)"/>
|
||||
<field name="discount"
|
||||
optional="show"
|
||||
column_invisible="not context.get('restrict_negative_discount_line', False)"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_move_line_tree_l10n_in" model="ir.ui.view">
|
||||
<field name="name">account.move.line.list.l10n_in</field>
|
||||
<field name="model">account.move.line</field>
|
||||
<field name="inherit_id" ref="account.view_move_line_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='credit']" position="after">
|
||||
<field name="l10n_in_gstr_section" optional="hide" readonly="1"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_account_payment_form_inherit_l10n_in_withholding" model="ir.ui.view">
|
||||
<field name="name">account.payment.form.inherit.l10n_in_withholding</field>
|
||||
<field name="model">account.payment</field>
|
||||
<field name="inherit_id" ref="account.view_account_payment_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//header" position="inside">
|
||||
<button name="%(l10n_in_withholding_entry_form_action)d" string="TDS Entry" type="action" class="btn btn-secondary float-end"
|
||||
invisible="country_code != 'IN' or not l10n_in_tds_feature_enabled or state not in ('in_process', 'paid') or is_reconciled"/>
|
||||
</xpath>
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button name="action_l10n_in_withholding_entries"
|
||||
class="oe_stat_button"
|
||||
type="object"
|
||||
icon="fa-list-alt"
|
||||
invisible="not l10n_in_tds_feature_enabled or not l10n_in_withhold_move_ids">
|
||||
<div class="o_field_widget o_stat_info">
|
||||
<span class="o_stat_text">TDS</span>
|
||||
<span class="o_stat_value"><field name="l10n_in_total_withholding_amount"/></span>
|
||||
</div>
|
||||
</button>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -5,9 +5,16 @@
|
|||
<field name="model">account.tax</field>
|
||||
<field name="inherit_id" ref="account.view_tax_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="is_base_affected" position="after">
|
||||
<field name="l10n_in_reverse_charge" attrs="{'invisible':['|', ('amount_type','=', 'group'), ('country_code', '!=', 'IN')]}"/>
|
||||
<field name="tax_scope" position="after">
|
||||
<field name="l10n_in_tax_type" invisible="amount_type == 'group' or country_code != 'IN'"/>
|
||||
</field>
|
||||
<field name="is_base_affected" position="after">
|
||||
<field name="l10n_in_reverse_charge" invisible="amount_type == 'group' or country_code != 'IN' or l10n_in_tax_type != 'gst'"/>
|
||||
<field name="l10n_in_is_lut" invisible="amount_type == 'group' or country_code != 'IN' or l10n_in_tax_type != 'gst'"/>
|
||||
</field>
|
||||
<xpath expr="//field[@name='tax_group_id']" position="after">
|
||||
<field name="l10n_in_section_id" invisible="country_code != 'IN' or not (l10n_in_tds_feature_enabled and l10n_in_tcs_feature_enabled) or l10n_in_tax_type not in ['tcs', 'tds_sale', 'tds_purchase']"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="l10n_in_pan_entity_view_form" model="ir.ui.view">
|
||||
<field name="name">l10n_in.pan.entity.view.form</field>
|
||||
<field name="model">l10n_in.pan.entity</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="PAN Entity">
|
||||
<div class="alert alert-warning w-100 d-flex align-items-center gap-1" invisible="tds_deduction != 'lower' or message_attachment_count" role="alert">
|
||||
<span>Attaching a certificate would provide better clarity and understanding.</span>
|
||||
</div>
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name" help="Permanent Account Number"/>
|
||||
<field name="type"/>
|
||||
<field name="partner_ids" widget="many2many_tags_avatar" options="{'no_create': True}"/>
|
||||
<field name="tds_deduction" required="1"/>
|
||||
<field name="tds_certificate"
|
||||
widget="binary"
|
||||
filename="tds_certificate_filename"
|
||||
options="{'accepted_file_extensions': '.pdf', 'allowed_mime_type' : 'application/pdf'}"
|
||||
/>
|
||||
<field name="tds_certificate_filename" invisible="1"/> <!-- Hidden field to store the filename of the uploaded certificate -->
|
||||
</group>
|
||||
<group>
|
||||
<field name="msme_type"/>
|
||||
<field name="msme_number" placeholder="e.g. UDYAM-XX-00-0000000"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
<chatter/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="l10n_in_pan_entity_view_tree" model="ir.ui.view">
|
||||
<field name="name">l10n_in.pan.entity.view.tree</field>
|
||||
<field name="model">l10n_in.pan.entity</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="PAN Entity">
|
||||
<field name="name"/>
|
||||
<field name="type"/>
|
||||
<field name="partner_ids" widget="many2many_tags_avatar" options="{'no_create': True}"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="l10n_in_pan_entity_action" model="ir.actions.act_window">
|
||||
<field name="name">PAN Entity</field>
|
||||
<field name="res_model">l10n_in.pan.entity</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
id="menu_l10n_in_pan_entity"
|
||||
name="PAN Entity"
|
||||
parent="account.account_transactions_menu"
|
||||
action="l10n_in_pan_entity_action"
|
||||
/>
|
||||
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<odoo>
|
||||
<record id="l10n_in_section_alert_view_tree" model="ir.ui.view">
|
||||
<field name="name">l10n_in.section.alert.view.list</field>
|
||||
<field name="model">l10n_in.section.alert</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Section">
|
||||
<field name="name"/>
|
||||
<field name="tax_source_type"/>
|
||||
<field name="consider_amount"/>
|
||||
<field name="per_transaction_limit"/>
|
||||
<field name="aggregate_limit"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="l10n_in_section_alert_view_form" model="ir.ui.view">
|
||||
<field name="name">l10n_in.section.alert.view.form</field>
|
||||
<field name="model">l10n_in.section.alert</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Section">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name" string="Section Name"/>
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group class="w-50" string="Threshold limits">
|
||||
<field name="consider_amount"/>
|
||||
<label for="is_per_transaction_limit"/>
|
||||
<div>
|
||||
<field class="w-25" name="is_per_transaction_limit" widget="boolean_toggle"/>
|
||||
<field class="w-25 text-center oe_inline" name="per_transaction_limit" invisible="not is_per_transaction_limit"/>
|
||||
</div>
|
||||
<label for="is_aggregate_limit"/>
|
||||
<div>
|
||||
<field class="w-25" name="is_aggregate_limit" widget="boolean_toggle"/>
|
||||
<field class="w-25 text-center oe_inline" name="aggregate_limit" invisible="not is_aggregate_limit"/>
|
||||
<field class="w-25" name="aggregate_period" invisible="not is_aggregate_limit"/>
|
||||
</div>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="l10n_in_section_alert_action" model="ir.actions.act_window">
|
||||
<field name="name">Section</field>
|
||||
<field name="res_model">l10n_in.section.alert</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -20,14 +20,14 @@
|
|||
</record>
|
||||
|
||||
<record id="l10n_in_port_code_tree_view" model="ir.ui.view">
|
||||
<field name="name">l10n_in.port.code.tree</field>
|
||||
<field name="name">l10n_in.port.code.list</field>
|
||||
<field name="model">l10n_in.port.code</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="India Port Code">
|
||||
<list string="India Port Code">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="state_id"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -38,7 +38,7 @@
|
|||
<search string="India Port Code">
|
||||
<field name="name" string="Port" filter_domain="['|',('name', 'ilike', self),('code', 'ilike', self)]"/>
|
||||
<field name="state_id"/>
|
||||
<group expand="0" string="Group By">
|
||||
<group>
|
||||
<filter string="State" name="state" domain="[]" context="{'group_by': 'state_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
|
|
|
|||
|
|
@ -6,9 +6,13 @@
|
|||
<field name="model">product.template</field>
|
||||
<field name="inherit_id" ref="product.product_template_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//sheet" position="before">
|
||||
<div class="alert alert-warning" role="alert" invisible="'IN' not in fiscal_country_codes or not l10n_in_hsn_warning">
|
||||
<field name="l10n_in_hsn_warning"/>
|
||||
</div>
|
||||
</xpath>
|
||||
<field name="categ_id" position="after">
|
||||
<field name="l10n_in_hsn_code"/>
|
||||
<field name="l10n_in_hsn_description"/>
|
||||
<field name="l10n_in_hsn_code" widget="l10n_in_hsn_autocomplete" invisible="'IN' not in fiscal_country_codes or not l10n_in_is_gst_registered_enabled"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
|||
|
|
@ -2,10 +2,19 @@
|
|||
<odoo>
|
||||
<template id="l10n_in_report_invoice_document_inherit" inherit_id="account.report_invoice_document" primary="True">
|
||||
<xpath expr="//div[@name='shipping_address_block']" position="inside">
|
||||
<div t-if="o.company_id.account_fiscal_country_id.code == 'IN' and o.partner_shipping_id.vat">
|
||||
<div t-if="o.company_id.account_fiscal_country_id.code == 'IN' and o.company_id.l10n_in_is_gst_registered and o.partner_shipping_id.vat">
|
||||
GSTIN: <span t-field="o.partner_shipping_id.vat"/>
|
||||
</div>
|
||||
</xpath>
|
||||
<xpath expr="//div[@id='partner_vat_address_same_as_shipping']" position="attributes">
|
||||
<attribute name="t-if" add="o.company_id.l10n_in_is_gst_registered" separator="and"/>
|
||||
</xpath>
|
||||
<xpath expr="//div[@id='partner_vat_address_not_same_as_shipping']" position="attributes">
|
||||
<attribute name="t-if" add="o.company_id.l10n_in_is_gst_registered" separator="and"/>
|
||||
</xpath>
|
||||
<xpath expr="//div[@id='partner_vat_no_shipping']" position="attributes">
|
||||
<attribute name="t-if" add="o.company_id.l10n_in_is_gst_registered" separator="and"/>
|
||||
</xpath>
|
||||
<xpath expr="//div[@name='address_not_same_as_shipping']//t[@t-set='address']" position="inside">
|
||||
<t t-call="l10n_in.place_of_supply"/>
|
||||
</xpath>
|
||||
|
|
@ -15,45 +24,110 @@
|
|||
<xpath expr="//div[@name='no_shipping']//t[@t-set='address']" position="inside">
|
||||
<t t-call="l10n_in.place_of_supply"/>
|
||||
</xpath>
|
||||
<xpath expr="//div[@t-if='not is_html_empty(o.narration)']" position="before">
|
||||
<t t-if="o.company_id.account_fiscal_country_id.code == 'IN'">
|
||||
<p id="total_in_words" class="mb16">
|
||||
<strong>Total (In Words): </strong>
|
||||
<span t-field="o.amount_total_words"/>
|
||||
</p>
|
||||
</t>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//table[@name='invoice_line_table']/thead/tr/th[1]" position="after">
|
||||
<t t-if="o.company_id.account_fiscal_country_id.code == 'IN'">
|
||||
<t t-if="o.company_id.account_fiscal_country_id.code == 'IN' and o.company_id.l10n_in_is_gst_registered">
|
||||
<th>HSN/SAC</th>
|
||||
</t>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//t[@name='account_invoice_line_accountable']/td[1]" position="after">
|
||||
<td t-if="o.company_id.account_fiscal_country_id.code == 'IN'">
|
||||
<span t-if="line.product_id.l10n_in_hsn_code" t-field="line.product_id.l10n_in_hsn_code"></span>
|
||||
<td t-if="o.company_id.account_fiscal_country_id.code == 'IN' and o.company_id.l10n_in_is_gst_registered">
|
||||
<span t-if="line.l10n_in_hsn_code" t-field="line.l10n_in_hsn_code"></span>
|
||||
</td>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//h2" position="replace" >
|
||||
<t t-if="o.company_id.account_fiscal_country_id.code == 'IN'">
|
||||
<h2>
|
||||
<span t-if="o.move_type == 'out_invoice' and o.state == 'posted'" t-field="o.journal_id.name"/>
|
||||
<span t-if="o.move_type == 'out_invoice' and o.state == 'draft'">Draft <span t-field="o.journal_id.name"/></span>
|
||||
<span t-if="o.move_type == 'out_invoice' and o.state == 'cancel'">Cancelled <span t-field="o.journal_id.name"/></span>
|
||||
<span t-if="o.move_type == 'out_refund'">Credit Note</span>
|
||||
<span t-if="o.move_type == 'in_refund'">Vendor Credit Note</span>
|
||||
<span t-if="o.move_type == 'in_invoice'">Vendor Bill</span>
|
||||
<span t-field="o.name"/>
|
||||
</h2>
|
||||
<xpath expr="//t[@name='account_invoice_line_accountable']/following-sibling::*[1]/td[1]" position="after">
|
||||
<td t-if="o.company_id.account_fiscal_country_id.code == 'IN' and o.company_id.l10n_in_is_gst_registered"></td>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//div[@id='qrcode_info']" position="attributes">
|
||||
<attribute name="t-if" add="o.company_id.account_fiscal_country_id.code != 'IN'" separator="and"/>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//div[@id='qrcode_info']" position="after">
|
||||
<t t-if="o.company_id.account_fiscal_country_id.code == 'IN' and o.company_id.l10n_in_upi_id">
|
||||
<div style="display:-webkit-flex;" class="flex-column">
|
||||
<strong>PAYMENT QR CODE</strong>
|
||||
<div class="mt-1 mb-1">
|
||||
<p class="mb-0">UPI ID:</p>
|
||||
<span class="mb-0" t-field="o.company_id.l10n_in_upi_id"/>
|
||||
</div>
|
||||
<div class="d-flex flex-row" t-attf-style="#{'-webkit-transform:translateX(-0.5rem);' if report_type != 'html' else '-webkit-transform:translate(-0.5rem,-0.8rem);'}">
|
||||
<img src="/l10n_in/static/src/img/PhonePe-Logo.svg" style="width:4.5rem;"/>
|
||||
<img src="/l10n_in/static/src/img/Google_Pay-Logo.svg" style="width:3.5rem;"/>
|
||||
<img src="/l10n_in/static/src/img/Paytm-Logo.svg" style="width:4rem;"/>
|
||||
<img src="/l10n_in/static/src/img/Upi-logo.svg" t-attf-style="#{'' if report_type != 'html' else 'padding:0.5rem;'} width:4rem;"/>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</xpath>
|
||||
|
||||
<t name="invoice_title" position="replace">
|
||||
<t name="invoice_title">
|
||||
<span t-out="o._get_l10n_in_invoice_label()"/>
|
||||
</t>
|
||||
</t>
|
||||
<t name="proforma_invoice_title" position="replace">
|
||||
<t name="proforma_invoice_title">
|
||||
Proforma <span t-out="o._get_l10n_in_invoice_label()"/>
|
||||
</t>
|
||||
</t>
|
||||
|
||||
<xpath expr="//div[@id='payment_term']" position="after">
|
||||
<t t-if="o.company_id.account_fiscal_country_id.code == 'IN' and o.company_id.l10n_in_is_gst_registered">
|
||||
<t t-set="hsn_summary" t-value="o._l10n_in_get_hsn_summary_table()"/>
|
||||
<t t-if="hsn_summary">
|
||||
<div name="l10n_in_hsn_summary" class="mt-3" style="page-break-inside: avoid;">
|
||||
<h4>HSN Summary</h4>
|
||||
<table class="table table-sm table-borderless col-6">
|
||||
<thead>
|
||||
<th>HSN/SAC</th>
|
||||
<th class="text-end">Quantity</th>
|
||||
<th class="text-end">Rate %</th>
|
||||
<th class="text-end">Taxable Value</th>
|
||||
<th class="text-end" t-if="hsn_summary['has_gst']">SGST/UTGST</th>
|
||||
<th class="text-end" t-if="hsn_summary['has_gst']">CGST</th>
|
||||
<th class="text-end" t-if="hsn_summary['has_igst']">IGST</th>
|
||||
<th class="text-end" t-if="hsn_summary['has_cess']">CESS</th>
|
||||
</thead>
|
||||
<tr t-foreach="hsn_summary['items']" t-as="item">
|
||||
<td t-esc="item['l10n_in_hsn_code']"/>
|
||||
<td class="text-end">
|
||||
<span t-esc="item['quantity']"/>
|
||||
<span t-if="hsn_summary['display_uom']">(<t t-esc="item['uom_name']"/>)</span>
|
||||
</td>
|
||||
<td class="text-end" t-esc="item['rate']"/>
|
||||
<td class="text-end">
|
||||
<span t-esc="item['amount_untaxed']"
|
||||
t-options="{'widget': 'monetary', 'display_currency': o.currency_id}"/>
|
||||
</td>
|
||||
<td class="text-end" t-if="hsn_summary['has_gst']">
|
||||
<span t-esc="item['tax_amount_sgst']"
|
||||
t-options="{'widget': 'monetary', 'display_currency': o.currency_id}"/>
|
||||
</td>
|
||||
<td class="text-end" t-if="hsn_summary['has_gst']">
|
||||
<span t-esc="item['tax_amount_cgst']"
|
||||
t-options="{'widget': 'monetary', 'display_currency': o.currency_id}"/>
|
||||
</td>
|
||||
<td class="text-end" t-if="hsn_summary['has_igst']">
|
||||
<span t-esc="item['tax_amount_igst']"
|
||||
t-options="{'widget': 'monetary', 'display_currency': o.currency_id}"/>
|
||||
</td>
|
||||
<td class="text-end" t-if="hsn_summary['has_cess']">
|
||||
<span t-esc="item['tax_amount_cess']"
|
||||
t-options="{'widget': 'monetary', 'display_currency': o.currency_id}"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</t>
|
||||
</t>
|
||||
<t t-else="">$0</t>
|
||||
</xpath>
|
||||
|
||||
</template>
|
||||
|
||||
<!-- Workarounds for Studio reports, see odoo/odoo#60660 -->
|
||||
<!-- Workaround for Studio reports, see odoo/odoo#60660 -->
|
||||
<template id="report_invoice" inherit_id="account.report_invoice">
|
||||
<xpath expr='//t[@t-call="account.report_invoice_document"]' position="after">
|
||||
<t t-elif="o._get_name_invoice_report() == 'l10n_in.l10n_in_report_invoice_document_inherit'"
|
||||
|
|
@ -62,16 +136,8 @@
|
|||
</xpath>
|
||||
</template>
|
||||
|
||||
<template id="report_invoice_with_payments" inherit_id="account.report_invoice_with_payments">
|
||||
<xpath expr='//t[@t-call="account.report_invoice_document"]' position="after">
|
||||
<t t-elif="o._get_name_invoice_report() == 'l10n_in.l10n_in_report_invoice_document_inherit'"
|
||||
t-call="l10n_in.l10n_in_report_invoice_document_inherit"
|
||||
t-lang="lang"/>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<template id="place_of_supply">
|
||||
<div t-if="o.l10n_in_state_id">
|
||||
<div t-if="o.company_id.l10n_in_is_gst_registered and o.l10n_in_state_id">
|
||||
Place of supply: <span t-out="o.l10n_in_state_id.name" />
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- get vat from journal_id for all layout -->
|
||||
<template id="l10n_in_external_layout" inherit_id="web.external_layout">
|
||||
<xpath expr="//t[@t-if='company.external_report_layout_id']" position="before">
|
||||
<t t-if="o and 'journal_id' in o and company.country_id.code == 'IN' and o.journal_id.l10n_in_gstin_partner_id.vat">
|
||||
<t t-set="forced_vat" t-value="o.journal_id.l10n_in_gstin_partner_id.vat"/>
|
||||
</t>
|
||||
<t t-elif="o and 'l10n_in_journal_id' in o and company.country_id.code == 'IN' and o.l10n_in_journal_id.l10n_in_gstin_partner_id.vat">
|
||||
<t t-set="forced_vat" t-value="o.l10n_in_journal_id.l10n_in_gstin_partner_id.vat"/>
|
||||
</t>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_company_form" model="ir.ui.view">
|
||||
<field name="name">res.company.form.inherit.l10n_in_upi</field>
|
||||
<field name="model">res.company</field>
|
||||
<field name="inherit_id" ref="base.view_company_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='currency_id']" position="after">
|
||||
<field name="l10n_in_upi_id" invisible="country_code != 'IN'"/>
|
||||
</xpath>
|
||||
<xpath expr="//label[@for='name']" position="attributes">
|
||||
<attribute name="invisible">l10n_in_pan_type</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//label[@for='name']" position="before">
|
||||
<field class="o_form_label mb-0" name="l10n_in_pan_type" invisible="not l10n_in_pan_type"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='vat']" position="after">
|
||||
<field name="l10n_in_pan_entity_id" invisible="country_code != 'IN'"/>
|
||||
<field name="l10n_in_tan" invisible="not l10n_in_pan_entity_id"/>
|
||||
</xpath>
|
||||
<xpath expr="//sheet" position="before">
|
||||
<div class="alert alert-warning mt-1 mb-1" role="alert" invisible="not l10n_in_gst_state_warning or country_code != 'IN'">
|
||||
<field name="l10n_in_gst_state_warning"/>
|
||||
<a name="action_update_state_as_per_gstin"
|
||||
string="update it"
|
||||
class="ms-1"
|
||||
invisible="country_code != 'IN'"
|
||||
type="object"/>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -5,22 +5,150 @@
|
|||
<field name="model">res.config.settings</field>
|
||||
<field name="inherit_id" ref="account.res_config_settings_view_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<div id="invoicing_settings" position="inside">
|
||||
<div class="col-xs-12 col-md-6 o_setting_box"
|
||||
name="ecommerce_reseller_setting"
|
||||
title="Manage Reseller(E-Commerce)"
|
||||
attrs="{'invisible': [('country_code', '!=', 'IN')]}">
|
||||
<div class="o_setting_left_pane">
|
||||
<field name="group_l10n_in_reseller"/>
|
||||
</div>
|
||||
<div class="o_setting_right_pane" name="l10n_eu_service_right_pane">
|
||||
<label for="group_l10n_in_reseller"/>
|
||||
<div class="text-muted">
|
||||
Use this if setup with Reseller(E-Commerce).
|
||||
<block id="invoicing_settings" position="inside">
|
||||
<setting help="Use this if setup with Reseller(E-Commerce)." name="ecommerce_reseller_setting" title="Manage Reseller(E-Commerce)" invisible="country_code != 'IN'">
|
||||
<field name="group_l10n_in_reseller"/>
|
||||
</setting>
|
||||
</block>
|
||||
<xpath expr="//block[@name='fiscal_localization_setting_container']" position="after">
|
||||
<div id="india_integration_section">
|
||||
<block title="Indian Integration" id="india_localization" invisible="country_code != 'IN'">
|
||||
<setting name="l10n_in_tds"
|
||||
help="Enable this to activate the Tax Deducted at Source (TDS) feature and the account-based TDS section suggestion."
|
||||
company_dependent="1"
|
||||
string="TDS"
|
||||
documentation="/applications/finance/fiscal_localizations/india.html">
|
||||
<field name="l10n_in_tds_feature"/>
|
||||
<div class="content-group" invisible="not l10n_in_tds_feature">
|
||||
<div class="row mt8">
|
||||
<label for="l10n_in_tan" class="col-lg-5 o_light_label" string="TAN"/>
|
||||
<field name="l10n_in_tan" required="l10n_in_tds_feature"/>
|
||||
</div>
|
||||
</div>
|
||||
</setting>
|
||||
<setting name="l10n_in_tcs"
|
||||
help="Enable this to activate the Tax Collected at Source (TCS) feature and the account-based TCS section suggestion."
|
||||
company_dependent="1"
|
||||
string="TCS"
|
||||
documentation="/applications/finance/fiscal_localizations/india.html">
|
||||
<field name="l10n_in_tcs_feature"/>
|
||||
</setting>
|
||||
<setting string="Registered Under GST"
|
||||
company_dependent="1"
|
||||
help="Enable this if you have GST number except composition scheme.">
|
||||
<field name="l10n_in_is_gst_registered"/>
|
||||
<div invisible="not l10n_in_is_gst_registered">
|
||||
<div id="india_gst_number" class="row">
|
||||
<label string="GST Number" for="l10n_in_gstin" class="col-lg-4 o_light_label"/>
|
||||
<field name="l10n_in_gstin" required="l10n_in_is_gst_registered"/>
|
||||
</div>
|
||||
</div>
|
||||
</setting>
|
||||
<t invisible="not l10n_in_is_gst_registered">
|
||||
<setting id="gsp_selection" string="GSP" help="Select BVM as GSP Tera is Deprecated" documentation="/applications/finance/fiscal_localizations/india.html">
|
||||
<div class="text-muted">
|
||||
Changes to this configuration will be automatically applied to all Indian companies.
|
||||
Please refer to the <a href="https://www.odoo.com/documentation/16.0/applications/finance/fiscal_localizations/india.html#nic-e-invoice-registration">documentation</a> for detailed guidance on accurate configuration.
|
||||
<div class="text-warning" invisible="l10n_in_gsp == 'bvm'">
|
||||
The current GSP is scheduled for deprecation soon.
|
||||
We strongly recommend switching to BVM GSP at the earliest to ensure uninterrupted service.
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-group">
|
||||
<div class="mt16 row">
|
||||
<field name="l10n_in_gsp" nolabel="1"/>
|
||||
</div>
|
||||
</div>
|
||||
</setting>
|
||||
<setting name="india_production_setting"
|
||||
company_dependent="1"
|
||||
string="Production Environment"
|
||||
help="Activate this to start using Indian services in the production environment."
|
||||
groups="base.group_no_one">
|
||||
<field name="l10n_in_edi_production_env"/>
|
||||
<div class='mt8'
|
||||
invisible="not l10n_in_edi_production_env or (not module_l10n_in_edi and not l10n_in_gstin_status_feature and not module_l10n_in_ewaybill and not l10n_in_gst_efiling_feature)">
|
||||
<button name="l10n_in_edi_buy_iap"
|
||||
title="Costs 1 credit per transaction. Free 200 credits will be available for the first time."
|
||||
icon="fa-arrow-right"
|
||||
type="object"
|
||||
string="Buy credits"
|
||||
class="btn-link"/>
|
||||
</div>
|
||||
</setting>
|
||||
<setting name="electronic_invoices_in"
|
||||
help="Connect to NIC (National Informatics Center) to submit invoices on posting."
|
||||
company_dependent="1"
|
||||
string="E-Invoicing"
|
||||
documentation="/applications/finance/fiscal_localizations/india.html#india-e-invoicing">
|
||||
<field name="module_l10n_in_edi"/>
|
||||
<div class="content-group" invisible="not module_l10n_in_edi">
|
||||
<div class="text-warning mt16 mb4">
|
||||
Save this page and come back here to set up the feature.
|
||||
</div>
|
||||
</div>
|
||||
</setting>
|
||||
<setting name="electronic_waybill_in"
|
||||
help="Connect to NIC (National Informatics Center) to submit e-waybill on posting."
|
||||
company_dependent="1"
|
||||
string="E-Way bill"
|
||||
documentation="/applications/finance/fiscal_localizations/india.html#india-e-waybill">
|
||||
<field name="module_l10n_in_ewaybill" class="oe_inline"/>
|
||||
<div class="content-group" invisible="not module_l10n_in_ewaybill">
|
||||
<div class="text-warning mt16 mb4">
|
||||
Save this page and come back here to set up the feature.
|
||||
</div>
|
||||
</div>
|
||||
</setting>
|
||||
<setting name="india_gstr"
|
||||
help="Connect to GST portal to submit GSTR-1 and get GSTR-2B"
|
||||
company_dependent="1"
|
||||
documentation="/applications/finance/fiscal_localizations/india.html#india-gstr">
|
||||
<field name="l10n_in_gst_efiling_feature" widget="upgrade_boolean"/>
|
||||
</setting>
|
||||
<setting name="india_gstin_status_api_settings"
|
||||
string="Check GST Number Status"
|
||||
company_dependent="1"
|
||||
help="Enable this to check the GST Number status"
|
||||
documentation="/applications/finance/fiscal_localizations/india.html#indian-check-gstin-status">
|
||||
<field name="l10n_in_gstin_status_feature" class="oe_inline"/>
|
||||
</setting>
|
||||
<setting name="india_gstr_api"
|
||||
help="This feature helps you to quickly create draft vendor bills using the data your vendor submitted during E-invoicing on the GST portal."
|
||||
company_dependent="1">
|
||||
<field name="l10n_in_fetch_vendor_edi_feature" widget="upgrade_boolean"/>
|
||||
</setting>
|
||||
<setting string="HSN/SAC Validation"
|
||||
help="HSN/SAC Digit Validation for GST Compliance based on your Aggregate Annual Turnover (AATO)."
|
||||
company_dependent="1">
|
||||
<field name="l10n_in_hsn_code_digit"/>
|
||||
</setting>
|
||||
</t>
|
||||
</block>
|
||||
</div>
|
||||
</xpath>
|
||||
<block id="print_vendor_checks_setting_container" position="inside">
|
||||
<setting id="vendor_payment_order_file"
|
||||
company_dependent="1"
|
||||
help="Generate Vendor Payment Order file(csv file), upload to your bank to make the payments"
|
||||
invisible="country_code != 'IN'">
|
||||
<field name="l10n_in_enet_vendor_batch_payment_feature" widget="upgrade_boolean"/>
|
||||
</setting>
|
||||
</block>
|
||||
<block id="default_accounts" position="inside">
|
||||
<setting string="India TDS Control:" invisible="not l10n_in_tds_feature">
|
||||
<div class="content-group">
|
||||
<div class="row mt8">
|
||||
<label for="l10n_in_withholding_journal_id" class="col-lg-5 o_light_label" string="Journal"/>
|
||||
<field name="l10n_in_withholding_journal_id" domain="[('type', '=', 'general')]"/>
|
||||
</div>
|
||||
<div class="row mt8">
|
||||
<label for="l10n_in_withholding_account_id" class="col-lg-5 o_light_label" string="Account"/>
|
||||
<field name="l10n_in_withholding_account_id"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</setting>
|
||||
</block>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,18 @@
|
|||
<field name="inherit_id" ref="base.view_country_state_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="code" position="after">
|
||||
<field name="l10n_in_tin" attrs="{'invisible': [('country_id', '!=', %(base.in)d)]}"/>
|
||||
<field name="l10n_in_tin" invisible="country_id != %(base.in)d"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="l10n_in_view_country_state_tree_inherit" model="ir.ui.view">
|
||||
<field name="name">l10n.in.res.country.state.list.inhert</field>
|
||||
<field name="model">res.country.state</field>
|
||||
<field name="inherit_id" ref="base.view_country_state_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="code" position="after">
|
||||
<field name="l10n_in_tin" groups="base.group_no_one" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
|||
|
|
@ -4,13 +4,82 @@
|
|||
<field name="name">l10n.in.res.partner.vat.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="priority" eval="90"/>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="inherit_id" ref="account.view_partner_property_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='vat']" position="attributes">
|
||||
<attribute name="attrs">{'required':[('l10n_in_gst_treatment', 'in', ['regular', 'composition', 'special_economic_zone', 'deemed_export'])], 'readonly': [('parent_id', '!=', False)]}</attribute>
|
||||
<attribute name="required">l10n_in_is_gst_registered_enabled and l10n_in_gst_treatment in ['regular', 'composition', 'special_economic_zone', 'deemed_export']</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='vat']" position="before">
|
||||
<field name="l10n_in_gst_treatment" attrs="{'readonly': [('parent_id', '!=', False)]}"/>
|
||||
<field name="l10n_in_gst_treatment" invisible="'IN' not in fiscal_country_codes or not l10n_in_is_gst_registered_enabled" readonly="parent_id"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='vat']" position="after">
|
||||
<field name="l10n_in_pan_entity_id" invisible="country_code != 'IN'" readonly="parent_id"/>
|
||||
<field name="l10n_in_tan" invisible="country_code != 'IN' or not l10n_in_pan_entity_id" readonly="parent_id"/>
|
||||
</xpath>
|
||||
<xpath expr="//sheet" position="before">
|
||||
<div class="alert alert-warning" role="alert"
|
||||
invisible="not display_pan_warning">
|
||||
PAN number is not same as the 3rd to 12th characters of the GST number.
|
||||
</div>
|
||||
<div class="alert alert-warning mt-1 mb-1" role="alert" invisible="not l10n_in_gst_state_warning or country_code != 'IN'">
|
||||
<field name="l10n_in_gst_state_warning"/>
|
||||
<a name="action_update_state_as_per_gstin"
|
||||
string="update it"
|
||||
class="ms-1"
|
||||
invisible="country_code != 'IN'"
|
||||
type="object"/>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="l10n_in_view_partner_tree" model="ir.ui.view">
|
||||
<field name="name">l10n.in.res.partner.tree</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='vat']" position="after">
|
||||
<field name="l10n_in_pan_entity_id" optional="hide"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="l10n_in_view_res_partner_filter" model="ir.ui.view">
|
||||
<field name="name">l10n.in.view.res.partner.filter.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_res_partner_filter"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="user_id" position="after">
|
||||
<field name="l10n_in_pan_entity_id"/>
|
||||
</field>
|
||||
<filter name="group_country" position="after">
|
||||
<filter name="l10n_in_pan_entity_id" string="PAN" context="{'group_by': 'l10n_in_pan_entity_id'}"/>
|
||||
</filter>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="l10n_in_view_partner_base_vat_form" model="ir.ui.view">
|
||||
<field name="name">l10n.in.gstin.status.view.partner.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base_vat.view_partner_base_vat_form" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='vies_valid']" position="after">
|
||||
<span invisible="country_code != 'IN' or not l10n_in_gstin_status_feature_enabled or not vat or 'IN' not in fiscal_country_codes">
|
||||
<span invisible="not l10n_in_gstin_verified_date or not l10n_in_gstin_verified_status"
|
||||
class="oe_inline text-success">Active</span>
|
||||
<span invisible="not l10n_in_gstin_verified_date or l10n_in_gstin_verified_status"
|
||||
class="oe_inline text-danger">Inactive</span>
|
||||
<span invisible="not l10n_in_gstin_verified_date and not l10n_in_gstin_verified_status" class="text-muted">
|
||||
(
|
||||
<field name="l10n_in_gstin_verified_date" widget="remaining_days" class="oe_inline" readonly="1" />
|
||||
<button name="action_l10n_in_verify_gstin_status" type="object" icon="fa-refresh"
|
||||
class="oe_link p-0 ps-2" title="Reverify GSTIN status" />
|
||||
)
|
||||
</span>
|
||||
<button string="Check Status" name="action_l10n_in_verify_gstin_status" type="object"
|
||||
icon="fa-check" class="oe_link p-0" title="Check GSTIN status"
|
||||
invisible="l10n_in_gstin_verified_date" />
|
||||
</span>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
|||
|
|
@ -5,19 +5,8 @@
|
|||
<field name="model">uom.uom</field>
|
||||
<field name="inherit_id" ref="uom.product_uom_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='category_id']" position="after">
|
||||
<field name="l10n_in_code"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="product_uom_categ_form_view_inherit_l10n_in" model="ir.ui.view">
|
||||
<field name="name">uom.category.form</field>
|
||||
<field name="model">uom.category</field>
|
||||
<field name="inherit_id" ref="uom.product_uom_categ_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='uom_ids']/tree/field[@name='name']" position="after">
|
||||
<field name="l10n_in_code"/>
|
||||
<xpath expr="//field[@name='name']" position="after">
|
||||
<field name="l10n_in_code" invisible="'IN' not in fiscal_country_codes"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue