Plugin BestManagement

Les besoins

Ce plugin propose une meilleure gestion des contrats-client par rapport au plugin 'contractmanagement'. Les client, qui achètent des heures de maintenance informatique à une entreprise, pourront aisément suivre l’évolution de leurs contrats et plus facilement observer les heures encore disponibles de son contrat. Les techniciens de l’entreprise pourront aussi avoir accès aux données relatives aux contrats de leurs clients et ils auront les autorisations nécessaires pour regarder les détails des heures consommées de tous les contrats de tous leurs clients. Un outil permettra également de gérer la reconduction d'un contrat, le report ou non du crédit restant, ainsi que la facturation. Un courrier électronique sera envoyé régulièrement à un destinataire choisi, membre de l’entreprise, pour faire un état des lieux.

Méthode d'affectation des tickets aux contrats

Un ticket sera affecté à un contrat ou bien géré en hors contrat. Ceci pourra se faire grâce aux listes déroulantes recensant tous les contrats de l'entité. La facturation du ticket pourra de plus être décidée

Installation

Après la décompression de l'archive dans la dossier plugins de GLPI, connectez vous sur GLPI en tant qu'administrateur :

onglet Configuration ⇒ Plugins ⇒ Best Management ⇒ Installer

Configurations

onglet Configuration ⇒ Plugins ⇒ Best Management

Gestion des droits par élément

Cette page permet de définir les profils utilisateurs pour chacun des éléments :

  • Récapitulatif global de tous les contrats
  • Récapitulatif d'un contrat
  • Historique d'achat
  • Historique par période
  • Ajouter un achat
  • Facturation d'un contrat
  • Mailing
  • Affecter un ticket à un contrat
  • Facturation ticket
  • Modifier le contenu du mailing
  • Reconduction

Configuration des champs

Cette page permet de définir l'obligation de renseigner les champs :

  • Catégorie du ticket obligatoire
  • Ne pas saisir de temps à la création d'un ticket
  • Date de début de contrat obligatoire
  • Durée du contrat obligatoire
  • Type de contrat obligatoire
  • Catégorie de la tâche obligatoire
  • Informer si le contrat n'a pas été reconduit

Mailing

Cette page permet de définir les contrats qui vont être intégrés au mailing :

  • Contrats non reconduits et terminés depuis moins d'un mois
  • Contrats arrivant à expiration dans moins d'un mois
  • Contrats dont la consommation est dépassée
  • Contrats dont le ratio est dépassée

Également, la fréquence d'exécution de l'envoi des mails ainsi que les destinataires, séparés par des virgules ou points virgules.

PDF

Cette page permet de personnaliser le rapport d'intervention.

La checkbox 'En-tête' définit si ou non une en-tête est affichée. Un logo peut également être intégré au rapport. Il doit se trouver dans le répertoire : glpi/plugins/bestmanagement/pics et être nommé logo_pdf.jpg.

Les champs concernant l'en-tête sont l'adresse, code postal, ville, téléphone, fax, site web et email.

Un pied de page peut également être inséré. À noter qu'il faut écrire € pour afficher le symbole Euro (€).

Des Conditions Générales de Vente peuvent s'ajouter en fin de document. Le plugin va rechercher dans le répertoire glpi/plugins/bestmanagement/files le fichier cgv.txt.

Remarques : Afin que l'affichage soit agréable, il a été décidé que :

  • la première et dernière lignes ne soient pas vierge.
  • les titre soient totalement en majuscules.

Les propriétés du document concernent le fichier .pdf généré peuvent aussi être modifées.

Autre configurations

Ici, l'utilisateur peut décider s'il souhaite voir apparaître une couleur de fond quand la gestion se fait avec les priorités de tickets, déterminer le ratio d'alerte pour les contrats.

Exemple, un contrat avec 100h achetées et 85h consommées. Si le ratio est de 20 (%), le contrat sera intégré au mailing.

