Créer ou adapter un logiciel de facturation conforme à la réforme DGI : méthode, choix et délais
Logiciel maison, ERP ou produit SaaS : faire évoluer un outil de facturation pour la réforme marocaine est un vrai projet technique. Voici comment le cadrer et le réussir.

Si vos factures sortent d'un logiciel métier sur mesure, d'un outil développé il y a des années par un prestataire, ou si vous éditez vous-même un logiciel de facturation vendu à d'autres entreprises, la réforme de la facture électronique au Maroc vous concerne directement : c'est à vous de faire évoluer l'outil. Ce guide explique comment cadrer ce projet, quelles briques techniques prévoir et comment éviter de tout reconstruire dans l'urgence. Pour le contexte réglementaire, voir ce qui est acté sur la facture électronique.
Trois situations, trois approches
- Un outil maison bien construit (base de données propre, code maintenu) : on l'adapte en ajoutant les briques manquantes.
- Un outil ancien ou fragile (code non documenté, factures générées en PDF sans données structurées) : souvent, il est plus sûr de reconstruire le module de facturation sur une base moderne et de migrer les données.
- Un éditeur de logiciel qui vend la facturation à ses clients : la conformité devient un argument commercial, et l'architecture doit servir de nombreux clients à la fois.
Les briques techniques à prévoir
1. Un modèle de données propre
Tout part des données : émetteur, clients avec ICE et identifiant fiscal, articles, taux de TVA, lignes de facture, avoirs, paiements. La numérotation doit être générée par le système, continue et sans trou, par série. Aucune facture émise ne doit pouvoir être modifiée : on corrige par un avoir.
2. Un générateur de factures structurées
Le logiciel doit produire chaque facture dans un format structuré cité par la réforme (UBL 2.1 ou CII, en XML), puis la valider contre les règles de format avant envoi. La version PDF lisible est générée à partir des mêmes données, jamais l'inverse.
3. Un connecteur vers la plateforme
Le connecteur envoie les factures à la plateforme de l'administration, récupère les statuts (validée, rejetée) et les motifs, et permet de corriger et renvoyer. Il doit être isolé du reste du code, pour s'adapter facilement aux spécifications définitives et à leurs évolutions : c'est la brique la plus susceptible de changer.
4. La réception des factures fournisseurs
Un module de réception intègre les factures électroniques reçues, les rapproche des commandes et alimente la comptabilité sans ressaisie.
5. L'archivage et la traçabilité
Factures émises et reçues sont conservées dans leur format original avec leurs accusés, sur la durée légale, avec un journal horodaté de chaque événement. Les sauvegardes et les droits d'accès complètent l'ensemble.
6. Des API
Une API permet de connecter la facturation à votre site e-commerce, votre CRM ou votre ERP, et de proposer plus tard des intégrations à vos clients si vous êtes éditeur.
Sur mesure, Odoo ou logiciel du marché ?
- Logiciel du marché : le plus simple si votre facturation est standard. Vérifiez l'engagement de l'éditeur avec notre checklist en 15 points.
- Odoo ou un autre ERP : pertinent si vous voulez aussi gérer stock, achats et comptabilité dans un même outil, avec un intégrateur pour la localisation marocaine.
- Sur mesure : quand la facturation est imbriquée dans un processus métier spécifique (chantiers, abonnements, location, logistique) que les outils standard gèrent mal, ou quand vous éditez vous-même le logiciel.
Un projet type, étape par étape
- Audit de l'existant : données, code, volumes, intégrations, risques.
- Nettoyage et migration des référentiels clients et articles.
- Modèle de données et numérotation conformes, avoirs, verrouillage des factures émises.
- Générateur UBL ou CII et validation interne.
- Archivage, journal, sécurité.
- Connecteur plateforme finalisé dès la publication des spécifications officielles, puis tests en environnement de recette.
- Formation des équipes et bascule.
Les étapes 1 à 5 peuvent être menées dès maintenant. Pour un module de facturation sur une base saine, comptez généralement quelques semaines à quelques mois selon l'existant et les intégrations. Notre article sur le coût d'un développement SaaS détaille les postes de budget.
Pour les éditeurs : une opportunité
La réforme crée un besoin chez des milliers d'entreprises qui facturent encore avec Excel ou des outils non maintenus. Un éditeur de logiciel spécialisé dans un secteur (BTP, santé, transport, artisans, auto-entrepreneurs) peut en faire un argument fort. C'est la logique que nous suivons avec SoloGestion, notre logiciel de facturation et de gestion pour les auto-entrepreneurs marocains, présenté dans nos réalisations.
Nous construisons et adaptons votre outil
Notre offre de développement SaaS et logiciels couvre l'audit, la refonte du modèle de données, la génération de factures structurées, les connecteurs, l'archivage et la migration. Décrivez-nous votre outil actuel : nous vous proposerons le chemin le plus sûr, adaptation ou reconstruction.
Questions fréquentes
Faut-il reconstruire entièrement un logiciel de facturation ancien ?
Pas toujours. Si la base de données est propre et le code maintenu, on ajoute les briques manquantes. Si les factures sont générées en PDF sans données structurées ou si le code est fragile, reconstruire le module de facturation est souvent plus sûr.
Peut-on développer la connexion à la plateforme DGI dès maintenant ?
On peut préparer l'architecture et isoler le connecteur, mais il faut s'appuyer sur la documentation officielle pour le finaliser. Tout le reste (données, générateur, archivage) peut être fait dès maintenant.
Combien de temps faut-il pour adapter un logiciel de facturation ?
Selon l'état de l'existant et les intégrations, de quelques semaines à quelques mois. Un audit initial permet d'estimer précisément le délai.
Odoo est-il une bonne alternative au sur mesure ?
Oui, si vos processus sont proches des standards et que vous voulez aussi gérer stock, achats et comptabilité. Le sur mesure se justifie quand la facturation est liée à un processus métier spécifique.


