Un guide pour simplifier la facturation avec cet outil open source
]project-open[ simplifie l'une des activités les plus difficiles en informatique : la rédaction des factures clients.
De nombreux projets informatiques sont en retard, dépassent le budget et sont sujets à des changements radicaux au cours du développement. Cela fait de la facturation pour eux l’une des activités informatiques les plus exigeantes. C'est stressant : cela implique de gérer des ambiguïtés, des intérêts conflictuels et des erreurs humaines. Pire encore, chaque décision prise au cours du projet affecte le montant que vous pouvez facturer. Lorsqu'un vendeur se vante – à tort – que votre logiciel « inclut cette fonctionnalité », vous ne pouvez pas facturer le temps nécessaire à sa construction. Lorsqu'un responsable du support admet que quelque chose est un bug plutôt qu'une spécification imprécise, vous ne pourrez pas facturer d'argent pour cela.
Ce tutoriel explique une méthodologie et un outil pour rationaliser ce processus. Ensemble, ils contribuent à réduire la frustration, à améliorer les relations avec les clients et à atteindre un pourcentage plus élevé d'heures facturables. L'outil est gratuit, open source et peut être appliqué à un large éventail d'organisations, depuis un informaticien indépendant jusqu'à une entreprise de logiciels multimillionnaire.
Cet article peut également servir de guide sur la façon de gérer les tâches financières si vous décidez de devenir travailleur indépendant ou de créer une startup. Il ne couvre pas la gestion de projet ou des disciplines similaires ; Je me concentre ici uniquement sur la facturation. La première partie de cet article décrit la méthodologie de facturation, tandis que la deuxième partie vous montre comment appliquer la méthodologie au sein de ]project-open[ (ou ]po[ en abrégé).
Le processus général de facturation
Il existe un processus général pour rédiger des factures, quel que soit l'outil que vous utilisez. Certaines organisations peuvent être plus ou moins formelles avec certaines étapes, mais toutes les entreprises basées sur des projets suivent le même processus de base :
Figure 1. Processus de facturation (Frank Bergmann, CC BY-SA 4.0)
Attribuer un type de contrat
Du point de vue de la facturation, la propriété la plus importante d'un projet est le type de contrat. Vous pouvez facturer des services pour un prix fixe (le risque de dépassement de temps et autres dépassements est de votre côté à 100 %), du temps et du matériel (vous facturez à l'heure, et le le client assume le risque de dépassement), ou un mélange des deux (vous spécifiez certains livrables avec un prix fixe, mais d'autres parties du contrat sont facturées en fonction du temps et des matériaux). Parfois, la facturation est liée à certains objectifs (facturation par étapes) ou à certaines périodes (facturation périodique), mais ce ne sont que des variantes des deux types de contrats ci-dessus.
Les projets agiles ont tendance à être davantage basés sur le temps et le matériel, car les spécifications (et donc la quantité de travail) pour chaque user story changent au cours du projet. Les projets classiques en cascade ont tendance à être davantage basés sur des prix fixes, mais cela dépend du projet et de la position de négociation. Les informations suivantes s'appliquent à tous les types de contrats.
Définissez votre projet
La définition du projet constitue normalement une étape distincte avant le début de l'exécution. Si vous souhaitez être payé, vous devez commencer ici et définir la portée de votre projet avec des livrables étanches. Sinon, vous êtes à la merci de la bonne volonté de votre client pour vous tirer d'affaire s'il y a des ambiguïtés plus tard.
Figure 2. Diagramme de Gantt de définition initiale du projet (Frank Bergmann, CC BY-SA 4.0)
Le diagramme de Gantt ci-dessus montre un exemple de projet ]po[. Pour définir un projet avec des livrables sans ambiguïté :
- Définissez le projet comme une liste de tâches sur lesquelles travailler. Chaque tâche doit avoir un livrable clair afin qu'il soit facile de savoir si la tâche est terminée ou non.
- Créez une estimation (colonne Travail) du temps qu'il faudra pour terminer la tâche. Cela vous aide à suivre les dépassements de temps. Une deuxième colonne, Heures facturables, vous permet de comptabiliser le temps non facturable (par exemple, le temps consacré aux activités de prévente n'est généralement pas facturable).
- Définissez un Matériel pour chaque tâche si vous facturez des tarifs différents pour différents types de tâches. Par exemple, vous pouvez facturer 100 USD de l'heure pour la gestion de projet, tandis que l'administration d'une base de données coûte 60 USD de l'heure.
- Facultatif : attribuez des ressources à chaque tâche pour spécifier qui doit effectuer le travail.
En saisissant les informations de cette manière, il est très facile de produire ultérieurement des factures et des rapports de situation.
Gérer les demandes de modification, les bugs et les problèmes du projet
Les projets ont tendance à changer au cours de leur déroulement en raison de problèmes imprévus, de nouvelles idées du client et de nombreuses autres raisons. La plupart de ces changements impliquent du travail supplémentaire pour vous. Il est important de savoir si ce travail est rémunéré ou non. Les demandes d'extension de client ou d'augmentation de portée sont généralement payées, tandis que les bogues ou autres problèmes ont tendance à ne pas être payés.
Il existe différentes manières de suivre les demandes de modification (CR) :
- Contractuellement : Enregistrez formellement les demandes de modification sous forme d'e-mail ou de document CR signé afin qu'il n'y ait aucune ambiguïté lors de la facturation.
- Sur le plan opérationnel : vous souhaitez probablement ajouter des CR en tant que tâches dans votre projet. C'est comme créer la liste de tâches initiale. Vous souhaiterez peut-être regrouper des tâches supplémentaires sous une tâche récapitulative pour indiquer qu’elles ne sont pas couvertes par la portée d’origine.
- Suivi des bogues : il peut également être utile de conserver un journal séparé pour les problèmes de qualité et les bogues (généralement des modifications non facturables).
Quelle que soit la méthode que vous utilisez, assurez-vous de marquer le travail comme des tâches et des bogues d'une manière ou d'une autre pour vous rappeler de les traiter différemment lors de la rédaction d'une facture ultérieurement.
Émettre des rapports de situation périodiques
Les clients attendent de vous que vous leur fournissiez des informations périodiques sur l'avancement de leurs projets. En effet, les projets informatiques sont généralement en retard et dépassent le budget prévu. Cela peut être une tâche désagréable, surtout si vous devez signaler des dépassements, mais cela est tout à fait logique sur le plan commercial.
Un rapport de situation hebdomadaire contient fréquemment les sections suivantes :
- Une liste des tâches sur lesquelles vous travaillez, éventuellement avec leur état d'achèvement
- Une liste des tâches sur lesquelles vous avez commencé à travailler au cours de cette période de référence
- Une liste des tâches que vous avez terminées au cours de cette période de référence
- Les raisons pour lesquelles il vous a fallu si longtemps pour terminer les tâches ci-dessus
Obtenez l'approbation du client
Avant de pouvoir rédiger une facture, vous avez généralement besoin de l'approbation du client confirmant que tous les livrables sont terminés. Il s’agit peut-être de la phase la plus difficile de tout le projet, car elle implique souvent de négocier la responsabilité de tout dépassement rencontré au cours du projet.
Je vous recommande de commencer à considérer cette phase lorsque vous définissez le projet pour la première fois afin que chaque tâche soit liée à un livrable clairement défini et que l'état d'avancement ne soit pas sujet à débat. Vous pouvez également définir des critères d'acceptation explicites lors de la définition du projet pour éviter les ambiguïtés. Lorsque vous négociez les détails d'une tâche avec le client pendant l'exécution du projet, n'oubliez pas d'enregistrer toutes les décisions afin de pouvoir retrouver facilement cette documentation lorsque vous essayez d'obtenir l'approbation.
Facture
Une fois que vous avez obtenu l’approbation, rédiger la facture est relativement simple. Il suffit de multiplier les heures facturables par le tarif horaire ou journalier convenu :
- Examinez toutes les tâches facturables et déterminez les heures planifiées, les heures facturables et les heures réelles.
- Pouvez-vous facturer les heures dépassées au client ? Si tel est le cas, vous devrez probablement expliquer pourquoi le client doit payer pour cela et où cela a été convenu contractuellement.
- Multipliez les heures facturables par le taux horaire pour le type de service respectif.
Une fois que vous avez calculé le montant final, vous devrez peut-être ajouter des taxes en fonction de vos réglementations locales, qui diffèrent selon le pays, l'état, le comté ou même la ville où se trouve votre entreprise. Enfin, saisissez le calcul dans un document de facture standardisé et envoyez-le au client.
Suivre les comptes clients et les paiements
Une fois la facture envoyée au client, vous devez suivre les paiements sur votre compte bancaire et les relier aux factures respectives. Vous devrez peut-être également envoyer des rappels à vos clients s'ils sont en retard dans leurs paiements.
Faire des profits, des pertes et du post-mortem
Une fois tout le travail terminé, vous voudrez voir combien d'argent vous avez gagné grâce au projet. Cela peut être très simple ou assez complexe si le travail implique des salariés, des consultants externes, des efforts partagés avec d'autres projets, des frais de déplacement, etc. À la fin, vous aurez un compte de résultat qui comprend le montant facturé. moins tous vos frais.
Cela peut aussi être le bon moment pour revoir votre projet en général (appelé post-mortem) et votre processus d’estimation en particulier. Comparez le temps estimé avec le temps réel passé et comment les différentes décisions et événements au cours du projet ont affecté l'équilibre. Cela devrait éclairer votre processus de vente et de devis pour le prochain projet.
Créez des factures avec ]project-open[
Maintenant que vous connaissez le processus, voyons comment l'implémenter à l'aide de l'outil gratuit et open source ]po[.
Téléchargez, installez et configurez ]po[
Cela ne prend que quelques minutes pour que ]po[ s'exécute sur votre ordinateur. Vous pouvez obtenir des installateurs natifs (ainsi que de l'aide et des instructions) pour différentes versions de Linux ou Windows à partir du site Web ]po[.
Après avoir installé ]po[, suivez l'assistant de configuration et choisissez les options Autre/Tout et Installation complète/complète pour activer toutes les options du système. La facturation projet est désactivée dans les configurations simplifiées.
Définir un projet
Pour créer un nouveau projet, utilisez Projets -> Nouveau projet et choisissez Projet Gantt ou l'un de ses sous-types. L'éditeur de Gantt ]po[ contient tout ce dont vous avez besoin pour configurer votre projet. Vous pouvez structurer votre projet de manière hiérarchique avec des Tâches récapitulatives ou le conserver sous forme de liste plate. La chronologie du Gantt sur le côté droit est facultative pour le processus de facturation. Il n'est utilisé que pour suivre les progrès pendant l'exécution du projet.
Il existe des colonnes pour toutes les propriétés de tâche décrites ci-dessous. Les colonnes Matériau et Heures facturables ne sont pas visibles dans ]po[ par défaut. Pour les rendre visibles, cliquez sur le bouton v à droite de chaque en-tête de colonne et activez la colonne. Vous pouvez modifier l'ordre des colonnes par glisser-déposer :
Figure 3. Diagramme de Gantt avec définition et statut du projet (Frank Bergmann, CC BY-SA 4.0)
- Tâche : Il s'agit du nom de la tâche.
- Travail : saisissez le nombre d'heures estimé pour terminer la tâche.
- Heures facturables (facultatif) : vous permet de spécifier le temps facturable s'il est différent du travail.
- % terminé : le chef de projet saisit la progression vers l'achèvement de la tâche.
- Matériel : il s'agit du type de service de la tâche, par exemple, gestion de projet ou développement front-end. Vous pouvez modifier la liste des articles dans Données de base -> Articles. Ces types de services s'articulent avec la liste des tarifs (voir ci-dessous) pour définir les prix des différents types de travaux ou des différentes ressources.
- Ressources : pour affecter des ressources à des tâches, vous devez d'abord utiliser le portlet
Projets -> pour ajouter des ressources à le projet. Après avoir rechargé la page, ces ressources seront disponibles dans l'éditeur de Gantt, où vous pourrez les affecter à des tâches dans la colonne Ressources.-> Membres - Remarques : Ce champ n'est pas disponible sous forme de colonne. Double-cliquez sur l'icône avant n'importe quelle tâche pour ouvrir le panneau de propriétés Tâche qui comprend une grande zone de texte libre pour les notes.
]po[ calculera automatiquement la durée (fixant la date de fin) d'une tâche si vous avez défini son Travail et ses Ressources. De même, il calculera la durée d'une tâche récapitulative (une tâche parent avec plusieurs sous-tâches) en fonction de ses enfants. Vous pouvez créer des dépendances entre les tâches par glisser-déposer avec votre souris.
Enregistrez vos heures
Utilisez le menu Feuille de temps pour accéder à la page du calendrier. Cliquez sur Enregistrer les heures pour un jour spécifique.
Figure 3. Calendrier des feuilles de temps (Frank Bergmann, CC BY-SA 4.0)
Vous verrez une liste de tous les projets dont vous êtes membre. Là, vous pouvez enregistrer des heures et ajouter des commentaires sur ce que vous avez fait.
Figure 4. Heures d'enregistrement (Frank Bergmann, CC BY-SA 4.0)
Ajouter des problèmes et des demandes de modification
Vous pouvez ajouter de nouvelles tâches à l'éditeur Gantt à tout moment pendant le projet pour refléter les demandes de modification.
Vous pouvez également ajouter un outil de suivi des bogues à votre projet. Sur le côté gauche du projet, recherchez Projet -> Projet Admin -> Créer un sous-projet. Créez ensuite un nouveau sous-projet avec le nom
Signalez votre statut
L'éditeur de Gantt ]po[ sert également de rapport d'état visuel. Fondamentalement, toutes les tâches à gauche de la ligne rouge (« aujourd'hui ») devraient afficher 100 % dans la colonne Terminé %.
Figure 5. Diagramme de Gantt sur l'état du projet (Frank Bergmann, CC BY-SA 4.0)
Examinez la tâche Importation des données de base dans la figure 5 :
- La tâche est-elle à temps ? La barre noire à l'intérieur de la barre du Gantt représente les 40 % de la colonne Terminé%. Le rectangle se termine à gauche de la ligne rouge représentant aujourd'hui, indiquant que la tâche est en retard.
- La tâche respecte-t-elle le budget ? Le rectangle rouge dans la barre du Gantt est rouge. Il représente les Heures enregistrées en pourcentage du Travail. On voit que l’équipe a déjà passé 48 heures sur les 56 heures prévues, mais la tâche n’est accomplie qu’à 40 %. En continuant ainsi, il faudrait 120 heures (= 48h/40%) pour terminer la tâche. La couleur de la barre devient bleue si Heures enregistrées < Travail * Terminé%.
]po[ comprend d'autres outils de reporting d'état plus avancés, notamment l'analyse de la valeur acquise (EVA), l'analyse des tendances des jalons et divers rapports spécialisés. La documentation fournit plus d'informations sur ces outils.
Arrivez à vous déconnecter
]project-open[ n'inclut pas de support spécifique pour amener votre client à approuver votre projet. Cependant, les informations détaillées jointes à chaque tâche, que vous avez documentées au début, seront extrêmement utiles pour prouver que tout a été fait conformément aux décisions que vous et votre client avez prises ensemble. Prenez note des éventuelles difficultés et tenez-en compte lors de la définition du prochain projet.
Créer une facture manuellement
Il s'agit du moyen le plus simple et le plus flexible de créer des factures et convient aux projets de très petite taille ou à prix fixe. Utilisez
Figure 6. Création manuelle d'une facture (Frank Bergmann, CC BY-SA 4.0)
Champs dans l'en-tête de la facture :
- Numéro de facture : il s'agit de l'identification de la facture à des fins de déclaration fiscale. Ce numéro est créé automatiquement et numéroté par mois. Des schémas de numérotation alternatifs sont disponibles.
- Date de la facture : il s'agit de la date à laquelle vous avez créé la facture (à des fins de déclaration fiscale).
- Conditions de paiement : il s'agit du nombre de jours jusqu'à l'échéance de la facture.
- Mode de paiement : c'est ainsi que le client doit payer. Vous pouvez modifier les options de paiement disponibles dans Admin -> Catégories -> Mode de paiement des factures intranet.
- Modèle de facture : Il s'agit d'un modèle LibreOffice qui affichera les factures. Admin -> Modèles de facture affiche la liste des modèles disponibles. Ici, vous pouvez également télécharger un modèle et télécharger une version modifiée.
- Statut de la facture : Créée est une facture fraîchement créée. Les autres options permettent de suivre le processus de paiement. Vous pouvez configurer les états des factures dans Admin -> Catégories -> Statut des coûts intranet.
- Type de facture : Facture client est le type de facture par défaut.
- Client : Vous pouvez configurer de nouveaux clients dans Données de base -> Sociétés -> Nouvelle société ou dans la section CRM de ]po[.
- Adresse de facturation : un client peut avoir plusieurs lieux d'affaires, saisissez donc l'adresse à laquelle vous souhaitez que cette facture soit envoyée.
- Contact : Saisissez la personne qui doit recevoir la facture. ]po[ peut envoyer des factures directement par e-mail.
- Remarques : saisissez toutes les notes pertinentes à la facture.
- TVA : la plupart des pays utilisent la taxe sur la valeur ajoutée (TVA). Vous pouvez également configurer des types de TVA (au lieu d'une valeur numérique) pour certains pays.
- TAXE : certains pays ajoutent une deuxième taxe aux factures. Vous pouvez désactiver ce champ dans Admin -> Paramètres -> Factures intranet si vous n'en avez pas besoin.
Champs dans les lignes de facture :
- Ligne : il s'agit d'une façon de classer les éléments de ligne de facture.
- Description : saisissez une description de l'élément.
- Unité : saisissez les unités de ce que vous facturez (par exemple, combien d'heures, de jours, etc.).
- UdM : signifie unité de mesure. Il peut s'agir du nombre d'heures, de jours ou simplement d'unités.
- Taux : il s'agit du prix par unité utilisant la devise par défaut. Vous pouvez configurer les devises dans Données de base -> Taux de change et définir la devise par défaut dans Admin -> Paramètres -> DefaultCurrency.
En cliquant sur le lien Aperçu à l'aide d'un modèle, vous lancerez votre traitement de texte (Microsoft Word ou LibreOffice Writer) s'il est installé sur votre ordinateur. Vous pouvez désormais modifier la facture avant de l'envoyer au client.
Figure 7. Aperçu avant impression de la facture (Frank Bergmann, CC BY-SA 4.0)
Créer une facture semi-automatiquement
]po[ dispose également d'un assistant qui convertit les heures enregistrées « automatiquement » en éléments de facture pour vous. Ce processus s'applique aux types de facturation à prix fixe, de temps et matériaux et périodique.
Utilisez
Figure 8. Assistant de facturation (Frank Bergmann, CC BY-SA 4.0)
La partie principale de l'écran (étiquetée (1) dans l'image ci-dessus) affiche cinq types d'heures différents par tâche. Cela fonctionne un peu comme un rapport mais vous permet d'effectuer des actions à l'aide des éléments d'interface utilisateur fournis :
- Heures planifiées : heures estimées pour la tâche, telles que spécifiées dans l'éditeur de Gantt lors de la planification du projet.
- Heures facturables : similaires aux heures planifiées, mais vous pouvez les modifier manuellement pour tenir compte du temps non facturable.
- Toutes les heures signalées : toutes les heures sur la feuille de temps enregistrées par n'importe qui, à tout moment.
- Heures signalées dans l'intervalle : heures enregistrées entre la date de début et la date de fin dans le filtre (2) en haut de l'écran
- Toutes les heures non facturées : heures qui ne sont incluses dans aucune facture précédente créée à l'aide de cet assistant. Ce chiffre est utile lors de la facturation périodique pour voir si des heures ont « échappé » lors des facturations précédentes.
Les cases à cocher (3) dans la première colonne vous permettent de désélectionner manuellement certaines tâches. La case à cocher Agréger les heures (4) vous permet de créer des lignes de facture par tâche (lorsqu'elle n'est pas cochée) ou par facture. lignes par matériau (lorsque coché). Sélectionnez agréger si votre projet comporte de nombreuses tâches ; sinon, votre facture pourrait devenir très longue.
Votre résultat est une facture comme celle-ci :
Figure 8. Assistant de facturation (Frank Bergmann, CC BY-SA 4.0)
Ceci est similaire à la facture créée manuellement mais avec des informations supplémentaires :
- Les lignes de facture sont copiées à partir des tâches sélectionnées dans l'écran précédent. Les tâches sommaires sont exclues car sinon, le nombre d'heures serait dupliqué.
- La colonne Taux inclut le meilleur taux de correspondance pour la tâche (voir ci-dessous).
Sélectionnez le bouton Créer une facture client pour terminer le processus. Mais avant de faire cela, vous voudrez peut-être vérifier que les prix sont corrects.
Consultez la grille tarifaire et les prix de référence
La section Prix de référence de la figure ci-dessus explique comment le meilleur taux de correspondance est déterminé pour chacune des six lignes de facture (c'est pourquoi la même ligne est répétée six fois).
La source de ces données est le portlet Prix des feuilles de temps de la société.
Figure 10. Portlet Prix des feuilles de temps de l'entreprise (Frank Bergmann, CC BY-SA 4.0)
Cet exemple contient une seule ligne avec Heure comme UdM et 75,00 EUR comme Taux ; tous les autres champs sont vides. Nous pourrions traduire cela par : « Toutes les heures de ce client coûtent 75,00 EUR. » Il s’agit d’une définition appropriée d’un « taux par défaut » si vous souhaitez garder les choses simples.
Utilisez l'algorithme de recherche de prix
Malheureusement, la réalité a tendance à être complexe. Prenons l'exemple ci-dessous. Il définit une remise pour les heures de programmation TCL, mais uniquement pour le projet spécifique Motor Development (2016_0019).
Figure 11. Saisie des prix dans un projet spécifique (Frank Bergmann, CC BY-SA 4.0)
L'algorithme de recherche de prix sélectionnera le tarif le plus approprié pour chaque ligne de la nouvelle facture en choisissant celui avec le plus grand nombre de champs correspondants et en écartant ceux présentant des discordances flagrantes. La section Prix de référence répertorie toutes les entrées de tarifs candidats, du meilleur au pire.
En fin de compte, c'est à vous de modifier les tarifs proposés. Cette option d'intervention manuelle est conçue pour traiter les cas les plus inhabituels.
Prochaines étapes
Un certain nombre d’étapes suivent la rédaction d’une facture. Les détailler dépasserait le cadre de ce tutoriel. Cependant, la fonctionnalité est disponible dans le cadre de ]po[ Community Edition :
- Comptes clients : La section Finance -> Comptes clients vous permet de suivre les factures et d'envoyer des rappels aux clients.
- Approvisionnement et comptes fournisseurs : ]po[ comprend un système d'approvisionnement et de gestion des fournisseurs basé sur des projets.
- Bénéfices et pertes : vous serez intéressé de savoir si vous avez réalisé ou non un profit sur votre projet.
- Leçons apprises : vous souhaiterez peut-être faire une autopsie pour revoir le projet et savoir quoi faire différemment la prochaine fois.
- Prévision des flux de trésorerie : en fonction du niveau actuel de votre compte bancaire, de vos factures et de votre entonnoir de vente CRM, cela calculera le moment où votre entreprise sera à court d'argent.
- Comptabilité de gestion : il s'agit d'un grand nombre de rapports qui répondront directement à la plupart des questions sur votre entreprise. Il existe un didacticiel sur la façon de rédiger vos propres rapports.
- Déclaration fiscale : ]po[ capture presque tout ce dont une société de services a besoin pour la déclaration fiscale. Il existe des interfaces d’exportation pour différents logiciels de comptabilité.
Quels sont vos plus grands défis en matière de facturation aux clients ? Veuillez partager vos bêtes noires dans les commentaires.