En tant qu'indépendant, j'ai rapidement constaté que de nombreuses solutions de facturation n'étaient pas adaptées à mes besoins : trop complexes pour un freelance, trop chères ou complètement obsolètes. N'ayant pas trouvé chaussure à mon pied, j'ai décidé de développer ma propre solution de facturation adaptée aux indépendants et aux freelances en Suisse.
Le tableau de bord offre un aperçu des finances ainsi que des factures en cours et les derniers devis créés.
La section clients permet d'enregistrer les contacts et d'apercevoir en un coup d'oeil le montant dû par chaque client.
Les devis et factures peuvent être envoyés sous forme de PDF. Les éléments peuvent être réordonnés par glisser-déposer. Une fois le devis accepté, il peut être converti en facture sans avoir à resaisir les données.
Les dépenses peuvent être catégorisées par type et par fournisseur, il est possible de joindre un justificatif pour chaque dépense. Chaque paiement peut être (ou non) associé à une facture existante.
L'application permet de produire plusieurs types de rapports : ventes, pertes & profits, dépenses, taxes (TVA) et export personnalisé. Chaque rapport peut être produit sur une durée personnalisée. L'export personnalisé permet de récupérer les données au format CSV.
Les paramètres permettent de personnaliser différents aspects de l'application : profil utilisateur, sécurité, préférences de l'interface, entreprises/idendité de marque, catégories de dépenses et fournisseurs.
Mon choix pour le backend s'est porté sur PocketBase. Il s'agit d'une solution open source qui permet la gestion de l'authentification (comptes utilisateurs), des bases de données, l'exécution de fonctions liées à des événements, le stockage d'objets et la gestion des notifications.
J'ai choisi cette solution afin de garder le contrôle sur les données qui sont exclusivement hébergées en Suisse.
J'ai choisi le framework Nuxt (Vue) pour le développement de la partie frontend et Tailwind CSS pour le design. L'application est responsive et utilisable sur n'importe quel appareil.
L'application est déployée sous forme de conteneurs Docker sur des serveurs situés en Suisse. Cette solution permet de faciliter le déploiement des nouvelles versions et offre la possibilité de revenir à une version précédente si nécessaire.
L'ensemble des données de l'application sont sauvegardées toutes les 12 h avec le service Swiss Backup d'Infomaniak. Les données sont ensuite automatiquement répliquées dans deux datacenters distants sur plusieurs supports afin de prévenir toute perte de données.
L'application évolue régulièrement pour intégrer de nouvelles fonctionnalités ou améliorer les existantes. Je travaille sur un module de suivi du temps de travail et de gestion des projets.
Factura sera proposé sous forme de SaaS (Software-as-a-Service) avec une formule gratuite pour découvrir l'application et une formule payante par la suite.