Le client accepte de recevoir une facture par mail

Bonjour,

Nous travaillons à 99% pour des professionnels qui reçoivent historiquement une facture papier par la poste
Nous souhaitons, pour une partie de ces clients (80%) envoyer une facture par mail.

Rien de grave en somme !

Nous souhaitons repérer automatiquement et facilement les fameux clients qui acceptent cette manière de facturer

Nous avons crée un champs supplémentaire dans le tiers et ça fonctionne

Malheureusement, ce champ « extrafield » ne s’affiche pas dans la facture et au moment de facturer et on ne sait pas si le client accepte. (sauf ouvrir le client à chaque facture)
Existe t-il un moyen de faire afficher ce champ connu dans le tiers, dans la facture ? Extrafield automatique ?

Merci
Régis

Un petit UP ?

Personne ?

Bonjour
Quelques éléments pour faire avancer le sujet
il y a deux choses en fait :
- savoir que l’on peu ou pas envoyer la facture (ou d’autres documents) par mail
- autoriser l’accès au bouton d’envoie par mail (car au final il vaut mieux bloquer le bouton si on ne doit pas envoyer, c’est plus sur…)
Après vérification dans le code, il n’y a pas de ‹ trick › permettant de réaliser ce type de controle la chose,
Il faut donc modifier le fichier /compta/facture.php pour récupérer la valeur de l’extrafields et activer/désactiver le fameux bouton
Autre possibilité, la réalisation d’un trigger qui vérifie la valeur du champ et désactive par jQuery l’accès au bouton, c’est plus complexe à coder mais plus pérenne (on ne touche pas fichier du core de dolibarr).

Le second choix serait un excellent cas d’école pour un tuto de réalisation d’un trigger … idée à creuser

1 « J'aime »

Merci pour cette réponse, c’est exactement ça !
Quand on pense aux tarifs postaux et à la masse de factures par mois !!!

Quelle sera la suite ? un développement perso ou un futur module ?

Régis

Comme indiqué ce sera un excellent cas d’école pour l’utilisation des hook/triggers dans dolibarr
Il faut juste que je trouve un peu de temps pour le réaliser, je devrais bien trouver quelques d’ici la fin du mois

Je suis aussi très intéressé par ce développement.
Merci d’avance :happy:

Bonsoir,
Charles tu viens de me donner une idée. Bon oui il faudra modifier le core mais ça doit fonctionner. Si j’ai le temps et que tu ne vas pas plus vite que moi je vais y jeter un oeil, ça ne me parait pas méchant à faire. De toute façon, j’en ai besoin pour ma 3.5.6 donc…
@+

Bon ben je pense que j’ai ete assez rapide, phil te fatigue pas, je publie le tuto dans la journee
Il faudra creer une extra-field et activer le module pour cacher ou pas le bouton d’envoie.
Et tous cela sans toucher au core…
Si cela peut eviter de tuer des arbres, ce sera une bonne chose pour mon karma :wink:

1 « J'aime »

Merci beaucoup !

Je veux bien être béta-testeur !

Régis

Merci Charles !
Mais si tu vas toujours plus vite que moi, je n’ai pas le plaisir de faire ! Je vais jamais grandir :smiley:
Bon je laisse tomber t’es plus fort que moi !
@+

Désolé pour le retard (déplacements)
Et donc voici un petit module de ma composition activant un hook cachant ou pas le bouton d’envoie de mail selon le paramétrage d’un extrafields sur la fiche du tiers

Premiere chose : ajouter l’extrafields sur la fiche du tiers

Seconde étape implémenter le module et l’activer

THAT ALL

et pour les amateurs de bout de code, voila à quoi ressemble la fonction ‹ magique ›

	function addMoreActionsButtons($parameters, $object, $action) 
	{
		global $conf, $langs, $db;
		// on gère la chose uniquement sur les facture		
		if ($object->element == 'facture')  // seulement predef
		{
			// on vérifie que la case est bien cochée
			// il s'agit d'un extrafield de type case à cocher sur la fiche client
			if ($object->client->array_options['options_sendmail'] != '1')
			{
				// si ce n'est pas le cas, on cache le bouton d'envoie de mail
				print "<script>";
				print "$(document).ready(function() {";
				print '$(".butAction:contains(\"'.$langs->trans('SendByMail').'\")").hide();';
				print '});';
				print "</script>";
			}
		}
		return 0;
	}

Pièces jointes :

3 « J'aime »

Merci, ça fonctionne :happy:
Pour ma part j’ai coché la case par défaut (à la création de l’attribut) et je vais décocher les clients qui ne veulent pas recevoir par e-mail.

Hoo YESSSSSSSSS !

Et en plus il s’excuse de son retard !!!

Grand merci pour votre réactivité , ça fonctionne parfaitement

à l’année, c’est une économie d’environ 11 m² de papier
Rapporter cela à tous les utilisateurs de Dolibarr, ça va faire des kilomètres de papier !

Régis

Oui, avec dolibarr on sauve des arbres lol
La plus belle preuve que l’open-source peu faire gagner de l’argent.
Le plus drole dans tous cela c’est que j’ai fini ma ramette de papier annuel de l’annee derniere … cette semaine…

Un petit retour sur la procédure :

Bonjour
Nous avons utilisé YMLP pour demander l’accord de nos clients et Google forms pour créer une autorisation en ligne

Le résultat est sans appel : plus de 90% acceptent même les administrations. J’ai ai aussi compris que la E-facture faisait gagner du temps à celui qui la reçoit contrairement aux idées reçues.

Très beau succès presque inespéré !

Merci encore de cette précieuse aide

Autorisation-envoi-de-factures-par-mail.jpg

Régis

1 « J'aime »

J’oubliais…

Nous avons utilisé le module CONCATPDF pour envoyer nos conditions générales de vente dans la facture par mail.
ça fonctionne parfaitement pourvu que le PDF additionnel soit en version 1.3 maxi.

Régis

Bonsoir,

Nous sommes toujours très satisfaits de votre module !

Une question :
Est il possible de faire en sorte que la case "Facture par mail " soit active par défaut ?
De cette manière, à la création d’un nouveau client, celui-ci acceptera par défaut de recevoir une facture par mail.

Grand merci pour votre travail

Régis

c’est au niveau de l’extrafields que l’on peu définir une valeur par défaut

Bonjour,

A priori, quand le champ est crée, il n’y a plus la possibilité de saisir la valeur par défaut
Il faudrait le recréer ou modifier dans une table ?

Régis