Ajouter des colonnes dans les factures émises avec Dolibarr

Le problème:

Dans Dolibarr, au moment de la saisie d’une facture, l’utilisateur doit pouvoir saisir, sur chaque ligne de produit, sa date de livraison et le numéro du bon de livraison que ramène le livreur.

Une fois la facture générée, ces informations doivent s’imprimer sur la facture.

Après avoir lu

http://wiki.dolibarr.org/index.php/Créer_un_modèle_de_document_ODT

il reste à réaliser la partie “Autres tags personnalisées pour les lignes” en mettant autre chose que ‘Put here calculated value to insert’ dans la valeur du champ.

Si l’ajout des champs lors de la saisie des factures est simple à réaliser, l’impression sur chaque ligne de la facture l’est moins; le petit exercice ci dessous peut permettre à quelqu’un qui a des notions du langage php de voir comment fonctionne un tout petit module de Dolibarr

Une solution complète:

1/ Nous ajoutons dans le module facture 2 champs de type ligne:

  • dl pour Date de livraison (de type date)
  • bl pour le numéro du bon de livraison de type entier

Ci dessous copie d’écran de l’effet obtenu lors de la saisie de la facture:

saisiefacture

On peut voir ci dessus en bas à gauche que l’on peut saisir la date de livraison du produit, ainsi que le numéro du bon de commande.

Jusque la tout va bien !

2/ Les choses se compliquent quand il s’agit d’ajouter ces valeurs sur toutes les lignes de la facture (sur chaque ligne de produit). En effet, Dolibarr n’intègre pas cette fonctionnalité dans les modules de base (ou du moins je n’ai pas su la trouver).

Pour cela j’ai fait un modèle ODT (LibreOffice) de facture, il est ici.

…et un module à ajouter à Dolibarr, il est ici.

Il faut mettre dans le répertoire documents/doctemplates/invoices le modèle de document LibreOffice.

Il faut mettre de module dézipé dans htdocs/ et activer le module de la catégorie Autres dans configuration->modules.

3/ Le résultat:

facture