diff --git a/htdocs/html.form.class.php b/htdocs/html.form.class.php
index 27e881019c4..59cc4909f76 100644
--- a/htdocs/html.form.class.php
+++ b/htdocs/html.form.class.php
@@ -62,12 +62,12 @@ class Form
/**
- \brief Affiche un texte avec picto help qui affiche un tooltip
- \param text Texte à afficher
- \param htmltooltip Contenu html du tooltip
+ \brief Affiche un texte avec picto help qui affiche un tooltip
+ \param text Texte à afficher
+ \param htmltooltip Contenu html du tooltip
\param direction 1=Le picto est après, -1=le picto est avant
\param usehelpcursor 1=Utilise curseur help, 0=Curseur par defaut
- \param string Code html du texte.picto
+ \return string Code html du texte,picto
*/
function textwithhelp($text,$htmltext,$direction=1,$usehelpcursor=1)
{
diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang
index 83cf3c5972f..7df1ac05b8a 100644
--- a/htdocs/langs/en_US/companies.lang
+++ b/htdocs/langs/en_US/companies.lang
@@ -76,6 +76,8 @@ ProfId4PT=Conservatory
TVAIntra=Intracommunautary VAT
VATIntraShort=Intra-communautary VAT code
VATIntraVeryShort=VAT Intra-comm.
+VATIntraSyntaxIsValid=Syntax is valid
+VATIntraValueIsValid=Value is valid
ProspectCustomer=Prospect / Customer
Prospect=Prospect
CustomerCard=Customer Card
@@ -135,8 +137,12 @@ Capital=Capital
CapitalOf=Capital of %s
EditCompany=Edit company
ThisUserIsNot=This user is not a prospect, customer nor supplier
+VATIntraCheck=Check
+VATIntraCheckDesc=The link %s allows to ask the european VAT checker service. An external internet access from server is required for this service to work.
VATIntraCheckURL=http://europa.eu.int/comm/taxation_customs/vies/fr/vieshome.htm
VATIntraCheckableOnEUSite=Check Intracomunnautary VAT on European commision site
+VATIntraManualCheck=You can also check manually from european web site %s
+ErrorVATCheckMS_UNAVAILABLE=Check not possible. Check service is not provided by the member state (%s).
NorProspectNorCustomer=Nor prospect, nor customer
JuridicalStatus=Juridical status
Staff=Staff
diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang
index 3abbca2179c..48ae6eceaa5 100644
--- a/htdocs/langs/en_US/main.lang
+++ b/htdocs/langs/en_US/main.lang
@@ -26,6 +26,7 @@ ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at
ErrorWrongValue=Wrong value
ErrorWrongValueForParameterX=Wrong value for parameter %s
ErrorNoRequestInError=No request in error
+ErrorServiceUnavailableTryLater=Service not available or busy for the moment. Try again later.
SeeAbove=See above
HomeArea=Home area
LastConnexion=Last connexion
@@ -343,6 +344,9 @@ ExpandAll=Expand all
UndoExpandAll=Undo expand
Reason=Raison
FeatureNotYetSupported=Feature not yet supported
+CloseWindow=Close window
+Question=Question
+Response=Response
# Countries
CountryFR=France
CountryBE=Belgium
diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang
index 0bf8633035e..7df9f0f211d 100644
--- a/htdocs/langs/fr_FR/admin.lang
+++ b/htdocs/langs/fr_FR/admin.lang
@@ -314,7 +314,7 @@ VATReceivedOnly=Taux special non factur
VATManagement=Gestion TVA
VATIsUsed=Assujéti à TVA
VATIsNotUsed=Non assujéti à TVA
-VATIsUsedDesc=Le taux de TVA proposé par défaut lors de la création de propale, facture, commande, etc répond à la règle standard suivante:
Si le (pays vendeur = pays acheteur) alors la TVA par défaut=TVA du produit vendu. Fin de règle.
Si vendeur et acheteur dans Communauté européenne et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par défaut=0 (La TVA doit être payé par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de règle.
Si vendeur et acheteur dans Communauté européenne et bien vendu autre que transport neuf alors la TVA par défaut=TVA du produit dans le pays du vendeur. Fin de règle.
Sinon la TVA proposée par défaut=0. Fin de règle.
+VATIsUsedDesc=Le taux de TVA proposé par défaut lors de la création de propale, facture, commande, etc répond à la règle standard suivante:
Si vendeur non assujeti à TVA, TVA par défaut=0. Fin de règle.
Si le (pays vendeur = pays acheteur) alors TVA par défaut=TVA du produit vendu. Fin de règle.
Si vendeur et acheteur dans Communauté européenne et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par défaut=0 (La TVA doit être payé par acheteur au centre d'impots de son pays et non au vendeur). Fin de règle.
Si vendeur et acheteur dans Communauté européenne et acheteur = particulier ou entreprise sans num TVA intra alors TVA par défaut=TVA du produit vendu. Fin de règle.
Si vendeur et acheteur dans Communauté européenne et acheteur = entreprise avec num TVA intra alors TVA par défaut=0. Fin de règle.
Sinon TVA proposée par défaut=0. Fin de règle.
VATIsNotUsedDesc=Le taux de TVA proposé par défaut est 0. C'est le cas d'associations, particuliers ou certaines petites sociétés.
VATIsUsedExampleFR=En France, il s'agit des sociétés ou organismes ayant choisi un régime fiscale réel (Réel simplifié ou Réel normal), régime dans lequel la TVA est déclarée.
VATIsNotUsedExampleFR=En France, il s'agit des associations ne déclarant pas de TVA ou sociétés, organismes ou professions libérales ayant choisi le régime fiscal micro entreprise (TVA en franchise) et payant une TVA en franchise sans faire de déclaration de TVA. Ce choix fait de plus apparaitre la mention "TVA non applicable - art-293B du CGI" sur les factures.
diff --git a/htdocs/langs/fr_FR/companies.lang b/htdocs/langs/fr_FR/companies.lang
index 8c560192ae5..0d068ef18b0 100644
--- a/htdocs/langs/fr_FR/companies.lang
+++ b/htdocs/langs/fr_FR/companies.lang
@@ -76,6 +76,8 @@ ProfId4PT=Conservatory
TVAIntra=Numéro de TVA Intracommunautaire
VATIntraShort=N° TVA Intra-communautaire
VATIntraVeryShort=TVA Intra-comm.
+VATIntraSyntaxIsValid=Syntaxe valide
+VATIntraValueIsValid=Valeure valide
ProspectCustomer=Prospect / Client
Prospect=Prospect
CustomerCard=Fiche Client
@@ -135,8 +137,12 @@ Capital=Capital
CapitalOf=Capital de %s
EditCompany=Modification société
ThisUserIsNot=Cet utilisateur n'est ni un prospect, ni un client, ni un fournisseur
+VATIntraCheck=Vérifier
+VATIntraCheckDesc=Le lien %s permet d'interroger le service européen de contrôle des numéro de TVA intracommunautaire. Un accès au monde internet exterieur depuis le serveur est requis pour que ce service fonctionne.
VATIntraCheckURL=http://europa.eu.int/comm/taxation_customs/vies/fr/vieshome.htm
VATIntraCheckableOnEUSite=Vérifier sur le site de la Commission Européenne
+VATIntraManualCheck=Vous pouvez aussi vérifier manuellement via le site européen %s
+ErrorVATCheckMS_UNAVAILABLE=Vérification impossible. Le service de vérification n'est pas fourni par ce pays membre (%s).
NorProspectNorCustomer=Ni client, ni prospect
JuridicalStatus=Forme juridique
Staff=Effectif
diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang
index 22b65f61cf0..da307021aea 100644
--- a/htdocs/langs/fr_FR/main.lang
+++ b/htdocs/langs/fr_FR/main.lang
@@ -26,6 +26,7 @@ ErrorRecordIsUsedByChild=Impossible de supprimer cet enregistrement. Ce dernier
ErrorWrongValue=Valeur incorrecte
ErrorWrongValueForParameterX=Valeur incorrecte pour le paramètre %s
ErrorNoRequestInError=Aucune requete en erreur
+ErrorServiceUnavailableTryLater=Service non disponible ou saturé actuellement. Réessayer plus tard.
SeeAbove=Voir ci-dessus
HomeArea=Espace accueil
LastConnexion=Dernière connexion
@@ -345,6 +346,9 @@ ExpandAll=Tout d
UndoExpandAll=Annuler déroulement
Reason=Raison
FeatureNotYetSupported=Fonctionnalité pas encore supportée
+CloseWindow=Fermer fenêtre
+Question=Question
+Response=Réponse
# Countries
CountryFR=France
CountryBE=Belgique
diff --git a/htdocs/lib/functions.inc.php b/htdocs/lib/functions.inc.php
index f6759008846..5ce85be17b8 100644
--- a/htdocs/lib/functions.inc.php
+++ b/htdocs/lib/functions.inc.php
@@ -1832,10 +1832,11 @@ function price2num($amount)
/**
* \brief Fonction qui renvoie la tva d'une ligne (en fonction du vendeur, acheteur et taux du produit)
* \remarks Si vendeur non assujeti à TVA, TVA par défaut=0. Fin de règle.
- * Si le (pays vendeur = pays acheteur) alors la TVA par défaut=TVA du produit vendu. Fin de règle.
- * Si vendeur et acheteur dans Communauté européenne et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par défaut=0 (La TVA doit être payé par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de règle.
- * Si vendeur et acheteur dans Communauté européenne et bien vendu autre que transport neuf alors la TVA par défaut=TVA du produit vendu. Fin de règle.
- * Sinon la TVA proposée par défaut=0. Fin de règle.
+ * Si le (pays vendeur = pays acheteur) alors TVA par défaut=TVA du produit vendu. Fin de règle.
+ * Si vendeur et acheteur dans Communauté européenne et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par défaut=0 (La TVA doit être payé par acheteur au centre d'impots de son pays et non au vendeur). Fin de règle.
+ * Si vendeur et acheteur dans Communauté européenne et acheteur = particulier ou entreprise sans num TVA intra alors TVA par défaut=TVA du produit vendu. Fin de règle.
+ * Si vendeur et acheteur dans Communauté européenne et acheteur = entreprise avec num TVA intra alors TVA par défaut=0. Fin de règle.
+ * Sinon TVA proposée par défaut=0. Fin de règle.
* \param societe_vendeuse Objet société vendeuse
* \param societe_acheteuse Objet société acheteuse
* \param taux_produit Taux par defaut du produit vendu
@@ -1860,12 +1861,18 @@ function get_default_tva($societe_vendeuse, $societe_acheteuse, $taux_produit)
// Si vendeur et acheteur dans Communauté européenne et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par défaut=0 (La TVA doit être payé par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de règle.
// Non géré
- // Si vendeur et acheteur dans Communauté européenne et bien vendu autre que transport neuf alors la TVA par défaut=TVA du produit vendu. Fin de règle.
- if (is_object($societe_acheteuse) && ($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()) && $societe_acheteuse->tva_assuj == 1)
+ // Si vendeur et acheteur dans Communauté européenne et acheteur = particulier ou entreprise sans num TVA intra alors TVA par défaut=TVA du produit vendu. Fin de règle.
+ if (is_object($societe_acheteuse) && ($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()) && ! $societe_acheteuse->tva_intra)
{
return $taux_produit;
}
+ // Si vendeur et acheteur dans Communauté européenne et acheteur = entreprise avec num TVA intra alors TVA par défaut=0. Fin de règle.
+ if (is_object($societe_acheteuse) && ($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()) && $societe_acheteuse->tva_intra)
+ {
+ return 0;
+ }
+
// Sinon la TVA proposée par défaut=0. Fin de règle.
return 0;
}
diff --git a/htdocs/lib/lib_head.js b/htdocs/lib/lib_head.js
index 0d67924bc18..3944009cb31 100644
--- a/htdocs/lib/lib_head.js
+++ b/htdocs/lib/lib_head.js
@@ -738,3 +738,20 @@ function parseDate(val) {
// Fonction pour champ saisie en mode ajax
function publish_selvalue(obj) { $(obj.name).value = obj.options[obj.selectedIndex].value; }
+
+
+
+/*=================================================================
+ Purpose: affiche popup
+ Input: url,title
+==================================================================*/
+function newpopup(url,title) {
+ var argv = newpopup.arguments;
+ var argc = newpopup.arguments.length;
+ tmp=url;
+ var l = (argc > 2) ? argv[2] : 600;
+ var h = (argc > 3) ? argv[3] : 400;
+ var wfeatures="directories=0,menubar=0,status=0,resizable=0,scrollbars=1,toolbar=0,width="+l+",height="+h+",left=" + eval("(screen.width - l)/2") + ",top=" + eval("(screen.height - h)/2");
+ fen=window.open(tmp,title,wfeatures);
+ return false;
+}
diff --git a/htdocs/soc.php b/htdocs/soc.php
index c474331e586..db6439036fb 100644
--- a/htdocs/soc.php
+++ b/htdocs/soc.php
@@ -24,10 +24,10 @@
*/
/**
- \file htdocs/soc.php
- \ingroup societe
- \brief Onglet societe d'une societe
- \version $Revision$
+* \file htdocs/soc.php
+* \ingroup societe
+* \brief Onglet societe d'une societe
+* \version $Revision$
*/
require("pre.inc.php");
@@ -411,24 +411,41 @@ if ($_POST["getcustomercode"] || $_POST["getsuppliercode"] ||
$form->select_array("effectif_id",$soc->effectif_array(), $soc->effectif_id);
print '';
- // TVA Intra
- print '
' . htmlspecialchars($client->request, ENT_QUOTES) . ''; +echo '
' . htmlspecialchars($soapclient->request, ENT_QUOTES) . ''; echo "
'; print_r($result); echo ''; echo '
' . htmlspecialchars($client->response, ENT_QUOTES) . ''; +echo '
' . htmlspecialchars($soapclient->response, ENT_QUOTES) . ''; echo ''."\n";; echo '