[FIX] intrastat_product: Set the correct country code when the country of the delivery address is different (and to be consistent with the src_dest_country_id field).

TT40764
This commit is contained in:
Víctor Martínez
2022-12-12 09:02:14 +01:00
parent 23c4f7e8b2
commit 99835dc7bb
2 changed files with 4 additions and 2 deletions

View File

@@ -661,6 +661,7 @@ class IntrastatProductDeclaration(models.Model):
domain = self._prepare_invoice_domain() domain = self._prepare_invoice_domain()
order = "journal_id, name" order = "journal_id, name"
invoices = self.env["account.move"].search(domain, order=order) invoices = self.env["account.move"].search(domain, order=order)
partner_model = self.env["res.partner"]
for invoice in invoices: for invoice in invoices:
@@ -705,8 +706,8 @@ class IntrastatProductDeclaration(models.Model):
# When the country is the same as the company's country must be skipped. # When the country is the same as the company's country must be skipped.
if partner_country == self.company_id.country_id: if partner_country == self.company_id.country_id:
continue continue
partner_country_code = ( partner_country_code = partner_model._get_intrastat_country_code(
invoice.commercial_partner_id._get_intrastat_country_code() country=partner_country, state=invoice.partner_shipping_id.state_id
) )
if inv_intrastat_line: if inv_intrastat_line:

View File

@@ -53,6 +53,7 @@ class TestIntrastatBrexit(IntrastatProductCommon, SavepointCase):
inv_out_xi = self.inv_obj.with_context(default_move_type="out_invoice").create( inv_out_xi = self.inv_obj.with_context(default_move_type="out_invoice").create(
{ {
"partner_id": self.partner_xi.id, "partner_id": self.partner_xi.id,
"partner_shipping_id": self.partner_xi.id,
"fiscal_position_id": self.position.id, "fiscal_position_id": self.position.id,
} }
) )