You are currently viewing Facturation automatique, niveaux 0 à 3

La facturation… Comme beaucoup d’indépendants et de PME, vous en avez assez du temps passé à cette tâche fastidieuse? Mettez-la une fois pour toutes en pilote automatique grâce à Google script! On vous explique comment.

 

Le niveau 0, c’est quand vous devez rechercher les infos un peu partout, les consolider comme vous pouvez, et générer vos factures manuellement, une par une. Il y a le « slow food », le « slow motion »… vous, c’est la « slow facturation ». Éloge de la lenteur dans un monde hystérique… ou pas! Vous avez mieux à faire.

 

Automatiser votre facturation avec Google Apps Script - Niveau 1

Création automatique des factures en format PDF à partir d’un fichier Google Sheets

Imaginons que, d’une manière ou d’une autre (si vous ne savez pas comment faire, on y reviendra plus bas), vous ayez les infos nécessaires dans un tableau. Un beau tableau tout simple, dans Excel, Google Sheets ou tout autre tableur, où vous avez, ligne par ligne:

  • le nom du client
  • ses coordonnées (adresse, numéro de TVA, etc.)
  • le montant à lui facturer
  • et toute autre information nécessaire à l’établissement de votre facture.
Exemple de données de facturation

Pour accéder à toute la puissance de Google script, vous allez devoir introduire ce tableau dans Google Sheets. Si vous n’en avez pas encore, créez-vous un compte sur Google Drive. Allez sur drive.google.com:

URL Google Drive

et créez-vous un compte ou, si vous en avez déjà un, connectez-vous à l’aide de votre identifiant et de votre mot de passe.

Dans le coin supérieur gauche de la page, cliquez sur le bouton « Nouveau » puis, dans le menu déroulant qui apparaît alors, sur « Importer un fichier ».

Comment importer un fichier dans Google Drive

Sélectionnez le fichier contenant vos données et importez-le.

Dans l’arborescence de votre Google Drive, cliquez sur le nom de ce fichier avec le bouton droit de la souris. Dans le menu qui apparaît alors, choisissez Ouvrir avec > Google Sheets:

Comment importer un fichier Excel dans Google Sheets

Dans votre Drive, vous verrez apparaître un nouveau fichier: la conversion de votre fichier initial en fichier Google Sheets:

Nouveau fichier Google Sheets

En parallèle, Google Sheets s’ouvre aussi sur vos données ainsi importées.

Google Sheets: accès à l'éditeur de script

Pour commencer à programmer, dans le menu au-dessus du tableau, cliquez sur Outils, puis Éditeur de scripts.

Dans la fenêtre d’édition de script qui s’ouvre alors, insérez le code suivant à l’intérieur de la fonction pré-définie:

Script Google pour automatiser la création de factures en format pdf à partir des données d'un tableau Google Sheets

Quelques explications:

  • La première ligne (ligne 2 selon les numéros donnés dans la marge de la figure ci-dessus) récupère toutes les données du tableau contenu dans le fichier Google Sheets.
  • La ligne suivante démarre une boucle qui va traiter ces données ligne par ligne.
  • Pour chacune des lignes du tableau, un document Google Docs est créé, les différentes données de la facture correspondante y sont introduites, avec les titres nécessaires à leur bonne compréhension, ce document est provisoirement sauvegardé, le fichier pdf correspondant est créé puis le fichier Google Docs est supprimé.
  • Pour adapter ce code à vos données, il vous suffit de modifier les indices de la variable « donneesFacture[ ] », en commençant à 0 pour la colonne A de votre tableau.

Ce script vous permet donc d’automatiser le transfert des données de Google Sheets vers Google Docs:

Automatisation de transfert de Google Sheets vers Google Docs

Avant de le faire tourner, vous devez sauvegarder votre script. Comme dans votre traitement de texte préféré, l’icône pour ce faire représente une bonne vieille disquette (« Je vous parle d’un temps que les moins de 20 ans ne peuvent pas connaître… » 😉 ):

Menu pour sauver un script Google

Pour lancer l’exécution du script, cliquez sur l’icône en forme de flèche:

Comment lancer l'exécution d'un script Google

Assurez-vous que le nom de la fonction que vous souhaitez exécuter est bien celui qui est repris à droite de cette icône (voir ci-dessus).

