From 19624a7a982258bd4dad3aaef2abdb6c69ec7bf9 Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Tue, 3 Aug 2021 10:54:49 +0000 Subject: [PATCH] [FIX] account: Correct fiscal position on delivery MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes odoo/odoo#74670 X-original-commit: f11c807217cccd96fa18fe24c0cbb436bb1830d1 Signed-off-by: William André (wan) --- addons/account/models/partner.py | 2 +- addons/account/tests/test_fiscal_position.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/addons/account/models/partner.py b/addons/account/models/partner.py index e320a8db11f..8699dc0614a 100644 --- a/addons/account/models/partner.py +++ b/addons/account/models/partner.py @@ -186,7 +186,7 @@ class AccountFiscalPosition(models.Model): delivery = PartnerObj.browse(delivery_id) # If partner and delivery have the same vat prefix, use invoicing - if not delivery.vat or (partner.vat and delivery.vat[:2] == partner.vat[:2]): + if not delivery or (delivery.vat and partner.vat and delivery.vat[:2] == partner.vat[:2]): delivery = partner # partner manually set fiscal position always win diff --git a/addons/account/tests/test_fiscal_position.py b/addons/account/tests/test_fiscal_position.py index 5bcb87d1aba..7ff2401a6d5 100644 --- a/addons/account/tests/test_fiscal_position.py +++ b/addons/account/tests/test_fiscal_position.py @@ -154,3 +154,15 @@ class TestFiscalPosition(common.TransactionCase): mapped_taxes = self.fp2m.map_tax(self.src_tax) self.assertEqual(mapped_taxes, self.dst1_tax | self.dst2_tax) + + def test_30_fp_country_delivery(self): + """ + Customer is in Belgium + Delivery is in France + Check if fiscal position is France + """ + self.george.vat = False + self.assertEqual( + self.fp.get_fiscal_position(self.ben.id, self.george.id).id, + self.fr_b2c.id, + "FR B2C should be set")