Initial commit: L10N_Asia Pacific packages

This commit is contained in:
Ernad Husremovic 2025-08-29 15:20:52 +02:00
commit 54c86b612c
828 changed files with 58224 additions and 0 deletions

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="invoice_form_inherit_l10n_in" model="ir.ui.view">
<field name="name">account.move.form.inherit.l10n.in</field>
<field name="model">account.move</field>
<field name="inherit_id" ref="account.view_move_form"/>
<field name="arch" type="xml">
<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_gst_treatment"
attrs="{'invisible': ['|', ('country_code', '!=', 'IN'), ('move_type', '=', 'entry')], 'required': [('country_code', '=', 'IN'), ('move_type', '!=', 'entry')], 'readonly': [('state', '!=', 'draft')]}"/>
</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>
<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>
</xpath>
<xpath expr="//field[@name='partner_id']" position="after">
<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')]}"
/>
</xpath>
</field>
</record>
</odoo>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_account_journal_form_inherit_l10n_in" model="ir.ui.view">
<field name="name">account.journal.form.inherit.l10n.in</field>
<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': ['|', '&amp;', ('country_code', '!=', 'IN'), ('type', '!=', 'cash'), '&amp;', ('country_code', '=', 'IN'), ('type', 'not in', ['bank', 'cash', 'sale', 'purchase'])]}</attribute>
</field>
<field name='loss_account_id' position="attributes">
<attribute name="attrs">{'invisible': ['|', '&amp;', ('country_code', '!=', 'IN'), ('type', '!=', 'cash'), '&amp;', ('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>
</field>
</record>
</odoo>

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_tax_form_inherit_l10n_in" model="ir.ui.view">
<field name="name">account.tax.form.inherit.l10n.in</field>
<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>
</field>
</record>
</odoo>

View file

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="l10n_in_port_code_form_view" model="ir.ui.view">
<field name="name">l10n_in.port.code.form</field>
<field name="model">l10n_in.port.code</field>
<field name="arch" type="xml">
<form string="India Port Code">
<group>
<group>
<field name="name"/>
<field name="code"/>
</group>
<group>
<field name="state_id"/>
</group>
</group>
</form>
</field>
</record>
<record id="l10n_in_port_code_tree_view" model="ir.ui.view">
<field name="name">l10n_in.port.code.tree</field>
<field name="model">l10n_in.port.code</field>
<field name="arch" type="xml">
<tree string="India Port Code">
<field name="name"/>
<field name="code"/>
<field name="state_id"/>
</tree>
</field>
</record>
<record id="l10n_in_port_code_search_view" model="ir.ui.view">
<field name="name">l10n_in.port.code.search</field>
<field name="model">l10n_in.port.code</field>
<field name="arch" type="xml">
<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">
<filter string="State" name="state" domain="[]" context="{'group_by': 'state_id'}"/>
</group>
</search>
</field>
</record>
</odoo>

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record model="ir.ui.view" id="l10n_in.product_template_hsn_code">
<field name="name">l10n_in.product.template.form.hsn_code</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_form_view"/>
<field name="arch" type="xml">
<field name="categ_id" position="after">
<field name="l10n_in_hsn_code"/>
<field name="l10n_in_hsn_description"/>
</field>
</field>
</record>
</odoo>

View file

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<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">
GSTIN: <span t-field="o.partner_shipping_id.vat"/>
</div>
</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>
<xpath expr="//div[@name='address_same_as_shipping']//t[@t-set='address']" position="inside">
<t t-call="l10n_in.place_of_supply"/>
</xpath>
<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'">
<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>
</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>
</t>
<t t-else="">$0</t>
</xpath>
</template>
<!-- Workarounds 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'"
t-call="l10n_in.l10n_in_report_invoice_document_inherit"
t-lang="lang"/>
</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">
Place of supply: <span t-out="o.l10n_in_state_id.name" />
</div>
</template>
</odoo>

View file

@ -0,0 +1,15 @@
<?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>

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="res_config_settings_view_form_inherit_l10n_in" model="ir.ui.view">
<field name="name">res.config.settings.form.inherit.l10n_in</field>
<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).
</div>
</div>
</div>
</div>
</field>
</record>
</odoo>

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="l10n_in_view_country_state_form_inherit" model="ir.ui.view">
<field name="name">l10n.in.res.country.state.form.inhert</field>
<field name="model">res.country.state</field>
<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>
</field>
</record>
</odoo>

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="l10n_in_view_partner_form" model="ir.ui.view">
<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="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>
</xpath>
<xpath expr="//field[@name='vat']" position="before">
<field name="l10n_in_gst_treatment" attrs="{'readonly': [('parent_id', '!=', False)]}"/>
</xpath>
</field>
</record>
</odoo>

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="product_uom_form_view_inherit_l10n_in" model="ir.ui.view">
<field name="name">uom.uom.form</field>
<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>
</field>
</record>
</odoo>