La première fois que vous essaierez d’exécuter ce script, Google vous enverra un message d’avertissement: ce script, c’est vous qui l’avez introduit, pour Google il n’émane donc pas d’une entité reconnue officiellement comme fiable. Vous devrez donc confirmer que oui, vous souhaitez vraiment faire tourner ce script développé par vos soins.

Dans la fenêtre qui vous signale qu’une autorisation est requise de votre part, cliquez sur « Examiner les autorisations »:

Demande d'autorisation pour exécuter un Google script

Google vous demande alors avec quel compte vous souhaitez vous connecter pour l’exécution de ce script. Cliquez sur le compte que vous souhaitez utiliser:

Choix du compte Google pour exécuter le script

Et c’est là qu’il va vous falloir une fameuse dose de confiance en vous:

Google script - avertissement d'application non validée

Non, vous ne devez pas « revenir » en lieu sûr. Cliquez sans crainte sur l’hyperlien « Paramètres avancés » (voir ci-dessus).

Dans le bas de la fenêtre (vous devrez probablement agrandir celle-ci ou « scroller » vers le bas), confirmez votre volonté d’accéder à ce script:

Google script - confirmer l'accès au script

Et enfin, dans le bas de la dernière fenêtre, cliquez résolument sur le bouton bleu « Autoriser »:

Google script - Autoriser le script

Cette procédure est laborieuse, mais c’est le prix à payer pour votre sécurité. Bonne nouvelle: vous ne devrez passer par là que la première fois que vous exécuterez ce script. Par la suite, Google retiendra que vous êtes d’accord et ne vous le redemandera plus, ouf!

Une fois que l’exécution du script est lancée, il ne vous reste plus qu’à retourner dans votre drive, pour voir vos factures apparaître, l’une après l’autre:

 

Bien sûr, la mise en page est ici on ne peut plus basique, il manque vos coordonnées, votre logo, la séparation entre le montant avec et hors TVA, etc. Le but de cette explication était juste de vous montrer à quel point il est facile de se simplifier la vie avec Google Apps Script. Après, à vous de personnaliser vos factures comme vous le souhaitez. Voyez entre autres toutes les options possibles pour personnaliser vos documents sur la page correspondant à la classe « body » de Google Docs: https://developers.google.com/apps-script/reference/document/body

Voilà, vous savez maintenant comment automatiser la communication entre Google Sheets et Google Docs.

Alors, convaincu? Vous imaginez le temps que vous allez gagner?

Et si, en plus, nous pouvions automatiser l’envoi de ces factures, que ce soit aux différents clients ou à votre comptable, par exemple?

Chiche!

 

Automatiser votre facturation avec Google Apps Script - Niveau 2

Envoi automatique par email des factures

Pour pouvoir envoyer chaque facture au client concerné, commençons par ajouter, dans nos données de facturation, une colonne reprenant les adresses email correspondantes:

Google Sheets données facturation pour envoi automatisé via Gmail

Pour retourner dans l’éditeur de scripts, comme ci-dessus, cliquez sur Outils, puis Éditeur de scripts. Dans le script précédent, ajoutez les lignes supplémentaires données ci-dessous:

Google script automatisation d'envoi d'emails avec Gmail
  • À la ligne 23, on récupère l’adresse email du client. Dans nos données, cette adresse se trouve dans la colonne H. Si elle se trouve dans une autre colonne dans vos données, il vous suffit d’adapter l’indice de l’élément correspondant dans la variable « donneesFacture[ ] ».
  • La ligne 24 définit le sujet de l’email, combinant des parties de texte fixe avec le numéro et la date de la facture.
  • Les lignes 25 et 26 n’en font en réalité qu’une, qui définit le texte de l’email. Les caractères « \n » y représentent des sauts de lignes. Ici aussi, on combine des parties de texte fixe avec le numéro et la date de la facture.
  • Les lignes 27 à 29 également n’en forment qu’une: c’est là que le fichier PDF contenant la facture est défini comme pièce attachée à l’email.
  • C’est la ligne 30 qui rassemble tous ces paramètres pour l’envoi proprement dit de l’email.

Ci-dessous, l’email reçu par votre client:

Envoi automatisé d'email avec Gmail

Il vous reste juste à l’adapter à votre format. Vous trouverez d’autres méthodes disponibles pour la classe GmailApp sur cette page: https://developers.google.com/apps-script/reference/gmail/gmail-app.

