From dc53124a0995409a0824423db5f9ad8150cf9bbc Mon Sep 17 00:00:00 2001 From: Jigar Vaghela Date: Tue, 28 Dec 2021 12:09:45 +0000 Subject: [PATCH] [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 --- addons/l10n_in/models/account_invoice.py | 21 ++++--------------- addons/l10n_in_sale/__manifest__.py | 1 - addons/l10n_in_sale/models/__init__.py | 2 -- addons/l10n_in_sale/models/account_move.py | 16 -------------- addons/l10n_in_sale/models/res_partner.py | 18 ---------------- .../l10n_in_sale/views/res_partner_views.xml | 17 --------------- 6 files changed, 4 insertions(+), 71 deletions(-) delete mode 100644 addons/l10n_in_sale/models/account_move.py delete mode 100644 addons/l10n_in_sale/models/res_partner.py delete mode 100644 addons/l10n_in_sale/views/res_partner_views.xml diff --git a/addons/l10n_in/models/account_invoice.py b/addons/l10n_in/models/account_invoice.py index c816b71f021..979f3ea05cd 100644 --- a/addons/l10n_in/models/account_invoice.py +++ b/addons/l10n_in/models/account_invoice.py @@ -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 diff --git a/addons/l10n_in_sale/__manifest__.py b/addons/l10n_in_sale/__manifest__.py index 5ba62837d7f..d9ee70903c6 100644 --- a/addons/l10n_in_sale/__manifest__.py +++ b/addons/l10n_in_sale/__manifest__.py @@ -14,7 +14,6 @@ 'data': [ 'views/report_sale_order.xml', 'views/sale_views.xml', - 'views/res_partner_views.xml', ], 'demo': [ 'data/product_demo.xml', diff --git a/addons/l10n_in_sale/models/__init__.py b/addons/l10n_in_sale/models/__init__.py index 37c5b03ac99..00b62d54b4a 100644 --- a/addons/l10n_in_sale/models/__init__.py +++ b/addons/l10n_in_sale/models/__init__.py @@ -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 diff --git a/addons/l10n_in_sale/models/account_move.py b/addons/l10n_in_sale/models/account_move.py deleted file mode 100644 index 6d0b5e12748..00000000000 --- a/addons/l10n_in_sale/models/account_move.py +++ /dev/null @@ -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 diff --git a/addons/l10n_in_sale/models/res_partner.py b/addons/l10n_in_sale/models/res_partner.py deleted file mode 100644 index 6e5604897e3..00000000000 --- a/addons/l10n_in_sale/models/res_partner.py +++ /dev/null @@ -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))) diff --git a/addons/l10n_in_sale/views/res_partner_views.xml b/addons/l10n_in_sale/views/res_partner_views.xml deleted file mode 100644 index 25cd1858555..00000000000 --- a/addons/l10n_in_sale/views/res_partner_views.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - l10n.in.res.partner.vat.inherit - res.partner - - - - - - - - - - - -