From b68523b9c1333504fbc851c22accb167efca2451 Mon Sep 17 00:00:00 2001 From: gauthier Date: Thu, 13 Sep 2018 14:12:31 +0200 Subject: [PATCH 1/3] FIX : According to french law, if seller is in France and buyer isn't in UE and isn't a company, TVA used = TVA product --- htdocs/core/lib/functions.lib.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index f27c1fbf0a0..26a34af374b 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -4744,6 +4744,11 @@ function get_default_tva(Societe $thirdparty_seller, Societe $thirdparty_buyer, } } + // Si (vendeur en France et acheteur hors Communaute europeenne et acheteur particulier) alors TVA par defaut=TVA du produit vendu. Fin de regle + if($seller_country_code === 'FR' && empty($buyer_in_cee) && !$thirdparty_buyer->isACompany()) { + return get_product_vat_for_country($idprod,$thirdparty_seller,$idprodfournprice); + } + // Sinon la TVA proposee par defaut=0. Fin de regle. // Rem: Cela signifie qu'au moins un des 2 est hors Communaute europeenne et que le pays differe //print 'VATRULE 5'; From 7b46bedce63aff7c8ae47f24248048f2b656ddaf Mon Sep 17 00:00:00 2001 From: gauthier Date: Fri, 21 Sep 2018 14:35:36 +0200 Subject: [PATCH 2/3] NEW : hidden configuration --- htdocs/core/lib/functions.lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 26a34af374b..f9399b7ab55 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -4745,7 +4745,7 @@ function get_default_tva(Societe $thirdparty_seller, Societe $thirdparty_buyer, } // Si (vendeur en France et acheteur hors Communaute europeenne et acheteur particulier) alors TVA par defaut=TVA du produit vendu. Fin de regle - if($seller_country_code === 'FR' && empty($buyer_in_cee) && !$thirdparty_buyer->isACompany()) { + if(!empty($conf->global->MAIN_USE_PRODUCT_TVA_WHEN_FRENCH_SELLER_AND_INDIVIDUAL_CUSTOMER) && $seller_country_code === 'FR' && empty($buyer_in_cee) && !$thirdparty_buyer->isACompany()) { return get_product_vat_for_country($idprod,$thirdparty_seller,$idprodfournprice); } From 1569770855e7fa3e03700d20fd061591dd3012b0 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 23 Sep 2018 15:41:22 +0200 Subject: [PATCH 3/3] Rename hidden conf into MAIN_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC --- htdocs/core/lib/functions.lib.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index f9399b7ab55..1797617a26d 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -4745,7 +4745,8 @@ function get_default_tva(Societe $thirdparty_seller, Societe $thirdparty_buyer, } // Si (vendeur en France et acheteur hors Communaute europeenne et acheteur particulier) alors TVA par defaut=TVA du produit vendu. Fin de regle - if(!empty($conf->global->MAIN_USE_PRODUCT_TVA_WHEN_FRENCH_SELLER_AND_INDIVIDUAL_CUSTOMER) && $seller_country_code === 'FR' && empty($buyer_in_cee) && !$thirdparty_buyer->isACompany()) { + if (! empty($conf->global->MAIN_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC) && empty($buyer_in_cee) && !$thirdparty_buyer->isACompany()) + { return get_product_vat_for_country($idprod,$thirdparty_seller,$idprodfournprice); }