Enfin, le thème du courrier électronique peut être modifié.

Utilisation

onglet Contrat => Management du contrat

Méthode de gestion

Le premier formulaire permettra aux technicien de définir la méthode de gestion du contrat. Celle-ci pourra se faire :

  • par heures selon des catégories de tâche
  • par heures selon des priorités de tickets
  • par nombre de tickets selon des priorité

Tableau récapitulatif

Ce tableau est un récapitulatif des unités achetées, reportées, consommées et restantes pour chacune des compteurs que le contrat comporte. Pour une gestion qui se fait en heures de maintenance selon une catégorie de tâche de ticket : les heures consommées sont la somme des heures saisies dans les tâches de tickets appartenant à une catégorie et étant relié au contrat.

Historique d'achat

Tableau faisant la synthèse de tous les achats pour ce contrats. Les achats sont séparés selon la période du contrat.

Historique par période

Lors de la reconduction du contrat, une “photo” est prise du tableau récapitulatif et insérée dans cette partie.

Ajouter un achat

L'utilisateur peut ajouter un nombre d'unités dans un compteur dans ce formulaire. Il peut également définir si cet achat est un avenant (c'est à dire faisant partie intégrante du contrat et donc pris en compte lors de la reconduction) ainsi que déterminer la facturation. Un champ commentaires est aussi présent.

Reconduction

Quand un contrat est terminé, l'utilisateur peut décider de sa reconduction ou de son arrêt. Le report du crédit restant peut aussi être décidé.

Facturation

Ici, le listing de tous les achats de la période du contrat est affiché. De plus, tous les achats des périodes précédentes qui ne sont pas facturés.

Tickets associés

Ici, le listing de tous les tickets liés au contrat.

onglet Tickets => Affecter un ticker à un contrat

L'utilisateur peur ici lier un ticker à un contrat, manuellement. Il peut aussi définir l'état de facturation.

onglet Plugins => Best Management

Récapitulatif des contrats

L'utilisateur visualise sur cette page le récapitulatif général des contrats :

  • terminés uniquement
  • en cours
  • finissant dans une semaine
  • finissant dans un mois

de l'entité courante et récursivement. Par défaut, tous les contrats sont affichés.

On peut voir sur cette page les tableaux récapitulatifs de plusieurs contrats.

Tickets à affecter

Cette partie récapitule les tickets de l'entité courante qui n'appartiennent à aucun contrat. Avec les checkbox, il est possible d'en affecter un ou plusieurs à un même contrat. La facturation peut aussi être décidée.

Tickets à facturer

Cette partie récapitule les tickets de l'entité courante qui ne sont pas facturés. Avec les checkbox, il est possible d'en facturer un ou plusieurs avec un éventuel numéro de facture.

Contrats à facturer

Cette partie récapitule les contrats comportant des achats non facturés. Avec les checkbox, il est possible d'en facturer un ou plusieurs avec un éventuel numéro de facture.

Tickets gérés en hors contrat

Cette partie récapitule tous les tickets de l'entité courante qui sont gérés en hors contrat.

Action massive de plusieurs tickets => Générer le rapport d'intervention

L'utilisateur a la possibilité de créer un rapport d'intervention de plusieurs tickets. Sous l'éventuelle en-tête, sera affiché les données de l'entité des tickets (Nom, adresse etc.) puis, si un ticket est affecté à un contrat, le récapitulatif de ce contrat.

Contraintes d'utilisation

Ce plugin n'est utilisable qu'avec la version 0.78 de GLPI

À partir de Contractmanagement...

Il est possible de récupérer les données de l'ancien plugin, 'contractmanagement' mais cette procédure est longue et impossible à générer au sein du plugin. Démarche à suivre :

glpi_plugin_contractmanagement_contratplus => glpi_plugin_bestmanagement_achat

  • Exporter la tables sous Excel. (dans phpMyAdmin, 'Exporter'). Si possible avec les noms de champs en première ligne.
  • Sur la même ligne que le premier tuple, écrire :

=CONCATENER(“INSERT INTO glpi_plugin_bestmanagement_achat VALUES (NULL, ” & A2 & “,'2010-01-01', '” & B2 & “',” & C2 & “,'” & D2 & “',” & E2 & “,0,1,' ',' ','2010-06-10');”)

  • A2 correspondant à l'attribut Id_Contrat
  • B2 correspondant à l'attribut Type_Contrat
  • C2 correspondant à l'attribut ID_Compteur
  • D2 correspondant à l'attribut Type_Unit
  • E2 correspondant à l'attribut UnitBought
  • Cliquer sur la cellule et l'étendre verticalement jusqu'au dernier tuple de la table.
  • Copier toutes les requêtes générées et les insérer dans la base de données.
  • Même opération pour mettre à jour la date de début du contrat sauf que la requête est : =CONCATENER(“UPDATE glpi_plugin_bestmanagement_achat SET date_deb = (SELECT begin_date FROM glpi_contracts WHERE id = ” & A2 & “) WHERE ID_Contrat = ” & A2 & “;”)

glpi_ticketcategories => glpi_taskcategories

  • Étant donné que le plugin ne se base plus sur des catégories de ticket mais des catégories de tâches, il y a la possibilité de faire une duplication de la table. Exporter la table glpi_ticketcategories sous Excel. En fin de tuple, écrire :

=CONCATENER(“INSERT INTO glpi_taskcategories VALUES (” & A2 & “,” & B2 & “,” & C2 & “,” & D2 & “,'” & E2 & “','” & F2 & “','” & G2 & “',” & H2 & “,” & L2 & “,'” & M2 & “',” & N2 & “);”)

  • A2 correspondant à l'attribut id
  • B2 correspondant à l'attribut entities_id
  • N2 correspondant à l'attribut is_helpdeskvisible
  • Puis, étendre la cellule et insérer en base les requêtes obtenues.
  • Pour le moment, tous les tickets vont être enregistrés comme étant gérés en hors contrat. Exporter la table glpi_tickets. Puis mêmes opérations avec la formule :

=CONCATENER(“INSERT INTO glpi_plugin_bestmanagement_link_ticketcontrat VALUES (NULL, ” & A2 & “, NULL);”)

  • On renseigne la facturation d'un ticket à non facturée. Exporter la table glpi_tickets. Puis mêmes opérations avec la formule :

=CONCATENER(“INSERT INTO glpi_plugin_bestmanagement_facturation_ticket VALUES (” & A2 & “,0,NULL);”)

  • Cette partie va mettre à jour une tâche en lui affectant la catégorie du ticket auquel elle appartient.
  • Exporter la table glpi_tickets. Puis mêmes opérations avec la formule :

=CONCATENER(“UPDATE glpi_tickettasks SET taskcategories_id = ” & I2 & “ WHERE tickets_id = ” & A2 & “;”)

  • I2 correspond à l'attribut ticketcategories_id
  • Puis, on associe les tickets aux contrats.
  • Exporter la table glpi_tickets.
  • S'il n'y a qu'un contrat dans chaque entité : mêmes opérations avec la formule :

=CONCATENER(“UPDATE glpi_plugin_bestmanagement_link_ticketcontrat SET ID_Contrat = (SELECT id FROM glpi_contracts WHERE entities_id = ” & B76 & “) WHERE ID_Ticket =” & A76 & “;”)

  • Sinon : distinguer les entités comportant plusieurs tickets. Exemple avec les entités 6 et 9 :

=CONCATENER(“UPDATE glpi_plugin_bestmanagement_link_ticketcontrat SET ID_Contrat = (SELECT id FROM glpi_contracts WHERE entities_id NOT IN (6,9) AND entities_id = ” & B2 & “) WHERE ID_Ticket =” & A2 & “;”)

  • A2 correspondant à l'attribut id
  • B2 correspondant à l'attribut entities_id