Voilà, 5 lignes de code et l’envoi de vos factures est, lui aussi, en pilote automatique! Avec 25 lignes de code, vous êtes à la tête d’une procédure qui relie de façon automatisée Google Sheets, Google Docs et Gmail.

Automatisation de transfert de Google Sheets vers Google Docs puis Gmail

Si ça vous tente, vous pouvez tout aussi facilement:

  • ajouter au menu un élément permettant de lancer l’exécution de cette routine sans devoir passer par l’éditeur de scripts
Google Apps Script - Personnalisation du menu pour y intégrer les tâches répétitives
  • programmer son déclenchement automatique (sans aucune intervention de votre part) à intervalles réguliers
  • etc.

 

Automatiser votre facturation avec Google Apps Script - Niveau 3

Maintenant que vous avez les bases, le ciel est votre seule limite! Imaginez la suite:

  • Récupérer les durées de travail pour chaque client à partir de Google Agenda pour générer automatiquement les montants à facturer
Automatisation de transfert de Google Agenda vers Google Sheets puis Google Docs et Gmail
  • Récupérer les données de facturation dans des documents plus complexes: PDF, emails reçus de votre site WooCommerce…
Automatisation de transfert de WooCommerce vers Google Sheets puis Google Docs et Gmail
  • Last but not least… tout le reste! Maintenant que votre facturation est en pilote automatique, il ne vous reste plus qu’à… automatiser le travail que vous pourrez facturer!

Envie d’un coup de main pour démarrer? Contactez-nous!

Cet article a 8 commentaires

  1. lola

    Bonjour, où peut on télécharger les fichiers et code dont vous parlez ? merci

    1. 3hibouks

      Bonjour,
      Toutes les applications de Google sont disponibles (gratuitement!) en ligne: https://gsuite.google.com
      Bonne automatisation à vous 🙂

  2. Online Store

    Bonjour, j’ai créé le même fichier Google Sheet, puis créé le script mais cela ne fonctionne pas. Je ne trouve aucun pdf dans mon drive.
    Une idée de la source d’erreurs ? Merci pour votre aide et bonne journée !
    Voici le script (pour ceux qui le cherchent):

    function Facture() {
    var data=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getDataRange().getValues();
    for (var i=1;i<data.lenght;i++) {
    var donneesFacture=data[i];
    var doc=DocumentApp.create("facture"+donneesFacture[6].toString());
    var body=doc.getBody();
    body.appendParagraph("Facture n°"+donneesFacture[6]+" – Date: "+donneesFacture[5]);
    body.appendHorizontalRule();
    body.appendParagraph("Nom client:").setSpacingBefore(24);
    body.appendParagraph(donneesFacture[0]);
    body.appendParagraph("Adresse:").setSpacingBefore(24);
    body.appendParagraph(donneesFacture[1]);
    body.appendParagraph(donneesFacture[2]);
    body.appendParagraph("N° de TVA:").setSpacingBefore(24);
    body.appendParagraph(donneesFacture[3]);
    body.appendParagraph("Prix:").setSpacingBefore(24);
    body.appendParagraph(donneesFacture[4]+" €");
    doc.saveAndClose();
    var pdf=doc.getAs('application/pdf');
    var file=DriveApp.createFile(pdf);
    DriveApp.removeFile(DriveApp.getFileById(doc.getId()));
    }
    }

    1. 3hibouks

      Bonjour,
      Je vois déjà une erreur typo à la troisième ligne: data.lenght au lieu de data.length.
      Si vous corrigez ça, ça devrait fonctionner 🙂
      Cordialement

  3. Schyns Thomas

    Bonjour
    Je débute dans le code, j’aimerai avoir un code pour réaliser des belles factures (pas besoin d’un truc fort compliqué), est ce que quelqu’un aurait un code pour faire cela et serait d’accord de me le partager. Bonne fin de journée

    1. 3hibouks

      Bonjour,

      Avec le code expliqué ci-dessus, vous devriez avoir tout ce qu’il vous faut pour faire ça. N’hésitez pas à revenir vers nous si vous souhaitez des explications complémentaires sur l’un ou l’autre point 🙂
      Cordialement

  4. Da Silva

    Bonjour,

    Votre article est vraiment très intéressant, bien expliqué et complet. Ca m’a beaucoup aidé.
    Merci à vous et bonne continuation

  5. IDRISS

    Merci beaucoup, j’ai beaucoup appris!

Répondre à Da Silva Annuler la réponse