Aller au contenu

Plateformes et Applications

BalanceAI CRM

CRM multi-tenant pour consultants IT et agences web : clients, devis, factures électroniques italiennes, domaines, serveurs et coffre-fort chiffré.

TypePlateformes et Applications

Le problème

Freelances, agences web et consultants IT jonglent avec des outils éparpillés : un pour les clients, un pour les devis, un tableur pour les renouvellements de domaines, un carnet pour les accès aux serveurs. En Italie, il existe un obstacle de plus. Chaque facture doit être émise au format XML FatturaPA et transmise via le système national d’échange (SDI), ce que la plupart des CRM ne savent pas faire. BalanceAI est né comme le CRM de mon propre cabinet de conseil. Je l’ai ensuite reconstruit pour que d’autres entreprises puissent l’utiliser aussi.

Ce que j’ai construit

J’ai développé une plateforme de gestion multi-tenant qui réunit au même endroit les clients, les devis, les factures et la partie technique du travail.

  • Socle multi-tenant — chaque entreprise travaille sur des données isolées, car chaque requête est filtrée par tenant. Un panneau superadmin gère les tenants : la même installation peut servir une seule entreprise ou être proposée en SaaS.
  • Facturation électronique italienne — l’application génère le XML FatturaPA 1.2.1 et l’envoie via l’API de facturation électronique d’Aruba, avec le jeton de connexion mis en cache pour chaque tenant. Paiements et échéances sont suivis sur chaque facture.
  • Du devis à la facture — les devis à plusieurs lignes avec remises deviennent une facture en une seule étape : rien n’est saisi deux fois.
  • Domaines et serveurs — dates de renouvellement, recherches WHOIS automatiques et connexion à l’API cPanel/WHM, pour repérer les domaines et comptes d’hébergement qui arrivent à échéance avant qu’ils ne posent problème au client.
  • Coffre-fort chiffré — identifiants des serveurs, mots de passe des clients et notes privées sont stockés en AES-256-CBC, avec un nouvel IV aléatoire pour chaque valeur.
  • Recherche de clients par IA — saisissez le nom d’une entreprise ou un numéro de TVA, et un modèle OpenAI (GPT-4o mini par défaut) renvoie l’adresse, l’e-mail certifié et le code SDI en JSON strict pour préremplir la fiche client. Les champs inconnus reviennent vides au lieu d’être devinés.
  • Import en masse — les données existantes s’importent depuis des fichiers Excel, CSV, Word et PDF.

Comment c’est construit

Node.js et Express, avec des pages EJS rendues côté serveur et Bootstrap 5 en front end. Les données sont dans MySQL ou MariaDB. Le code est réparti en 26 routeurs, un par module, et 16 modèles de données. Les connexions reposent sur des sessions, avec des mots de passe hachés par bcrypt. Intégrations : facturation électronique Aruba, WHOIS, cPanel/WHM et l’API OpenAI, dont la clé est stockée chiffrée pour chaque tenant. L’application s’installe sur un VPS derrière Nginx ou sur un hébergement cPanel.

Pourquoi ce choix

BalanceAI était d’abord un CRM pour une seule entreprise. La version 2.0.0 l’a rendu multi-tenant grâce à un script de migration. Ce script ajoute une colonne tenant à chaque table et rattache tous les enregistrements existants au tenant 1. Les données réelles accumulées pendant des années sont restées intactes, et le même code est devenu un produit que d’autres agences peuvent utiliser. La règle qui en découle est simple : aucune requête ne s’exécute sans le filtre par tenant.

Une idée ?
Parlons-en.

Qu'il s'agisse d'un site, d'une application, d'une vidéo, d'une chanson ou de quelque chose de plus grand, je suis prêt à vous aider à le réaliser.

Contactez-moi
  • Naples
  • Idées
  • Projets
  • Personnes
  • Toujours de l'avant