Guides

API de facturation au Maroc : intégrer des factures conformes dans votre application

Votre SaaS, votre CRM ou votre plateforme e-commerce sert des clients marocains, et ils vous réclament des factures conformes. Développer un module de facturation marocaine soi-même est un projet en soi — mentions légales, numérotation, TVA, régimes fiscaux, e-facturation à venir. Voici ce que la loi exige, les options techniques qui existent réellement, et comment une API de facturation dédiée réduit le chantier à un appel HTTP.

Pourquoi la facturation marocaine ne s’improvise pas

Une facture marocaine valable n’est pas un simple PDF avec un total. L’article 145 du Code Général des Impôts impose une liste de mentions précises : ICE et identifiant fiscal de l’émetteur, taxe professionnelle, ICE du client en B2B, TVA ventilée par taux, montant en toutes lettres, numérotation continue et chronologique sans trou. Une facture incomplète est refusable par le client et rejetable en contrôle fiscal.

S’y ajoutent les régimes particuliers : un auto-entrepreneur (loi 114-13) facture hors champ de TVA avec une mention obligatoire ; une entreprise exonérée porte une mention différente ; les taux de TVA ont été resserrés à 20 % et 10 % depuis 2026. Et l’e-facturation obligatoire (modèle de validation préalable) arrive par vagues — chaque facture devra transiter par la plateforme nationale.

Pour un éditeur de logiciel dont la facturation n’est pas le métier, maintenir tout cela à jour à chaque loi de finances est un coût récurrent, pas un développement ponctuel. C’est exactement le genre de brique qu’on délègue.

Les trois options techniques, comparées

Trois voies s’offrent à un intégrateur qui doit produire des factures marocaines depuis son application.

OptionEffort initialConformitéMaintenance
Développer son module (génération PDF maison)Semaines à moisÀ votre charge, à chaque loi de financesPermanente : taux, mentions, e-facturation
Générateur de PDF générique (international)JoursAucune : pas d’ICE, pas de TVA marocaine, pas de numérotation légaleFaible mais le résultat n’est pas une facture conforme
API de facturation marocaine (Fatora)Une heure — un appel HTTPPortée par l’API : mentions 145 CGI, régimes, taux à jourAucune côté intégrateur

Le point souvent oublié : la numérotation. Une séquence FAT-2026-0001, 0002, 0003 sans trou appartient au commerçant, pas à votre application. Une API multi-tenant sérieuse gère une séquence par compte — c’est ce qui rend le document opposable.

Comment fonctionne l’API Fatora

Chaque commerçant Fatora possède une clé API personnelle, obtenue en écrivant « api » à son bot WhatsApp. Votre application stocke cette clé et émet en son nom : la facture sort dans SA numérotation, avec SON cachet, SON logo et SON régime fiscal — que votre code n’a même pas besoin de connaître, l’API l’impose d’elle-même.

Un appel POST /v1/documents avec le client et les lignes suffit : l’API calcule la TVA, génère le PDF, et le remet au choix par WhatsApp, par email ou via un QR code à afficher ou imprimer. La modification se fait en langage libre : votre utilisateur écrit « remplace la formation par 3 jours à 1200 dh » dans un champ texte, l’IA applique la correction sur le même numéro de facture.

La documentation complète, avec des exemples testés en production pour chaque endpoint, est sur la page API du site (menu « API »). Tout est inclus dans l’abonnement du commerçant, dès l’essai gratuit — les devis ne consomment même pas le quota.

Qui a intérêt à intégrer une API de facturation

Les cas d’usage reviennent toujours aux mêmes profils :

  • Éditeurs SaaS et CRM marocains : un bouton « Facturer » dans votre interface, la conformité en plus, sans écrire le module.
  • Plateformes e-commerce et marketplaces : facture automatique à chaque commande, remise au client par email ou QR sur le bon de livraison.
  • Agences web : offrez la facturation conforme à vos clients commerçants sans développer ni maintenir quoi que ce soit.
  • ERP verticaux (transport, BTP, distribution) : vos utilisateurs facturent depuis l’outil métier qu’ils ont déjà.
  • Logiciels de caisse : ticket + QR code de la facture imprimés ensemble — le client scanne et repart avec sa facture.

Et l’e-facturation obligatoire dans tout ça ?

C’est l’argument décisif pour déléguer plutôt que développer. Quand la plateforme nationale de validation préalable activera votre segment de clients, chaque facture devra être transmise dans un format structuré et validée avant d’être opposable. Si votre application génère ses PDF elle-même, ce raccordement sera votre chantier. Si elle passe par une API de facturation, c’est le fournisseur de l’API qui se raccorde — une fois, pour tous ses intégrateurs.

Émettre dès aujourd’hui des documents structurés, complets et correctement numérotés via une API, c’est précisément l’état dans lequel il faut être le jour où la bascule arrive.

Questions fréquentes

Combien coûte l’intégration de l’API Fatora ?

Rien pour l’intégrateur. L’API est incluse dans tous les plans Fatora, dès l’essai gratuit. Chaque commerçant paie son propre abonnement (à partir de 30 DH/mois) et les factures émises par l’API comptent dans son quota ; les devis sont gratuits et illimités.

Mon application doit-elle gérer les taux de TVA et les régimes fiscaux ?

Non. Le régime fiscal du commerçant (normal, auto-entrepreneur, exonéré) est enregistré dans son compte Fatora et s’impose à l’API : un auto-entrepreneur sortira toujours des factures sans TVA avec la mention légale, quoi que votre application envoie. Vous pouvez préciser un taux par ligne si besoin.

Comment le client final reçoit-il sa facture ?

Trois canaux, cumulables : WhatsApp (le PDF arrive dans sa conversation), email (message avec pièce jointe), ou QR code (chaque document expose une image PNG à afficher en caisse ou imprimer — le client scanne et télécharge). Un document perdu se renvoie en un appel.

Est-ce compatible avec un logiciel étranger qui n’a rien de marocain ?

Oui, c’est le cas d’usage type : le logiciel étranger garde sa logique métier et appelle l’API au moment de facturer un client marocain. Toute la conformité locale — mentions, numérotation, TVA, langue du document — est portée par l’API.

Que se passe-t-il si mon utilisateur veut corriger une facture émise ?

Votre application envoie la correction en texte libre à l’endpoint de modification : « le client est en fait STE X, remplace la ligne 2 par… ». L’IA applique le changement sur le même numéro, régénère le PDF et recalcule les totaux. Si l’instruction est ambiguë, l’API répond 422 sans rien modifier.

Ce guide présente le cadre général applicable au Maroc. Il ne remplace pas l’avis de votre expert-comptable ni les textes publiés par la Direction Générale des Impôts, dont les valeurs chiffrées évoluent avec les lois de finances.