[IMP] l10n_in*: remove l10n_in_shipping_gstin

Companies only get a tax credit on the bill to GST number(vat), not on the shipping GST number.

task - 2723111

closes odoo/odoo#81977

Related: odoo/upgrade#3493
Signed-off-by: Josse Colpaert <jco@odoo.com>
This commit is contained in:
Jigar Vaghela
2022-08-30 20:21:41 +02:00
parent effb0ffc8e
commit dc53124a09
6 changed files with 4 additions and 71 deletions
+4 -17
View File
@@ -49,16 +49,6 @@ class AccountMove(models.Model):
return self.env.ref('l10n_in.state_in_ot')
return partner.state_id
def _l10n_in_get_shipping_partner(self):
"""Overwrite in sale"""
self.ensure_one()
return self.partner_id
@api.model
def _l10n_in_get_shipping_partner_gstin(self, shipping_partner):
"""Overwrite in sale"""
return shipping_partner.vat
def _post(self, soft=True):
"""Use journal type to define document type because not miss state in any entry including POS entry"""
posted = super()._post(soft)
@@ -76,19 +66,16 @@ class AccountMove(models.Model):
elif move.journal_id.type == 'purchase':
move.l10n_in_state_id = company_unit_partner.state_id
shipping_partner = move._l10n_in_get_shipping_partner()
# In case of shipping address does not have GSTN then also check customer(partner_id) GSTN
# This happens when Bill-to Ship-to transaction where shipping(Ship-to) address is unregistered and customer(Bill-to) is registred.
move.l10n_in_gstin = move._l10n_in_get_shipping_partner_gstin(shipping_partner) or move.partner_id.vat
move.l10n_in_gstin = move.partner_id.vat
if not move.l10n_in_gstin and move.l10n_in_gst_treatment in ['regular', 'composition', 'special_economic_zone', 'deemed_export']:
raise ValidationError(_(
"Partner %(partner_name)s (%(partner_id)s) GSTIN is required under GST Treatment %(name)s",
partner_name=shipping_partner.name,
partner_id=shipping_partner.id,
partner_name=move.partner_id.name,
partner_id=move.partner_id.id,
name=gst_treatment_name_mapping.get(move.l10n_in_gst_treatment)
))
if move.journal_id.type == 'sale':
move.l10n_in_state_id = self._l10n_in_get_indian_state(shipping_partner)
move.l10n_in_state_id = self._l10n_in_get_indian_state(move.partner_id)
if not move.l10n_in_state_id:
move.l10n_in_state_id = self._l10n_in_get_indian_state(move.partner_id)
#still state is not set then assumed that transaction is local like PoS so set state of company unit
-1
View File
@@ -14,7 +14,6 @@
'data': [
'views/report_sale_order.xml',
'views/sale_views.xml',
'views/res_partner_views.xml',
],
'demo': [
'data/product_demo.xml',
-2
View File
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import res_partner
from . import sale_order
from . import account_move
@@ -1,16 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, models
class AccountMove(models.Model):
_inherit = "account.move"
def _l10n_in_get_shipping_partner(self):
shipping_partner = super()._l10n_in_get_shipping_partner()
return self.partner_shipping_id or shipping_partner
@api.model
def _l10n_in_get_shipping_partner_gstin(self, shipping_partner):
return shipping_partner.l10n_in_shipping_gstin
-18
View File
@@ -1,18 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, fields, models, _
from odoo.exceptions import ValidationError
class ResPartner(models.Model):
_inherit = 'res.partner'
l10n_in_shipping_gstin = fields.Char("Shipping GSTIN")
@api.constrains('l10n_in_shipping_gstin')
def _check_l10n_in_shipping_gstin(self):
check_vat_in = self.env['res.partner'].check_vat_in
wrong_shipping_gstin_partner = self.filtered(lambda p: p.l10n_in_shipping_gstin and not check_vat_in(p.l10n_in_shipping_gstin))
if wrong_shipping_gstin_partner:
raise ValidationError(_("The shipping GSTIN number [%s] does not seem to be valid") %(",".join(p.l10n_in_shipping_gstin for p in wrong_shipping_gstin_partner)))
@@ -1,17 +0,0 @@
<?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="100"/>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='vat']" position="after">
<field name="l10n_in_shipping_gstin" groups="account.group_delivery_invoice_address" attrs="{'invisible': ['|',('type', '!=', 'delivery'),('parent_id', '=', False)]}"/>
</xpath>
<xpath expr="//field[@name='child_ids']/form//field[@name='comment']" position="before">
<field name="l10n_in_shipping_gstin" groups="account.group_delivery_invoice_address" attrs="{'invisible': [('type', '!=', 'delivery')]}"/>
</xpath>
</field>
</record>
</odoo>